我只有加以下的命令
ip rule add pref 10 from 192.168.0.4 table 10
ip route replace default via 192.168.0.1 dev eth0 table 10
ip rule add pref 20 from 192.168.0.6 table 20
ip route replace default via 192.168.0.1 dev eth1 table 20
ip route flush cache
ip route list table 10 # 這兩行是讓你看到結果
ip route list table 20
就可以了
# 我的環境:
一台裝 Fedora 4 的電腦
有兩張網卡,分別是
eth0 192.168.0.4
eth1 192.168.0.6
# 說明
必須確定
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
這三項有編譯進你的kernel
Fedora 預設是有編譯進去的
我們的目的可以成功,就是藉助 linux 的 multiple routing table 的功能
指令的前四行,就是去設定 table 編號10 , 20 的內容
第五行寫入 routing table
第六、七行分別查看 routing table
如果你下
ip route list table 0
會看到一大堆東西
我想table 0就是列出所有內容吧
你會發現 table 10, 20 的內容是放在最前面的
# 實驗結果
我從另一台電腦,ping 192.168.0.6
的確是只要 eth1 的線插著,就可以ping 得到
而不論 eth0 的線有沒有插
達到我想要的目的了
No comments:
Post a Comment