关于DMZ后的内网IP无法访问动态域名大致推理
发表于 : 2007-01-14 0:57
假设eexpree.3322.org 外网IP:2.2.2.2 内网IP:192.168.1.1 DMZ主机:192.168.1.2
1:从外网(1.1.1.1)访问 eexpree.3322.org
请求,并等待eexpree.3322.org的回应
1.1.1.1 --> eexpree.3322.org --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(1.1.1.1/2.2.2.2)----------- IP(1.1.1.1/192.168.1.2)
客户端回应
192.168.1.2 --> eexpree.3322.org --> SNAT(eexpree.3322.org) --> 1.1.1.1
---IP(192.168.1.2/1.1.1.1)-------------IP(2.2.2.2/1.1.1.1)
外网将接受到正确的IP包,正常显示。
-----------------------------------
2:从内网(192.168.1.3)访问 eexpree.3322.org
内网请求,并等待eexpree.3322.org的回应
192.168.1.3 --> eexpree.3322.org --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(192.168.1.3/2.2.2.2)------IP(192.168.1.3/192.168.1.2)
客户端回应
192.168.1.2 -> 192.168.1.3
--IP(192.168.1.2/192.168.1.3)
由于处于同一网段内,直接交换数据,而192.168.1.3一直等待来自2.2.2.2的回应,无法接收到正确的IP包,最后超时断开连接。
-----------------------------------
解决办法,修改防火墙规则:
内网请求
192.168.1.3 --> eexpree.3322.org --> SNAT(2.2.2.2) --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(192.168.1.3/2.2.2.2)-----------IP(2.2.2.2/192.168.1.2)
客户端回应
192.168.1.2 --> 2.2.2.2 --> DNAT(192.168.1.3) --> 192.168.1.3
---IP(192.168.1.2/2.2.2.2)-----IP(2.2.2.2/192.168.1.3)
客户端将正常接收到来源eexpree.3322.org的包。
另外一种简单处理方法
直接在内网的DNS上或者在内网电脑的 /etc/hosts 修改 eexpree.3322.org -> 192.168.1.2 即可。
1:从外网(1.1.1.1)访问 eexpree.3322.org
请求,并等待eexpree.3322.org的回应
1.1.1.1 --> eexpree.3322.org --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(1.1.1.1/2.2.2.2)----------- IP(1.1.1.1/192.168.1.2)
客户端回应
192.168.1.2 --> eexpree.3322.org --> SNAT(eexpree.3322.org) --> 1.1.1.1
---IP(192.168.1.2/1.1.1.1)-------------IP(2.2.2.2/1.1.1.1)
外网将接受到正确的IP包,正常显示。
-----------------------------------
2:从内网(192.168.1.3)访问 eexpree.3322.org
内网请求,并等待eexpree.3322.org的回应
192.168.1.3 --> eexpree.3322.org --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(192.168.1.3/2.2.2.2)------IP(192.168.1.3/192.168.1.2)
客户端回应
192.168.1.2 -> 192.168.1.3
--IP(192.168.1.2/192.168.1.3)
由于处于同一网段内,直接交换数据,而192.168.1.3一直等待来自2.2.2.2的回应,无法接收到正确的IP包,最后超时断开连接。
-----------------------------------
解决办法,修改防火墙规则:
内网请求
192.168.1.3 --> eexpree.3322.org --> SNAT(2.2.2.2) --> DNAT(192.168.1.2) --> 192.168.1.2
---IP(192.168.1.3/2.2.2.2)-----------IP(2.2.2.2/192.168.1.2)
客户端回应
192.168.1.2 --> 2.2.2.2 --> DNAT(192.168.1.3) --> 192.168.1.3
---IP(192.168.1.2/2.2.2.2)-----IP(2.2.2.2/192.168.1.3)
客户端将正常接收到来源eexpree.3322.org的包。
另外一种简单处理方法
直接在内网的DNS上或者在内网电脑的 /etc/hosts 修改 eexpree.3322.org -> 192.168.1.2 即可。