【记录】防火墙iptables
文章目录
明天也是小春日暖 ——津端修一 , 津端英子
一、对比RHEL6 iptables 和 RHEL7 firewalld
RHEL6 | iptables | 将防火墙策略交由内核的netfilter网络过滤器处理 |
---|---|---|
RHEL7 | firewalld | 将防火墙策略交由内核的nftables包过滤框架来处理 |
二、防火墙过滤规则
(1)规则:
iptables服务把用于处理或过滤流量的策略条目称为规则(通俗的说,规则就是规定哪些数据包可以进出计算机,哪些数据包不可以)
防火墙按会从上至下的顺序来读取配置的策略规则,即匹配的规则是从上到下的,
因此,要求把较为严格的,优先级较高的策略规则放到前面
(2)规则链分类(分类标准:数据包处理位置)
1 在进行路由选择前处理数据包 (PREROUNTING)
2 处理流入的数据包(INPUT)从互联网流入计算机
3 处理流出的数据包 (OUTPUT)
4 处理转发的数据包 (FORWADR)
5 在进行路由选择前处理数据包 (POSTROUNTING)
(3)动作(即符合规则后应对这个数据包采取什么样的行动)
1 ACCEPT 允许流量通过
2 LOG 记录日志信息
3 REJECT 拒绝流量通过(拒绝流量后,在回发送方一句“你被我拒绝了”)
4 DROP 拒绝流量通过(直接将流量丢掉而不响应)
三 、iptabls命令中常用的参数及作用
第一类:增删查 规则链
-I num | 在规则链头部插入规则(insert) |
---|---|
-A | 在规则链尾部插入规则(append) |
-F | 清空规则链 |
-D num | 删除一条规则 |
-L | 列出规则链 |
-P | 设置默认规则 |
第二类:匹配条件
通过什么协议(-p),管理哪些IP(-s)的主机通过哪些端口(–sport)抵达本机的哪些IP(-d)地址和端口(–dport)
-s | 匹配数据包来源的IP地址(IP/MASK),加上!表示除了这个IP地址以外 |
---|---|
-d | 匹配目标IP地址(destination) |
–sport num | 匹配来源端口号 |
–dport | 匹配目标端口号 |
-p | 匹配协议 TCP UDP ICMP等(protocal) |
-i 网卡名称 | 匹配从这块网卡流入的数据包(input) |
-o 网卡名称 | 匹配从这块网卡流出的数据包(output) |
四 、配置防火墙的栗子
1 查看、清空防火墙规则,设置防火墙默认规则
#查看防火墙规则
iptables -L
#清空防火墙规则
iptables -F
#设置防火墙默认规则(这里设置INPUT链默认为ACCEPT)或者DROP
iptables -P INPUT ACCEPT
2 添加具体的防火墙规则
语法 : iptables 增删改查规则链 匹配条件 动作
对哪个规则链 在符合什么条件后 怎么处理数据包
(1)向INPUT 链中添加允许ICMP 流量进入的策略规则
iptabels -I INPUT -p icmp -j ACCEPT
#增加 规则链 匹配条件 动作
(2)j将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:
iptables -I INPUT -s 192.168.43.125 --dport 22 -p ssh -j ACCEPT
iptables -I INPUT --dport 22 -p ssh -j DROP
注意:一定要将允许192.168.43.125 流量进入的规则写在拒绝规则前面,否则,所有流量都不能通过ssh 进入主机了。
(3)向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则
iptables -A INPUT -p tcp --dprot 1000:1024 -j REJECT
iptables -A INPUT -p udp --dprot 1000:1024 -j REJECT
(4)设置INPUT 规则链默认策略为 ACCEPT
iptables -P INPUT ACCEPT
3 删除防火墙规则
删除INPUT链中刚插入的规则链
iptables -D INPUT 1
4 保存防火墙规则
使用 iptables 命令配置的防火墙规则默认会在系统下一次重启的时失效,
如果想让配置的防火墙策略永久生效,需要执行保存命令
service iptables save