使用 docker 时的 iptables 规则设置求助

2017-05-16 18:18:14 +08:00
 xi_lin

在一个 CentOS 6.5 的机器上使用 docker,默认已设置了一定的 iptables 规则。

启动容器时用-p 9123:3000 指定了端口映射。

目前在 iptables 启用的状态下不论是从外网机器还是 host 本机上,都无法从 9123 端口拿到数据。如果执行sudo service iptables stop后,则可以正常获得数据。

不知道应该怎么设置 iptables 才能访问 9123 端口?

使用如下命令查看 iptables 规则

sudo service iptables status

输出结果是

Table: filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     41   --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     all  --  127.0.0.1            127.0.0.1
4    ACCEPT     all  --  127.0.0.1            127.0.0.1
5    ACCEPT     all  --  127.0.0.1            127.0.0.1
6    ACCEPT     all  --  127.0.0.1            127.0.0.1
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
21   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9123
22   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3000

Chain FORWARD (policy DROP)
num  target     prot opt source               destination

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     41   --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     all  --  127.0.0.1            127.0.0.1
4    ACCEPT     all  --  127.0.0.1            127.0.0.1
5    ACCEPT     all  --  127.0.0.1            127.0.0.1
6    ACCEPT     all  --  127.0.0.1            127.0.0.1
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9123
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3000

Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    MASQUERADE  all  --  192.168.42.0/24      0.0.0.0/0
2    MASQUERADE  tcp  --  192.168.42.3         192.168.42.3        tcp dpt:3000

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
1    DOCKER     all  --  0.0.0.0/0           !127.0.0.0/8         ADDRTYPE match dst-type LOCAL

Chain DOCKER (2 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9123 to:192.168.42.3:3000
2504 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/361755

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX