1
XiaoxiaoPu 2016-11-09 13:05:41 +08:00
https://onebitbug.me/2014/06/01/building-a-gateway-iptables/ 同网段内网无法访问 DNAT 端口
|
2
mjikop1231 OP 然而局域网下 DMZ 划分了,不同 DMZ 划分区之间不能直接访问,可以被认作是多个内网吧?但只要是 10.0.0.0/8 下的主机都无法使用外网 IP 访问啊。
@XiaoxiaoPu |
3
XiaoxiaoPu 2016-11-09 14:02:18 +08:00
@mjikop1231 其实关键不是是不是一个内网,而是返回的包没用经过网关转发,参考下面的分析:
假设你的公网 IP 是 1.1.1.1 ,网关的三个网络接口分别为 wan0, lan0, lan1 。服务器所在的 DMZ 为 10.12.0.0/16 ,接到网关的 lan0 上,另有一个主机为 10.16.0.1/16 ,接到网关的 lan1 上 1. 从 10.16.0.1:12345 发起请求,四元组为 (10.16.0.1, 12345, 1.1.1.1:80),从 wan0 进入网关 2. 网关机器收到该请求,进行了 DNAT ,四元组变为 (10.16.0.1, 12345, 10.12.17.201, 80),从 lan0 发送给 服务器 3. 10.12.17.201 收到了这个请求,四元组为 (10.16.0.1, 12345, 10.12.17.201, 80) 4. 10.12.17.201 进行回复时,回复的包四元组为 (10.12.17.201, 80, 10.16.0.1, 12345),从 lan0 发送给网关 5. 网关上配置了 10.16.0.0/16 走 lan1 ,因此这个包会通过 lan1 发送给 10.16.0.1 发送的链路为 lan1-wan0-lan0 ,其中在 wan0-lan0 上进行了 DNAT ,回来的链路却是 lan0-lan1 ,而不是 lan0-wan0-lan1 ,自然就失败了 |
4
mjikop1231 OP @XiaoxiaoPu 但我并没有操作网关的权限,所以有没有什么方法可以用在服务器和客户机上使得可以访问的?
|
5
XiaoxiaoPu 2016-11-09 14:56:34 +08:00
@mjikop1231 想不到什么办法,毕竟问题出在网关那里,把问题反馈给网管处理吧。
|