1. 程式人生 > >使用Linux 策略路由配置多網絡卡路由

使用Linux 策略路由配置多網絡卡路由

【問題場景】

       專案中遇到一個路由配置問題,一臺Linux使用多網絡卡,每個網絡卡配置在不同的網路平面,比如兩個網絡卡,網絡卡1連線內網閘道器,網絡卡2連線外網閘道器,系統的預設路由為網絡卡1連線的內網閘道器。現在上層應用想通過網絡卡2登入到一個外網系統。外網只提供一個域名,這樣遇到一個問題,域名解析出的IP可能會經常變化,系統如何確定這個IP的路由。

【解決方案】

       使用Linux的策略路由可以解決。建立一個新的路由表,這個路由表中只配預設路由為外網閘道器,再建立一個路由規則,只要是網絡卡2的IP發出的包都採用心路由表匹配。

【配置命令】

//建立新的路由表

echo "100 NET0" >>  /etc/iproute2/rt_tables

//設定預設閘道器

ip route add default via 192.168.100.1  dev eth1 table NET0

// 設定路由策略

ip rule add from 192.168.100.10 table NET0 pre 1000

如果要保障開機自啟動,將第2,3條命令寫入配置檔案。這兩條命令只適用於Suse系統

echo "ip route add default via 192.168.100.1  dev eth1 table NET0" >> /etc/init.d/after.local

echo "ip rule add from 192.168.100.10 table NET0 pre 1000" >> /etc/init.d/after.local