
我有 2 台伺服器,兩者都透過 switch0 連線(無 VLAN) server1 有 2 個網卡
eth0 --> switch0
ppp0 --> modem --> internet
cat /proc/sys/net/ipv4/ip_forward 1
192.168.1.0/24
192.168.1.212 netmask 255.255.255.0
路線:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
10.10.10.0 10.10.10.1 255.255.255.0 UG 0 0 0 tun0
10.10.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
151.7.202.72 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.16.212.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.116.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
伺服器2是:
192.168.1.0/24
192.168.1.252 netmask 255.255.255.0 --> switch0
有 3 個 lan、3 個 NICS:
192.168.1.0/24 netmask 255.255.255.0 --> switch0
192.168.2.0/24 netmask 255.255.255.0 --> switch1
193.168.3.0/24 netmask 255.255.255.0 --> switch2
路線:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.212 UGS 0 168553 bge0
10.10.10.0/24 10.10.10.1 UGS 0 0 tun0
10.10.10.1 link#12 UH 0 0 tun0
10.10.10.2 link#12 UHS 0 0 lo0
127.0.0.1 link#10 UH 0 1897 lo0
192.168.1.0/24 link#1 U 0 42375 bge0
192.168.1.252 link#1 UHS 0 4 lo0
192.168.2.0/24 link#7 U 0 117807 rl0
192.168.2.252 link#7 UHS 0 0 lo0
192.168.3.0/24 link#8 U 0 161828 rl1
192.168.3.252 link#8 UHS 0 0 lo0
我需要建立從 192.168.1.0/24 到所有其他 LAN 的路由。
我應該在 server2 上使用 ip 別名嗎?
答案1
這實際上很容易。
在伺服器 2 上:編輯(如 sudo)檔案 /etc/sysctl.conf,找到此行
#net.ipv4.ip_forward=1
並取消註釋,
net.ipv4.ip_forward=1
儲存文件,發出命令:
sudo sysctl -p
這只是告訴您的核心允許封包從一個 NIC 傳遞到另一個 NIC。
另外,我們需要在其上配置 NAT,以便返回資料包可以透過 server2 正確路由。發出這個:
sudo iptables -t nat -A POSTROUTING -o rl0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o rl1 -j MASQUERADE
這假設您的預設 iptables 策略全部接受。如果這是不正確的,我們將不得不在您的防火牆上再打幾個洞。
現在到伺服器 1。
sudo route add -net 192.168.2.0/24 default gw 192.168.1.252
sudo route add -net 192.168.3.0/24 default gw 192.168.1.252
這兩個命令只是指示您的 server1,如果它發現發送到 192.168.2.0/24 或 192.168.3.0/24 的資料包,則應將該資料包路由到 server2,由 server2 處理它。
您沒有指定是否希望 192.168.2.0/24 還是 192.168.3.0/24 上的用戶端能夠透過 server2 存取 192.168.1.0。如果這樣做,請添加
sudo iptables -t nat -A POSTROUTING -o bge0 -j MASQUERADE
到你的防火牆。
最後,我非常希望子網路 192.168.2.0/24 和 192.168.3.0/24不是透過不同的路線連接到 Server1,因為這表示您的配置中存在閉環,這需要一些進階儀器來正確處理此問題。