关于防火墙的题:https://mp.weixin.qq.com/s/ePsDxlv7EGZr5KqOfarzOg
1. iptables 执行过程
1. 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
2. 匹配 表示 阻止还是通过,数据包就不再向下匹配新的规则 。
3. 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明
确的阻止还是通过。
4. 防火墙的默认规则是所有规则执行完才执行的。
2. 表与链
4表5链
4表:主要介绍filter表,nat表
- filter表 (默认,防火墙功能 允许 拒绝)
- nat表 (内网服务器上外网-共享上网)(端口映射)
- mangle表
- raw表
filter表包含的链
nat表包含的链
4表五链流程
iptables 命令管理及相关文件
[root@m01 ~]# yum install -y iptables-services
[root@m01 ~]# rpm -ql iptables
/usr/sbin/iptables #iptables管理命令
[root@m01 ~]# rpm -ql iptables-services
/etc/sysconfig/ip6tables
/etc/sysconfig/iptables #防火墙的配置文件
/usr/lib/systemd/system/ip6tables.service
/usr/lib/systemd/system/iptables.service #防火墙服务配置文件(命令)
#防火墙相关模块 加载到内核中
#加载防火墙的内核模块
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
iptables命令参数
1.禁止访问22端口
iptables -t filter -A INTUP -p tcp --dport 22 -j DROP
2. 删除 规则 -D
iptables -nL --line-numbers #查看行号 iptables -D INPUT 1 #删除input链中的第一行
3. 禁止网段连入(禁止10.0.0.0网段访问 8080端口)
iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 8080 -j DROP
只允许指定网段连入(允许10.0.0.0网段)
iptables -I input ! -s 10.0.0.0/24 -j DROP
指定多个端口
只允许 80,443 端口的访问 iptables -I INPUT -p tcp -m multiport ! 80,443 -j DROP 禁止 1024-65535 端口访问 iptables -I INPUT -p tcp --dport 1024:65535 -j DROP
4. 限制并发及速率
iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT iptables -I INPUT -p icmp --icmp-type 8 -m limit --limit 6/min --limit-burst 5 -j ACCEPT
-m limit --limit n/{second/minute/hour}
指定时间内的请求速率”n”为速率,后面为时间分别为:秒 分 时
--limit-burst [n]
在同一时间内允许通过的请求”n”为数字,不指定默认为55. iptables save 保存
iptables-save > /etc/sysconfig/iptables
保存在/etc/sysconfig/iptables中效果和service iptables save命令一样。
如果保存在其他路径,重启后可以使用 iptables-restore命令恢复防火墙规则。
iptables-restore < path(path为保存的路径)