2012年7月12日 星期四
多個介面的Routing設定
多個介面的路由問題, 雖然不算複雜, 但沒弄清楚還是會碰到一些問題 ...
最近在弄一個系統, 有兩個網路介面, 架構大至如下
Interface1 (global IP) -------------------------( Internet )
Interface2 (10.0.0.10/8) ----------------------(10.0.0.254)---------------(172.19.0.0/24)
|-----------------------(192.168.1.0/24)
把兩個介面都成功帶起來後,
Interface1設成default route, 訪問Internet就沒有什麼問題了.
有一些服務綁定在Interface2上, 存取10.0.0.10/8這個網段也很正常.
但問題來了, 無法存取172跟 192這兩個網段.
簡單點的方法, 為這兩個網段, 分別各設一條Routing Rule就解決了
# route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.254
# route -net 172.19.0.0 netmask 255.255.255.0 gw 10.0.0.254
但假設10.0.0.254那裡又多連接一個新的網段,
到時又得為這個新的網段加一條Routing Rule.
一定還有其他方法來解決這類的Routing問題.
找了一下資料, 發現Source Routing是個不錯的方法,
也不算複雜, 簡單三行就解決,
不用像上面一樣,每個網段都需要設一條
#echo "200 abc" >> /etc/iproute2/rt_tables
#ip rule add from 10.0.0.0/8 table abc
#ip route add default via 10.0.0.254 table abc
1. 新增一個Routing table, 命名為abc, 200是table id, 不可以重複, 可以201, 202, ... 加上去
2. 新增一條規則, 當Source IP為10.0.0.0/8時, 查看abc table
3. 為abc這個table新增一條default route, 當封包來到abc table時, 就會route到這個gw.
查看一下設定內容是否正常.
#ip rule list
#ip route list table abc
設完後, 只要把服務綁到Interface2, 存取172,192網段完全不需要再另外設定Routing Rule了.
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言