我在一台服务器上有以下规则。有一个单独的链称为DOCKER
iptables -L
Chain DOCKER (2 references)
ACCEPT tcp -- anywhere 112.13.0.4 tcp dpt:https
ACCEPT tcp -- anywhere 112.13.0.4 tcp dpt:http
ACCEPT tcp -- anywhere 112.13.0.4 tcp dpt:ssh
我需要在另一台服务器上添加完全相同的规则。基本上,我试图将端口80、443和22暴露给Intranet,但我不知道该怎么做。我尝试查看iptables文档,但似乎没有一件简单的事情。我的问题是如何在不干扰现有规则的情况下将上述规则添加到iptables中?
答案 0 :(得分:0)
如果您尝试公开端口,您所需要做的就是在docker run或docker service create上提供-p指令。 Docker将管理到主机的端口映射,而Userland代理将相应地过滤流量。如果在另一侧没有监听,则防火墙规则不会执行任何操作。
docker run d --name tutum -p 80:80 tutum/hello-world
$:~ user$ docker run -d -p 80:80 --name tutum tutum/hello-world
Unable to find image 'tutum/hello-world:latest' locally
latest: Pulling from tutum/hello-world
658bc4dc7069: Pull complete
a3ed95caeb02: Pull complete
af3cc4b92fa1: Pull complete
d0034177ece9: Pull complete
983d35417974: Pull complete
Digest: sha256:0d57def8055178aafb4c7669cbc25ec17f0acdab97cc587f30150802da8f8d85
Status: Downloaded newer image for tutum/hello-world:latest
2673c45c70f9ac153236ddb4fbeb4d54e7953742dea60c3f8e3c1e7d718d68e0
$:~ user$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2673c45c70f9 tutum/hello-world "/bin/sh -c 'php-fpm…" 4 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp tutum
这时,主机将在端口80上侦听。所有您需要做的就是管理流量如何到达主机。