作者 主題: 問題: Linux 平台上之 Multipath Routing 應用  (閱讀 9272 次)

0 會員 與 1 訪客 正在閱讀本文。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
目  的:兩條ADSL ,做 Load Balance.(內部為虛擬網路)
文章出處:http://www.study-area.org/tips/tipsfr1.htm

小弟先前照這篇文章的做法,試著將兩條adsl 頻寛做 Load Balance.

但是最主要的問題,卡在該文章的並不是很完整,也曾寫信問過該作者
,問題如下:

1.Linux 內定只有一個Gateway, 而該文章並未提及是否要為第二張網卡
  ,設Gateway.
       ( cat 'GATEWAY=61.218.42.209' >> /etc/sysconfig/network-scripts/ifcfg-eth1
 )

2.內部要做NAT, 該作者回信說”如果要 NAT, 當然必須另外設定 IP masquerading. (最好先測試這個部份正常之後再設定 EQMP) ”

重點是第二張網路的 Gateway 也設了,內部機器也可以透過此台機器上
網路,但只要一啟動下列的script 做Load Balance, 內部機器就出不去.

是否有人試成旦L..

----ipchains 設定檔 -----
ipchains -F
ipchains -X
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT

# echo '1' > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo '1' > /proc/sys/net/ipv4/ip_forward
ipchains -A forward -p all -s $vnet -j MASQ

--------------Multipath Routing 設定檔 ---------------
ip rule add pref 10 to 10.0.0.0/24 table 10
ip route add 10.0.0.0/24 table 10 dev eth1

# ISP #1
ip rule add pref 20 from 61.219.235.222 table 20
ip route add default table 20 via 61.219.235.217

# ISP #2
ip rule add pref 20 from 61.218.42.211 table 30
ip route add default table 30 via 61.218.42.209

ip route add 61.219.235.216/29 dev eth0
ip route add 61.218.42.208/29  dev eth1

ip route replace default nexthop via 61.219.235.216 dev eth0
 nexthop via 61.218.42.208 dev eth1

ip route flush cache

Anonymous

  • 訪客
問題: Linux 平台上之 Multipath Routing 應用
« 回覆 #1 於: 2002-01-04 22:03 »
有趣~~ 不過我沒弄過~~

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
問題: Linux 平台上之 Multipath Routing 應用
« 回覆 #2 於: 2002-01-06 20:27 »
您好,我也在用這個東東,但是問題不一樣,因為我是用 RH 7.2
不用 ipchains , 改用 iptables , 基本上我的是可以出去,但是都很慢,
因為它每次都要重新比對一下,看那一個 path 比較快

-->  echo '1' > /proc/sys/net/ipv4/icmp_echo_ignore_all

還有我對您這個指令是做什麼用的,我不了解

--> ipchains -A forward -p all -s $vnet -j MASQ
                                           ^^^^^^^^^^

還有我對您這個指令是做什麼用的,我不了解

Anonymous

  • 訪客
問題: Linux 平台上之 Multipath Routing 應用
« 回覆 #3 於: 2002-01-07 00:09 »
echo '1' > /proc/sys/net/ipv4/icmp_echo_ignore_all

不回應任何的 icmp_echo ﹐也就是不會理會 ping 封包。

ipchains -A forward -p all -s $vnet -j MASQ

所有來自 $vnet 的封包﹐都經過偽裝(Masquerade)處理。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
問題: Linux 平台上之 Multipath Routing 應用
« 回覆 #4 於: 2002-01-08 10:45 »
kuolung 兄:

如果您不介意的話, 是否可以將您的 設定值post 出來, 讓小弟參考一下:
   1. 各網路介面的設定值(/etc/sysconfig/network-scripts/ifcfg-ethx)
   2. iptable 設定檔
   3. Multipath Routing 設定檔

令人感到高興的是, 您的設定可以出的去, 至於速度慢的原因, 可以再找.

ps: 我也是用 RH v7.2 , 只不過 iptable 不會用, 只好暫時使用 ipchains .

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
問題: Linux 平台上之 Multipath Routing 應用
« 回覆 #5 於: 2002-01-14 08:27 »
ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
IPADDR="172.18.X.X"
NETMASK="255.255.0.0"
ONBOOT="yes"

ifcfg-eth1
DEVICE="eth1"
IPADDR="61.A.A.226"
NETMASK="255.255.255.248"
ONBOOT="yes"

因我還有另兩條 adsl 故我加了一些在 rc.local

ifconfig eth1:1 61.A.A.234 netmask 255.255.255.248 broadcast 61.A.A.239
( 其中兩條固定的用 eth1 透過 switch 去接 )
adsl-start
( 另一條計時的用 eth2 去接 ,我的 eth2 在 boot 時,沒有 enable ,
這樣開機會比較快 ,連線後會產生 ppp0 )
iptables 的設定如下 :

/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
#
/sbin/iptables -t nat -A POSTROUTING -o eth1+ -s 172.18.0.0/16  
    -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 172.18.0.0/16  
    -j MASQUERADE

route table 如下 :

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
B.B.B.B    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
61.A.A.224  0.0.0.0         255.255.255.248 U     0      0        0 eth1
61.A.A.232  0.0.0.0         255.255.255.248 U     0      0        0 eth1
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         61.A.A.225  0.0.0.0         UG    0      0        0 eth1