Networking

啟用子網之間的路由

  • October 2, 2013

我有一個帶有三個 NIC 卡的 Centos 伺服器。

ETH0公網 IP xx.xx.xx.xx1/xx.xx.xx.xx2(有兩個公網IP)

EHT1本地子網 192.168.80.0(DHCP 伺服器監聽此介面)

ETH2本地子網 (10.0.1.10) 連接到列印機/文件伺服器/其他區域網路,只能在組織內部訪問。

我的設置要求:- 在 ETH1(192.168.800/24 子網)上我很少有使用者需要訪問 Internet 和他們的郵件。我們在 192.168.80.0/24 子網內設置了一個郵件伺服器,這樣使用者的郵件訪問速度應該更快。

我已啟用靜態 NAT 到具有公共 IP xx.xx.xx.xx2 的郵件伺服器 192.168.80.2。eth1 上的休息使用者將其公共 IP 視為 xx.xx.xx.xx1,因為我們也為其啟用了 DNAT。

子網 192.168.80.0/24 上的使用者可以訪問文件伺服器/列印機。

我有另一個子網 192.168.70.0/24 需要與 192.168.80.0/24 子網通信,同樣 192.168.80.0.24 需要與 192.168.70.0/24 通信。

192.168.80.0/24 使用 L3 交換機連接到 10.0.0.0/24。192.168.70.0/24 使用 L3 交換機連接到 10.0.0.0/24。

一切正常,但無法從 192.168.80.0/24 到 192.168.70.0.. 進行通信。

每當我從 192.168.80.0/24 到 192.168.70.0/24 網路進行跟踪路由時,它都會進入網際網路。

traceroute 192.168.70.1
* * * 192.168.80.1
* * * ISP default gateway IP

如何為源自子網 192.168.80.0/24 並發往 192.168.70.0/24 的流量啟用轉發或路由應該通過 eth2 (10.0.1.10) 以便上面的 traceroute 應該出現如下所示,其餘應該可以正常工作現在正在工作。

traceroute 192.168.70.1
* * * 192.168.80.1
* * * 10.0.1.10

我不知道現在需要做什麼。

我的 NAT 規則:

-A PREROUTING -d xx.xx.xx.xx2/32 -i eth0 -j DNAT --to-destination 192.168.80.2
-A POSTROUTING -s 192.168.80.2/32 -o eth0 -j SNAT --to-source xx.xx.xx.xx2
-A POSTROUTING -s 192.168.80.0/24 -o eth0 -j SNAT --to-source xx.xx.xx.xx1
-A POSTROUTING -o eth0 -j MASQUERADE

路由:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
115.xx.xx.200  0.0.0.0         255.255.255.252 U     0      0        0 eth0
192.168.80.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.0.0.0        0.0.0.0         255.255.252.0   U     0      0        0 eth2
115.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 eth0
0.0.0.0         115.xx.xx.137 0.0.0.0         UG    0      0        0 eth0

在某個地方你必須有網關,它連接到 10.0.1.0/24 網路,也連接到 192.168.70.0/24 網路。假設該網關的 IP 地址為 10.0.1.20。

然後你必須在你的 linux 路由器上添加這個路由:

ip ro add 192.168.70.0/24 via 10.0.1.20

因為您的路由器也是 192.168.70.0/24 網路的網關(雖然通過一跳),所以您不需要在網路 192.168.70.0/24 的網關上添加 192.168.80.0/24 的路由

編輯1:

要在 CentOS 上永久設置此路由,您必須將此行添加到/etc/sysconfig/network-scripts/route-eth2文件中:

192.168.70.0/24 via 10.0.1.20 dev eth2

您可以查看此部署指南

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