我剛剛設置了一台有兩個網卡的機器,一個用於專用網絡,另一個用於分配有真實IP的公共網路。
DEVICE=eth0
HWADDR=XXX
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=172.26.111.131
NETMASK=255.255.255.128
GATEWAY=172.26.111.129
公網eth1配置如下;
DEVICE=eth1
HWADDR=XXX
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=PUBLIC_IP
NETMASK=255.255.255.248
GATEWAY=PUBLIC_GATEWAY
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default PUBLIC_GATEWAY 0.0.0.0 UG 0 0 0 eth1
PUBLIC_NID * 255.255.255.248 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1004 0 0 eth1
172.26.111.128 * 255.255.255.128 U 0 0 0 eth0
我確信這是很容易實現的。我已經對此進行了搜索,但不知何故無法使其正常工作。該電腦仍嘗試透過公共網關路由專用 IP。
我將不勝感激對此的任何想法。我哪裡錯了?
我只是想透過 eth0 訪問 172.26.111.128/25。
答案1
我的設定
我為 eth0 設定了一個別名,以便它實際上擁有 2 個 IP 位址:192.168.1.6 和 192.168.1.254。
我在本地做了這樣的事情:
ifconfig eth1:0 192.168.1.254
route add -host 192.168.1.254 dev eth1:0
這給了我一個像這樣的路由表:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
ISP_NETWORK 0.0.0.0 255.255.240.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 ISP_GATEWAY 0.0.0.0 UG 0 0 0 eth0
這給了我一條這樣的路線:
192.168.1.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
參考
答案2
好吧,這是我們的錯。我試圖 ping 一個確實不存在的主機,因此我認為網路路由不正確。感謝您的所有留言和幫助!