美文网首页
iptables常用操作

iptables常用操作

作者: 安安爸Chris | 来源:发表于2019-05-14 16:33 被阅读0次

iptables命令Usages可以直接通过-h查看


Usage Options

查看

最简单的命令就是iptables -L


iptables -L

如果想更多详细信息可以使用如下命令
iptables -nL -v --line-numbers


iptables -nL -v --line-numbers

如果需要查询指定的table,需要使用-t(默认是filter表)
如查询nat表中的规则
iptables -t nat -nL -v --line-numbers

添加

使用-A添加规则
iptables -A DOCKER -t nat -p udp -m udp ! -i docker0 --dport 60535:65535 -j DNAT --to-destination 172.17.0.2:60535-65535
添加一个名字叫DOCKER的chain,在表nat中,映射的protocol为udp,-m表示扩展匹配:
!表示取非:非docker0入口的包,60535:65535端口,映射到172.17.0.2:60535-65535

举例:
Freeswitch-container的docker需要配置iptables,如下

CIP=$(sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' $CID)

sudo iptables -A DOCKER -t nat -p udp -m udp ! -i docker0 --dport 60535:65535 -j DNAT --to-destination $CIP:60535-65535
sudo iptables -A DOCKER -p udp -m udp -d $CIP/32 ! -i docker0 -o docker0 --dport 60535:65535 -j ACCEPT
sudo iptables -A POSTROUTING -t nat -p udp -m udp -s $CIP/32 -d $CIP/32 --dport 60535:65535 -j MASQUERADE

添加完成后,效果如下:


net表 filter表

删除

查看chain的时候把--line-numbers参数带上,删除的时候指定好表(默认filter不需要),指定好Chain的名字,指定好number就可以了。
如上filter表里的DOCKER,删除命令如下
iptables -D DOCKER 1

相关文章

网友评论

      本文标题:iptables常用操作

      本文链接:https://www.haomeiwen.com/subject/ahusaqtx.html