一台雙網卡電腦擁有兩個網關是不可能的,因為默認網關(default gateway)只能是一個。給伺服器安裝兩塊網卡,分別設置不同的ip和網關(內網和外網),外網的通過外網網卡來訪問,內網的通過內網網卡來訪問,似乎實現起來很簡單,但有些問題,因為默認網關(default gateway)只能是一個!
解決的辦法就是:
1、將其中一塊網卡(如外網)設置默認網關,另外一塊網卡eth1不設置網關
sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
post-up iptables-restore < /etc/iptables.up.rules
#the second eth1
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
注意沒有為 eth1(內部網路) 設置 gateway.
2. (注意:對於ubuntu系統,該步驟似乎可以省略) 輸入命令:route, 如果沒有下面一行:
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
就手工加上一條靜態路由,讓另一個網段(內網)的數據經過第二個網卡。使用route命令,命令的範例如下
參考命令:
sudo route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1(讓對192.168.0.0的訪問走eth1網卡,netmask 後面是子網掩碼)
如果想讓上面的命令在開機時運行,編輯下面的文件執行上面的命令,把上面的命令加入文件exit 0之前
sudo vi /etc/rc.local
[火星人
]
ubuntu雙網卡設置內外網上網的問題已經有4585次圍觀
http://coctec.com/docs/linux/show-post-176512.html