PC上有兩個物理網卡。虛擬機器中的eth0對應的物理網卡接TP-Link路由器(192.168.1.1),eth1對應的物理網卡接一台本本(192.168.2.124)。
(1)給這個eth0分配地址:
# ifconfig eth0 192.168.1.125 netmask 255.255.255.0
(2)增加一條靜態路由:
# route add -net 192.168.1.0 netmask 255.255.255.255.0 dev eth0
(3)給eth1分配地址:
# route add -net 192.168.2.1 netmask 255.255.255.0
(4)再增加一條靜態路由:
# route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1
(5)為系統增加一條預設路由:
# route add default gw 192.168.1.1(TP-Link的地址)
(6)要增加系統的IP轉寄功能:
#echo 1 > /proc/sys/net/ipv4/ip_forward
到此,該虛擬機器linux基本具備的路由器功能。但問題來了,本本可以ping通網關即(該虛擬機器linux的eth1),卻ping不通TP-Link路由器。後來是發現問題出在我的TP-Link路由器:沒有資料包回程的靜態路由,ping出去的包有去無回。
解決辦法:配置該TP-Link路由器,設定一條靜態路由(destination:192.168.2.0 gw:192.168.1.125)。
到此,本本可以通過該虛擬機器linux訪問路由器(還需將TP-Link的LAN口進行設定,將子網路遮罩設為255.255.0.0,否則本本只能ping通路由器,而沒有許可權登入路由器)。
但是,本本是不能訪問外網的,因為它所屬網段是192.168.2.0,而TP-Link的NAT規則只是針對192.168.1.0網段。所以接下來準備重新進行虛擬機器linux的配置,使其具有NAT功能。