使用DNAT的客户端之间混有80端口

时间:2018-11-12 19:18:41

标签: routing virtualization nat netfilter dmz

我正在尝试建立这样的网络:

Network map

...但是我面临一个问题。

这是重点:

如果我尝试从外部访问(例如) mywebsite1.com ,它就像一个魅力,并且向我展示了一个很棒的网站,但是每当我尝试运行(例如) apt -从Virtual Server 2内部获取更新时,会引发错误,例如“ 无法连接到xxx-whatever-website.com端口80:连接被拒绝”。

如果我删除了主服务器防火墙上的预路由规则,问题就解决了,但是,当然,我不能再从外部连接到 mywebsite1.com 。如果我将虚拟服务器的默认网关更改为192.168.1.1,也会遇到同样的情况。

我天真地尝试在主服务器上添加一条静态路由(类似于ip route通过192.168.1.32添加192.168.1.1),但是,它当然没有用。我应该尝试以某种方式标记数据包以便识别源客户端吗?

1 个答案:

答案 0 :(得分:0)

由于我在DNAT规则中省略了原始目标目标,因此它命中了所有原始目标目标。因此,我需要向其中添加-d 192.168.1.30

-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80

现在可以了。