Networking
在由路由器/防火牆連接的不同 VLAN 上的子網之間路由
我有兩個網路,我想用路由器/防火牆連接以過濾兩者之間的流量。假設一個網路位於公共子網上,
64.22.12.192/27
而另一個網路位於私有子網上192.168.0.0/24
。它們通過具有三個乙太網埠的路由器連接,一個連接到網際網路,另外兩個連接到公共子網和私有子網,並且位於它們自己的 VLAN 上。如何使私有子網對公共網路可見?網路圖如下:
- Router1 >eth0 — 連接到 Internet
- Router1 >eth1 — 64.22.12.193/27 連接到 VLAN 64 子網 64.22.12.193/27
- Router1 >eth3 — 192.168.0.1/24 連接到 VLAN 192 子網 192.168.0.0/24
我在路由器上嘗試了靜態路由
192.168.0.0/24
,64.22.12.193
我也嘗試將它路由到192.168.0.1
. 都沒有奏效。我希望兩個子網之間的流量通過路由器,因為我希望能夠在子網之間的路由器上設置防火牆規則。
- 我嘗試了靜態路由但無法正常工作,我做錯了什麼嗎?
- 我意識到我可以使用 NATing,但為了訪問單個私有 IP 機器,我必須設置一個一對一的 NAT,這會佔用我寶貴的有限公共 IP
- 我必須設置一個隧道來完成這個嗎?隧道不會繞過防火牆規則嗎?
IP路由顯示:
default via 66.22.32.137 dev eth0 proto zebra 192.168.0.0/24 dev eth3 proto kernel scope link src 192.168.0.1 64.22.12.192/27 dev eth1 proto kernel scope link src 64.22.12.193 66.22.32.136/29 dev eth0 proto kernel scope link src 66.22.32.141 127.0.0.0/8 dev lo proto kernel scope link src 127.0.0.1
我嘗試了靜態路由,但無法正常工作
您不需要靜態路由,您的系統已經擁有它應該需要的所有路由。Linux 自動為本地連接的每個網路配置路由。假設您啟用了 ip_forward,並且目前沒有阻止流量的防火牆規則,那麼一切都應該正常工作。
我必須設置一個隧道來完成這個嗎?
不,你不應該需要任何隧道。
我意識到我可以使用 NATing,但為了訪問單個私有 IP 機器,
您不需要任何 NAT 規則。事實上,如果你已經有一個過於寬泛的 SNAT/MASQ 設置,那可能是你的問題。
假設所有客戶端都打開
64.22.12.192/27
並192.168.0.0/24
使用您的 linux 機器作為其預設網關,並且您沒有設置任何 SNAT/MASQ 規則來更改來自 eth3 -> eth1 通信的流量的源地址應該可以正常工作。