常用命令:
备份:iptables-save > /etc/iptables/iptables
重启不丢失:iptables-save > /etc/sysconfig/iptables
恢复:iptables-restore < /etc/iptables/iptables
-- 创建链
iptables -N WHITELIST_LX
-- 清空链
iptables -F WHITELIST_LX
-- 删除链
iptables -t filter -X
-- 查看规则,编号
iptables -nL --line-number
-- 查看生效列表
iptables -L -v -n
-- 删除规则
iptables -D INPUT <number> 注意观察编号
注:firewalld关闭也生效
普通应用:
- 拒绝其它服务访问本机的 8300 端口,配个基本的
入站规则iptables -A INPUT -p tcp -m multiport --dport 8300 -j DROP
常用场景:自己本服务集群的集群可以访问,其它IP拒绝访问
- 允许 192.168.2.207-192.168.2.210 范围的IP 访问,其余IP拒绝
iptables -A INPUT -p tcp -m multiport --dport 8300 -m iprange --src-range 192.168.2.207-192.168.2.210 -j ACCEPTiptables -A INPUT -p tcp -m multiport --dport 8300 -j DROP
三台机器:192.168.2.207、192.168.2.208 ;本机 192.168.2.133

192.168.2.207 可以访问

本地访问不了

docker 场景配置:
- docker 启动会自动维护规则链,情况规则链,重启docker服务后,会自动创建。
启动一个容器,挂了 8400 -> 8300

添加规则
- 发现并不生效 😄
iptables -A INPUT -p tcp -m multiport --dport 8400 -m iprange --src-range 192.168.2.207-192.168.2.210 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 8400 -j DROP

本机依然可以访问
注:对应docker 容器运行时,添加 iptables规则,需要带上映射端口
添加一个新的链,白名单
iptables -N WHITELIST_LX
- 引用:
iptables -I INPUT -j WHITELIST_LXiptables -I FORWARD -j WHITELIST_LX
iptables -I WHITELIST_LX -p tcp -m multiport --dport 8400,8300 -m iprange --src-range 192.168.2.207-192.168.2.210 -j ACCEPTiptables -A WHITELIST_LX -p tcp -m multiport --dport 8400,8300 -j DROP

本文详细介绍了iptables命令在Linux防火墙中的使用,包括创建链、清空链、查看规则、添加规则以控制不同IP对特定端口的访问,以及在Docker场景中规则的维护和应用。还讨论了如何创建白名单链来限制特定IP范围的访问。

3437





