当前位置: 首页 > article >正文

防火墙iptables

1.iptables和firewalld的区别?

2者都是防火墙,都是属于包过滤防火墙。

  • iptables 主要是基于接口,来设置规则,从而判断网络的安全性。firewalld 是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全,与硬件防火墙的设置相类似。
  • iptables 防火墙类型为静态防火墙。firewalld 防火墙类型为动态防火墙。

2.iptables使用场景

iptables的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者经该设备转发、路由时,都可以使用iptables进行控制。

3.iptables中的“四表五链”及“堵通策略”

A.“四表”是指,iptables的功能——filter, nat, mangle, raw.

filter, 控制数据包是否允许进出及转发(INPUT、OUTPUT、FORWARD),可以控制的链路有input, forward, output

nat, 控制数据包中地址转换,可以控制的链路有prerouting, input, output, postrouting

mangle,修改数据包中的原数据,可以控制的链路有prerouting, input, forward, output, postrouting

raw,控制nat表中连接追踪机制的启用状况,可以控制的链路有prerouting, output

注:在centos7中,还有security表,不过这里不作介绍

B.“五链”是指内核中控制网络的NetFilter定义的五个规则链,分别为

PREROUTING, 路由前

INPUT, 数据包流入口

FORWARD, 转发管卡

OUTPUT, 数据包出口

POSTROUTING, 路由后

C.堵通策略是指对数据包所做的操作,一般有两种操作——“通(ACCEPT)”、“堵(DROP)”,还有一种操作很常见REJECT.

谈谈REJECT和DROP之间的区别,Ming写了一封信,向Rose示爱。Rose如果不愿意接受,她可以不回应Ming,这个时候Ming不确定Rose是否接到了信;Rose也可以同样写一封信,在信中明确地拒绝Ming。前一种操作就如同执行了DROP操作,而后一种操作就如同REJECT操作。

4.iptables安装

rpm -qa | grep firewalld    //安装之前检查有没有firewalld
systemctl stop firewalld    // 停止firewalld服务
service iptables status    // 检查是否安装了iptables
yum install -y iptables    // 安装iptables
yum update iptables        // 升级iptables
yum install iptables-services    //安装iptables-service

5.iptables使用

systemctl enable iptables.service    // 设置防火墙开机启动
systemctl start iptables    // 启动防火墙
systemctl stop iptables    // 关闭防火墙,关闭时才运行此命令
systemctl restart iptables    // 重启防火墙,重启时才运行此命令
vim /etc/sysconfig/iptables    // 查看防火墙编辑,最好是通过下面的语句来运行:
iptables-restore /etc/sysconfig/iptables //防火墙生效

6.demo

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A PREROUTING -p tcp -m tcp --dport 8638 -j DNAT --to-destination ip:8638
-A PREROUTING -p tcp -m tcp --dport 8639 -j DNAT --to-destination ip:8639
-A PREROUTING -p tcp -m tcp --dport 8640 -j DNAT --to-destination ip:8640
-A POSTROUTING -d ip/32 -p tcp -j MASQUERADE


COMMIT
*filter
:INPUT ACCEPT [20:161821]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [615:655925]
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT

http://www.kler.cn/a/11901.html

相关文章:

  • request爬虫库的小坑
  • java导出pdf
  • 【真题笔记】21年系统架构设计师案例理论点总结
  • 第三十六章 Vue之路由重定向/404页面设置/路径模式设置
  • 设计模式-七个基本原则之一-迪米特法则 + 案例
  • Python标准库模块的使用:math、datetime
  • JavaSE学习进阶day03_01 多态
  • MATLAB算法实战应用案例精讲-【深度学习】多尺度特征融合-图像识别(论文篇三)
  • Linux-重启相关日志
  • ChatGPT 被大面积封号,到底发生什么了?
  • 每周一算法:高精度乘法(二)大整数乘大整数
  • UWB成为智慧工厂时代的代表技术
  • 【Linux进阶篇】系统监控命令
  • 什么是Android FrameWork,请你介绍一下?
  • ChatGPT研究报告:AIGC带来新一轮范式转移
  • STM32 库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别
  • Kettle(9.3.0)连接ClickHouse
  • Android有官方的GPS定位API,为什么还要使用百度/高德定位SDK ?
  • 训练自己的ai模型(三)学习笔记与项目实操(一些概念理解杂谈)
  • 手游平台源码有什么用处?
  • 套利策略样本外跟踪
  • 网络原理之初识
  • 【c/c++编译工具】——Cmake的学习
  • Jetpack Compose之对话框和进度条
  • JavaScript 进阶 - 0基础第一天
  • Elasticsearch使用篇 - 管道聚合