靈巧網關(Smart Gateway)策略路由例子

靈巧網關(Smart Gateway)策略路由例子

2005年9月24日

    爲了提高對各個網絡的用戶對服務器的訪問, 特別爲服務器提供了CERNET、電信、網通的出口。由於服務器使用的Windows 操作系統無法提供策略路由,因此利用靈巧網關來提供策略路由表。網絡的連接示意圖如下:

 

    

 

CERNET出口                  電信出口                     網通出口

eth0202.38.70.133        eth1218.22.21.18       eth2218.104.71.172

網關:202.38.70.254       網關:218.22.21.30     網關:218.104.71.161

 

 

 

                     SWITCH(連接三個出口與內網)

                     Eth3192.168.0.254

 

 

                     內網IP192.168.0.1

                     網關:192.168.0.254

 

 

 

    上圖所示網絡,內部地址爲 192.168.0.*,三個出口的地址分別如圖中所示。202.38.70.133、218.22.21.18、218.104.71.172都地址轉換到內部的服務器192.168.0.1。

    對於上面的網絡環境,即使專門的路由器也很難處理好策略路由問題。因爲單獨依據192.168.0.1 發回的應答數據包無法作出正確的路由判斷。而靈巧網關可以查看該數據包相關的連接信息,根據原來數據包的目的地址來判斷,完美的解決策略路由問題。

    這時,需要如下設置,讓所有發送給202.38.70.133 的應答包經過教育網出去,所有發送給218.22.21.18的應答包經過電信網出去,所有發送給218.104.71.172的應答包經過網通出去,這樣才能保證網絡通訊正常:

 

配置文件startup.rc的內容如下:

#設置機器名字
hostname gateway.dianjiao

#加載相關模塊
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_state
modprobe ipt_conntrack
modprobe iptable_nat
modprobe ip_nat_ftp

ip addr add 202.38.70.133/24 dev eth0
ip addr add 218.22.21.18/27 dev eth1
ip addr add 218.104.71.172/28 dev eth2
ip addr add 192.168.0.254/24 dev eth3
ip link set eth0 up
ip link set eth1 up
ip link set eth2 up
ip link set eth3 up

#教育網
ip route add 0/0 via 202.38.70.254 table 100
#電信
ip route add 0/0 via 218.22.21.30 table 101
#網通
ip route add 0/0 via 218.104.71.161 table 102

#策略路由
ip rule add from 0/0 table main pref 90

#根據需要設置IP出口
#fwmark 1 CERNET
#fwmark 2 CHINANET
#fwmark 3 網通
ip rule add fwmark 1 table 100 pref 100
ip rule add fwmark 2 table 101 pref 100
ip rule add fwmark 3 table 102 pref 100

ip rule add from 202.38.70.133 table 100 pref 101
ip rule add from 218.22.21.18 table 101 pref 101
ip rule add from 218.104.71.172 table 102 pref 101

#缺省走CERNET出口
ip rule add from 0/0 table 100 pref 200

配置文件multirun.rc的內容如下:

#IP包過濾設置
iptables -F
iptables -t nat -F
iptables -t mangle -F

#fwmark 1 CERNET
#fwmark 2 CHINANET
#fwmark 3 CNC
iptables -t mangle -A PREROUTING -j MARK --set-mark 1 -m conntrack --ctorigdst 202.38.70.133
iptables -t mangle -A PREROUTING -j MARK --set-mark 2 -m conntrack --ctorigdst 218.22.21.18
iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -m conntrack --ctorigdst 218.104.71.172

#地址轉換設置
#www服務器
iptables -t nat -A PREROUTING -j DNAT -d 202.38.70.133 --to 192.168.0.1
iptables -t nat -A PREROUTING -j DNAT -d 218.22.21.18 --to 192.168.0.1
iptables -t nat -A PREROUTING -j DNAT -d 218.104.71.172 --to 192.168.0.1

iptables -t nat -A POSTROUTING -j SNAT -o eth0 --to 202.38.70.133
iptables -t nat -A POSTROUTING -j SNAT -o eth1 --to 218.22.21.18
iptables -t nat -A POSTROUTING -j SNAT -o eth2 --to 218.104.71.172

#防火牆設置
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章