Linux 雙線Multipath 2 Gateway

http://www.csjh.tcc.edu.tw/phpbbinf/viewtopic.php?p=8856&sid=1f7ed91e575cf5d388e5223a481aefac

中港高中Multipath作法

曾榮民
台中縣立中港高級中學
2003/03/11
Eamil:kwang@mail.cgjh.tcc.edu.tw
Home:http://www.cgjh.tcc.edu.tw/tkwang/

一、網路設定
eth0----Tanet
111.111.111.111/255.255.255.0
GW:111.111.111.254

eth1----內部網路
192.168.2.254/255.255.255.0

eth2----Hinet
222.222.222.222/255.255.255.0
GW:222.222.222.254

二、作業系統
Redhat7.3

三、須要安裝的軟體套件
1.webmin(Server一般設定管理:須下載安裝)
2.pwebstats(squid的log檔分析管理:須下載安裝)
3.Mrtg(即時流量分析:Readhat7.3內含)
4.Iptraf(網路監看:Readhat7.3內含)
5.iptables(網路管理:Readhat7.3內含)
6.iproute2(路由設定,multipath:Readhat7.3內含)

四、網路設定檔
/etc/sysconfig/network-scripts/ifcfg-eth0
##start
DEVICE=eth0
BOOTPROTO=static
BROADCAST=111.111.111.255
IPADDR=111.111.111.111
NETMASK=255.255.255.0
NETWORK=111.111.111.0
ONBOOT=yes
##End of file

/etc/sysconfig/network-scripts/ifcfg-eth1
##start
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.2.255
IPADDR=192.168.2.254
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
##End of file

/etc/sysconfig/network-scripts/ifcfg-eth2
##start
DEVICE=eth2
BOOTPROTO=static
BROADCAST=222.222.222.255
IPADDR=222.222.222.222
NETMASK=255.255.255.0
NETWORK=222.222.222.0
ONBOOT=yes
##End of file

/etc/iproute2/rt_tables
##start#
# reserved values
#
#255 local
#254 main
#253 default
#0 unspec
#
# local
#
#1 inr.ruhep

20 t1
30 t2
##End of file

五、multipaht及nat的設定

##nat.sh--start
#!/bin/sh

# ------------- ensure iptables ----------
modprobe ip_tables

# ------------- modules -----------
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc

# ------------- ipforwarding -----------
echo "Turning on IP forwarding..."
echo "1" > /proc/sys/net/ipv4/ip_forward

# ------------- flushing ----------
echo "Cleaning up..."
iptables -F -t filter
iptables -X -t filter
iptables -Z -t filter
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat

# ------------- policies -------------
echo "Setting up policies to ACCEPT..."
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# ------------- masq -------------
echo "Masq..."
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE


############## multipath start #############################


/sbin/ip rule add pref 20 from 111.111.111.111 table t1 dev eth0
/sbin/ip route add default table t1 via 111.111.111.254 dev eth0


/sbin/ip rule add pref 20 from 222.222.222.222 table t2 dev eth2
/sbin/ip route add default table t2 via 222.222.222.254 dev eth2

/sbin/ip rule list
/sbin/ip route list table t1
/sbin/ip route list table t2

##靜態路由(指定該網段要由111.111.111.254這個路由出去)
/sbin/ip route add 163.17.40.0/24 via 111.111.111.254 dev eth0

除了路由表有設定的之外其餘的預設走下面這個介面
/sbin/ip route replace default via 222.222.222.254 dev eth2

##如果要自動在兩個線路中自動切換上面這一行改成下面的設定,
##其中weight的值是多少的比例分配到那條線路中

##/sbin/ip route replace default nexthop via 111.111.111.254 dev /
eth0 weight 1 nexthop via 222.222.222.254 dev eth2 weight 1

##如果你要強迫內部某一IP一定要走特定的路由可以如下設定
##強迫192.168.2.214這個ip一定要走table t1的路由設定,
##也就是說如果要對外連線192.168.2.214這個ip一定會走111.111.111.254

ip rule add from 192.168.2.214 table t1

/sbin/ip route flush cache

##End of File

六、參考資料
iptables
http://alge.anart.no/projects/free_books/

iproute2
http://www.mh-hannover.de/student/software/linux-howtos-pdf/Adv-Routing-HOWTO.pdf

Linux ADSL Multipath Routing Solution
http://www.study-area.org/tips/multipath.txt

架設 NAT
http://www.study-area.org/linux/servers/linux_nat.htm
 

今天早上重新將iproute2這個工具的用法重新看了一下發現如果只是要作到
163.17.40.0/24跑tanet,其它的跑Hinet只要如此作即可

############## multipath start ############################

/sbin/ip route add 163.17.40.0/24 via 111.111.111.254 dev eth0
/sbin/ip route replace default via 222.222.222.254 dev eth2
/sbin/ip route flush cache

不過如果自訂routing table 可以玩更高難度的routing設定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值