CentOS8 iptables 防火墙配置

iptables 防火墙简介

  1. 在操作系统中防火墙在内网和外网中充当保护的屏障,防火墙有软件防火墙和硬件防火墙之分。
  2. 在Linux系统中有多种防火墙管理工具,例如:iptables、firewall-cmd、 firewall-configTCP-Wrapper防火墙管理工具。这些都只是定义防火墙策略的防火墙管理工具。iptables服务将配置好的防火墙策略交由内核中的netfilter网络过滤器处理。firewalld配置好的防火墙策略交由内核中的nftables包过滤框架来处理。
  3. 防火墙策略可以基于流量的原目的地址、端口号、协议、应用等信息来定制。

iptables匹配规则

  1. 防火墙从上至下顺序读取配置的策略规则,在找到匹配项之后立即结束匹配工作并执行匹配项中定义的行为。
  2. iptables中用于处理或过滤流量的策略条目称之为规则。多条规则组成一个规则链。
  3. 基于以上原因,应当把规则按重要性的顺序配置,同时把允许动作放到拒绝动作之前。
  4. 如果防火墙默认策略是"放行(阻止)",则设置规则为“阻止(放行)”

规则链依据数据包处理位置的不同分类

类型含义
PREROUTING在进行路由选择之前处理数据包
INPUT处理流入的数据包
OUTPUT处理流出的数据包
FORWARD处理转发的数据包
POSTROUTING在进行路由选择后处理数据包

一般从内网向外网发送的流量一般都是可控且良性的,所以使用最多的就是配置 INPUT 规则链

针对策略规则类型采取不同动作

类型含义
ACCEPT允许流量通过
REJECT拒绝流量通过
LOG记录日志信息
DROP拒绝流量通过

REJUECT和DROP的区别:

  • REJECT在拒绝流量后再回复一条“您的信息已收到,但是被扔掉了”
  • DROP直接将流量丢弃且不响应。
  • 规则链默认拒绝动作只能是DROP,而不能是REJECT。个人猜测:当黑客想要探明是否某个主机是否在线时,如果使用REJECT则即使信息被拒绝了,也能知道主机是在线的。但是如果使用DROP则,无法探出是真的不存在该主机还是该主机将信息DROP了没有回应。

iptables常用命令参数

参数作用
-P设置默认策略
-F清空规则链
-L查看规则链
-A在规则链末尾加入新规则
-I num在规则链头部加入新规则
-D num删除某一条规则
-s匹配来源地址IP/MASK,加"!"表示除这个IP外
-d匹配目标地址
-i 网卡名称匹配从这块网卡流入的数据
-o 网卡名称匹配从这块网卡流出的数据
-p匹配协议,如TCP、UDP、ICMP
–dport num匹配目标端口号
–sport num匹配来源端口号

iptables 实践

将INPUT默认策略改为DROP

[root@MyCentOS ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
[root@MyCentOS ~]# iptables -P  INPUT DROP
[root@MyCentOS ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

向某种类型中添加允许某种协议进入

[root@MyCentOS ~]# iptables -I INPUT -p icmp -j ACCEPT
[root@MyCentOS ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

第一条命令中的含义是

  • -I INPUT在INPUT头部添加一条规则
  • -p icmp匹配ICMP协议
  • -j ACCEPT 跳转执行ACCEPT操作,因为INPUT的默认操作时DROP

删除某条规则

[root@MyCentOS ~]# iptables -D INPUT 1
[root@MyCentOS ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

设置指定网段的主机访问本机某端口,拒绝其他所有主机的流量

[root@MyCentOS ~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@MyCentOS ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT
[root@MyCentOS ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.10.0/24      anywhere             tcp dpt:ssh
REJECT     tcp  --  anywhere             anywhere             tcp dpt:ssh reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
  • 上述第一条命令含义是:
  1. -I INPUT 在INPUT规则链中头部添加规则
  2. -s 192.168.10.0/24 匹配192.168.10.0-192.168.10.24中的所有主机IP地址
  3. -p tcp 匹配tcp协议
  4. --dport 22 匹配访问本机端口号为22的流量
  5. -j ACCEPT 跳转至执行ACCEPT操作
  • 上述第二条命令含义是:
  1. -A INPUT 在INPUT规则链末尾添加规则
  2. -p tcp匹配tcp协议
  3. --dport 22 匹配访问本机端口号为22的流量
  4. -j REJECT 跳转至执行REJECT操作

根据上述iptables匹配规则中所说,需要把匹配规则中允许规则放置在拒绝规则之前。

保存iptables 配置设置

iptables的防火墙设置感觉还行,再多的实践就不再写了。但是配置的防火墙策略默认会在系统下一次重启时生效,永久生效还要执行保存命令

 [root@MyCentOS ~]# service iptables save
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值