最近在一個雙線路機房測試一台服務器,打算作為論壇的數據庫服務器使用,服務器操作系統為 Linux。計劃配置為雙IP,雙域名,使得浏覽者通過電信和網通兩條線路都能正常訪問服務器,而且各走各的,互不影響。在配置網絡的時候遇到了問題,由 於Linux默認只有一個網關,在網絡上查詢了很久,找到一個解決方案,因此整理了一下。感謝原文作者jac003ke。
服務器操作系統RedHat linux 9,設置兩張路由表
1. vi /etc/iproute2/rt_tables,增加網通和電信兩個路由表
251 tel 電信路由表
252 cnc 網通路由表
2. 給網卡綁定兩個地址用於電信和網通兩個線路
ip addr add 192.168.0.2/24 dev eth0
ip addr add 10.0.0.2/24 dev eth1
3、分別設置電信和網通的路由表
電信路由表:
#確保找到本地子網
ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel
#內部回環網絡
ip route add 127.0.0.0/8 dev lo table tel
#192.168.0.1為電信網絡默認網關地址
ip route add default via 192.168.0.1 dev eth0 table tel
網通線路路由表:
#確保找到本地子網
ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc
#內部回環網絡
ip route add 127.0.0.0/8 dev lo table cnc
#10.0.0.1是網通的默認網關
ip route add default via 10.0.0.1 dev eth1 table cnc
4、電信和網通各有自己的路由表,制定策略,讓192.168.0.2的回應數據包走電信的路由表路由,10.0.0.2的回應數據包走網通的路由表路由
ip rule add from 192.168.0.1 table tel
ip rule add from 10.0.0.1 table cnc