iptables之四表五链
ps: iptables只是Linux防火墙的管理工具而已。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。
四表五链概念:
- filter表——过滤数据包
- Nat表——用于网络地址转换(IP、端口)
- Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOS
- Raw表——决定数据包是否被状态跟踪机制处理
- INPUT链——进来的数据包应用此规则链中的策略
- OUTPUT链——外出的数据包应用此规则链中的策略
- FORWARD链——转发数据包时应用此规则链中的策略
- PREROUTING链——对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)
- POSTROUTING链——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)
下图为精简后的数据流向:

iptables规则添加,示例:
# 允许访问22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT
注:-s后可以跟IP段或指定IP地址
iptables -I INPUT -p tcp --dport 45000:45010 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp -s 192.168.11.0/24 -j ACCEPT允许该网段的所有端口
iptables -L INPUT -n --line-number 查看INPUT链规则,并显示行号。
iptables -D INPUT 1 删除INPUIT链第一行规则
#屏蔽单个IP的命令是 iptables -I INPUT -s 123.45.6.7 -j DROP
docker的iptables
删除docker的nat iptables -t nat -D DOCKER ! -i docker0 -p tcp -m tcp --dport 33609 -j DNAT --to-destination 172.17.0.2:3306
iptables -t nat -A DOCKER ! -i docker0 -s 192.168.11.201 -p tcp -m tcp --dport 33609 -j DNAT --to-destination 172.17.0.2:3306
创建链 iptables -t nat -N DOCKER
删除链 iptables -t nat -X DOCKER
在链中加入规则iptables -t nat -A DOCKER -p tcp -m tcp --dport 1194 -j DNAT --to-destination 172.17.0.2:1194
删除nat表的DOCKER链的第一条规则 iptables -t nat -D DOCKER 1
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐



所有评论(0)