Linux系統(tǒng)在策略路由開啟的時(shí)候?qū)⑹褂枚鄠€(gè)路由表,它不同于其它某些系統(tǒng),在所有情況下都只使用單個(gè)路由表。雖然使用單個(gè)路由表也可以實(shí)現(xiàn)策略路由,但是使用多個(gè)路由表可以得到更好的性能,特別在一個(gè)大型的路由系統(tǒng)中。下面只通過簡單的情況說明Linux下策略路由的應(yīng)用。
如圖2,有如下一個(gè)應(yīng)用需求,其中網(wǎng)關(guān)服務(wù)器上有三個(gè)網(wǎng)絡(luò)接口。接口1的IP為172.16.100.1,子網(wǎng)掩碼為255.255.255.0,網(wǎng)關(guān)gw1為a.b.c.d,172.16.100.0/24這個(gè)網(wǎng)段的主機(jī)可以通過這個(gè)網(wǎng)關(guān)上網(wǎng);接口2的IP是172.16.10.1,子網(wǎng)掩碼同接口一,網(wǎng)關(guān)gw2為e.f.g.h,172.16.10.0/24這個(gè)網(wǎng)段的主機(jī)可以通過這個(gè)網(wǎng)關(guān)上網(wǎng);接口0的IP為192.168.1.1,這個(gè)網(wǎng)段的主機(jī)由于網(wǎng)絡(luò)帶寬的需求需要通過e.f.g.h這個(gè)更快的網(wǎng)關(guān)路由出去。
圖 2
步驟一:設(shè)置各個(gè)網(wǎng)絡(luò)接口的IP,和默認(rèn)網(wǎng)關(guān):
ip addr add 172.16.100.1/24 dev eth1 ip route add default via a.b.c.d dev eth1 |
其它接口IP的設(shè)置和第一個(gè)接口一樣,這時(shí),如果沒有其它設(shè)置,則所有的數(shù)據(jù)通過這個(gè)默認(rèn)網(wǎng)關(guān)路由出去。
步驟二:使子網(wǎng)172.16.10.0/24可以通過gw2路由出去
ip route add 172.16.10.0/24 via e.f.g.h dev eth2 |
步驟三:添加一個(gè)路由表
echo “250 HS_RT” >> /etc/iproute2/rt_tables |
步驟四:使用策略路由使192.168.1.0/24網(wǎng)段的主機(jī)可以通過e.f.g.h這個(gè)網(wǎng)關(guān)上網(wǎng)
ip rule add from 192.168.1.0/24 dev eth0 table HS_RT pref 32765 ip route add default via e.f.g.h dev eth2 iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j MASQUERADE |
步驟五:刷新路由cache,使新的路由表生效
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。