1

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

网络图

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

重点是:

如果我尝试从外部访问(例如)mywebsite1.com,它就像一个魅力,它显示了我的精彩网站,但是每当我尝试从虚拟服务器 2 内部运行(例如)apt-get update时,它​​都会抛出类似“失败”的错误连接到 xxx-whatever-website.com 端口 80:连接被拒绝”。

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

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

4

1 回答 1

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

现在它起作用了。

于 2018-11-14T18:19:28.610 回答