显示规则
代码语言:javascript复制iptables -L
iptables -t nat -L # 显示转发规则
设置端口白名单
代码语言:javascript复制# 允许22,80,443 端口访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许内网
iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
# 允许容器网段
iptables -A INPUT -s 172.17.0.0/24 -j ACCEPT
# OUTPUT默认为允许所有
iptables -P OUTPUT ACCEPT
# INPUT默认为丢弃
iptables -P INPUT DROP
阻止一个端口访问
代码语言:javascript复制iptables -A INPUT -p tcp --dport 4003 -j DROP
# 阻止容器的转发,添加规则到FORWARD表中
iptables -I FORWARD -p tcp --dport 8000 -j DROP
允许一个ip/mac访问
代码语言:javascript复制# 端口 ip白名单
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
# IP白名单
iptables -A INPUT -s 172.17.0.0/24 -j ACCEPT
# mac白名单
iptables -I INPUT 1 -p tcp --destination-port 4003 -m mac --mac-source 52:54:ff:00:03:03 -j ACCEPT
删除规则
代码语言:javascript复制iptables -D INPUT -p tcp --dport 4003 -j DROP
# del nat
iptables -t nat -D POSTROUTING 8
修改规则
代码语言:javascript复制iptables -R DOCKER 5 -p tcp -s 127.0.0.1 --destination 172.17.0.6 --dport 27017 -j ACCEPT
端口转发(直连虚拟机)
代码语言:javascript复制iptables -A INPUT -p tcp --dport 8022 -j ACCEPT
iptables -A INPUT -p udp --dport 8022 -j ACCEPT
iptables -t nat -I PREROUTING -d 10.67.54.227 -p tcp -m tcp --dport 8022 -j DNAT --to-destination 192.168.122.75:22
## iptables -t nat -I POSTROUTING -d 192.168.122.75 -p tcp --dport 22 -j SNAT --to 10.67.54.227
iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT