1. 程式人生 > >linux ubuntu 配置雙網絡卡 簡單方式

linux ubuntu 配置雙網絡卡 簡單方式

第一種方法

第一種方法是在路由表中新增路由規則
修改網絡卡配置檔案
開啟檔案:

sudo vi /etc/network/interfaces

新增如下:

auto eno1
iface eno1 inet static
address 192.168.1.103
netmask 255.255.255.0

auto eno2
iface eno2 inet static
address 192.10.84.31
netmask 255.255.255.0
gateway 192.10.84.1
up route add -net 192.168.1.0/24 gw 192.168.1.1 dev eno1

重啟網絡卡

sudo /etc/init.d/networking restart

問題

注意:
    eno1、eno2名稱不能弄錯(eth0等),可以使用ifconfig檢視
    雙網絡卡只能有一個卡網配置閘道器,另一個不能配置,也就是配置中的gateway選項,另一個要使用路由的方式配置分流
註釋:
    auto啟用的網絡卡
    iface eno1 inet static對eno1使用靜態ip,且手動配置閘道器
    address靜態ip
    netmask掩碼資訊
    gateway閘道器資訊
    pre-up、up、post-up、pre-down
、down、post-down表示網絡卡啟動前、啟動時、啟動後的動作 route add -net 192.168.1.0/24 gw 192.168.1.1 dev eno1表示把網段192.168.1.0/24的引導向eno1的192.168.1.1
錯誤資訊:
RTNETLINK answers: File exists 
Failed to bring up eth0
使用:
sudo ip addr flush dev eth0

第二種方法

第一種方法我在使用過程中有點問題,於是推薦採用更為強大的第二種方法:使用路由策略將資訊包分別導向不同的路由表。(注意第一種方法我配的是192.10.84.1作為外網,這次配的是192.168.1.1作為外網。)

參考文獻1
參考文獻2

修改網絡卡配置檔案
開啟檔案:

sudo vim /etc/network/interfaces

新增如下:

auto eno1
iface eno1 inet static
address 192.168.1.103
netmask 255.255.255.0
gateway 192.168.1.1

auto eno2
iface eno2 inet static
address 192.10.84.31
netmask 255.255.255.0

重啟網絡卡

sudo /etc/init.d/networking restart

新增路由表

vi /etc/iproute2/rt_tables

新增如下camp和outer表:

252 camp
251 outer

增加路由規則並導向不同路由表

sudo ip route flush table camp
sudo ip route add default via 192.10.84.1 dev eno2 src 192.10.84.31 table camp
sudo ip rule add from 192.10.84.31 table camp
sudo ip route flush table outer
sudo ip route add default via 192.168.1.1 dev eno1 src 192.168.1.103 table outer
sudo ip rule add from 192.168.1.103 table outer

不需要再重新啟動網絡卡,重新啟動會導致路由表中的路由規則清空。

問題

如果系統重啟導致失效,需要將命令寫入系統啟動指令碼和網路啟動指令碼。
ubuntu,系統啟動指令碼是/etc/rc.local ;網路啟動指令碼是/etc/init.d/networking 
centos,系統啟動指令碼是/etc/rc.d/rc.local ;網路啟動指令碼是/etc/rc.d/init.d/network
檢視命令是否生效:
檢視路由策略:
ip rule
ip rule list

檢視路由表內容:
ip route show table table_id
ip route show table table_name

/etc/rc.local配置截圖:
這裡寫圖片描述

如果ping域名的時候出現ping:unknown host  xxx.xxx
檢視一下配置檔案/etc/resolv.conf,裡面是否有nameserver xxx.xxx.xxx.xxx,比如使用dns伺服器 nameserver 8.8.8.8,如果有,修改一個可用的dns伺服器,如8.8.8.8或者4.4.4.4,儲存退出即可!