我有一台笔记本和两台服务器:
- ip = 172.17.0.2(我这里安装了nginx)
- ip = 172.17.0.3(这里什么都没有,但我可以从这里 ping 172.17.0.2)
我在笔记本上打开浏览器,打开
http://172.17.0.2
并从 Nginx 获取网页。
现在我想做点什么,如果我能打开
http://172.17.0.3
在浏览器中,该服务器将我的请求转发到 172.17.0.2 并返回相同的页面。
我已经连接到 172.17.0.3 并做出以下更改:
root@6d2de436eef0:/# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
root@6d2de436eef0:/# iptables -t nat -F PREROUTING
root@6d2de436eef0:/# iptables -t nat -A PREROUTING -d 172.17.0.3 -j DNAT --to-destination 172.17.0.2
root@6d2de436eef0:/# iptables -F FORWARD
root@6d2de436eef0:/# iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
root@6d2de436eef0:/# iptables -A FORWARD -m conntrack --ctstate NEW -d 172.17.0.2 -j ACCEPT
root@6d2de436eef0:/# iptables -P FORWARD DROP
现在我打开
http://172.17.0.3,
但什么也没得到。为什么?我该如何解决?
更新
以下是 172.17.0.3 上的 tcpdump 的结果 -http://pastebin.com/47MRWqXy
更新 2
抱歉,我给您的信息不完整。服务器 172.17.0.3 和 172.17.0.2 都是 docker 容器。这是主机上的 ifconfig:
$ ifconfig
docker0 Link encap:Ethernet HWaddr fe:69:ac:53:70:53
inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::f0ee:53ff:feae:aa6c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:162525 errors:0 dropped:0 overruns:0 frame:0
TX packets:278054 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10471915 (10.4 MB) TX bytes:436185034 (436.1 MB)
eth0 Link encap:Ethernet HWaddr f0:de:f1:27:7a:e6
inet addr:172.20.0.136 Bcast:172.20.0.255 Mask:255.255.255.0
inet6 addr: fe80::f2de:f1ff:fe27:7ae6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16023892 errors:0 dropped:0 overruns:0 frame:0
TX packets:4007904 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8557520703 (8.5 GB) TX bytes:484890281 (484.8 MB)
Interrupt:20 Память:f8500000-f8520000
eth1 Link encap:Ethernet HWaddr 82:ea:96:9d:48:88
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)