Firewall

使用 DNAT 的客戶端之間的埠 80 混在一起

  • November 13, 2018

我正在嘗試建立這樣的網路:

網路圖

…但我面臨一個問題。

重點是:

如果我嘗試從外部訪問(例如)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),但當然它沒有用。我是否應該嘗試以某種方式標記數據包,以便辨識源客戶端?


物理伺服器 (192.168.1.30) 防火牆配置

注意:所有鏈都將 ACCEPT 作為預設策略

*nat
-A POSTROUTING -s 192.168.1.0/24 -o vmbr0 -j MASQUERADE
-A PREROUTING -p tcp -m tcp -i vmbr0 --dport 80 -j DNAT --to-destination 192.168.1.32:80

您的問題是您的 dnat 規則上沒有目標地址過濾器,您需要在規則中添加“-d 192.168.1.30”。

引用自:https://serverfault.com/questions/939869