CentOS 雙網卡、multiple Gateways
BUBU 因公司有一個站台有需要動用到雙網卡功能,那之前設定都是在單網卡上面,這次因為要設定雙網卡時一直卡在路由問題讓我一直 ping 不到新增加的網卡,然後又去查看 NAS 也有使用多網卡多路由服務,從 NAS 功能所提供的關鍵字下去尋找終於讓我找到這方面設定方式,為了日後還有這樣子的需求先記錄下來以免又找不到文章可以參考做設定
運行環境
- 系統環境:CentOS 7.9
設定流程
- 在設定之前會建議可以考慮將該站台的先做快照或者備份以免設定上有問題造成無法連線。
- 兩張網卡的設定值
eth0(172.16.0.30)
、eth1(172.16.1.155)
- 第一張網卡設定值
- 第二張網卡設定值
- 新增路由
ip route add 172.16.0.0/24 dev eth0 tab 1
ip route add 172.16.1.0/24 dev eth1 tab 2
ip route add default via 172.16.0.1 dev eth0 tab 1
ip route add default via 172.16.1.1 dev eth1 tab 2
- 新增路由規則
ip rule add from 172.16.0.30/32 tab 1 priority 100
ip rule add from 172.16.1.155/32 tab 2 priority 200
# 清空路由快取
ip route flush cache
- 檢查路由設定是否正確
# 第一張網卡
ip route show tab 1
# 結果
default via 172.16.0.1 dev eth0
172.16.0.0/24 dev eth0 scope link
# 第二張網卡
ip route show tab 2
# 結果
default via 172.16.1.1 dev eth1
172.16.1.0/24 dev eth1 scope link
- 檢查規則設定是否正確
ip rule show
# 結果
0: from all lookup local
100: from 172.16.0.30 lookup 1
200: from 172.16.1.155 lookup 2
32766: from all lookup main
32767: from all lookup default
- 查看路由
ip route
# 結果
default via 172.16.0.1 dev eth0 proto static metric 100
172.16.0.0/24 dev eth0 proto kernel scope link src 172.16.0.30 metric 100
172.16.1.0/24 dev eth1 proto kernel scope link src 172.16.1.155 metric 101
- 以上設定完之後是暫時的記錄,測試完沒有問題接下來就是要設定永久的設定,以免設備重啟之後造成設定不見又要重頭設定
# 第一張網卡路由
vim /etc/sysconfig/network-scripts/route-eth0
172.16.0.0/24 dev eth0 tab 1
default via 172.16.0.1 dev eth0 tab 1
# 第二張網卡路由
vim /etc/sysconfig/network-scripts/route-eth1
172.16.1.0/24 dev eth1 tab 2
default via 172.16.1.1 dev eth1 tab 2
# 第一張網卡規則
vim /etc/sysconfig/network-scripts/rule-eth0
from 172.16.0.30/32 tab 1 priority 100
# 第二張網卡規則
vim /etc/sysconfig/network-scripts/rule-eth1
from 172.16.1.155/32 tab 2 priority 200
- 安裝必要套件並且自動啟動服務
yum install -y NetworkManager-config-routing-rules
systemctl enable NetworkManager-dispatcher.service && systemctl start NetworkManager-dispatcher.service