作者 主題: 合併頻寬(multipath)-中華電信與東森寬頻  (閱讀 11556 次)

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

jwt

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
小弟:
由於有兩條線路,一條是中華電信ADSL(ppp0),另外一條是東森cable modem(eth2),兩者都是浮動ip.想要將其合併使用(multipath)

小弟有先拜讀過
netman - http://www.study-area.net/tips/multipath.htm
以及
twu2 - http://phorum.study-area.org/viewtopic.php?t=10085

等兩篇文章.
Linux OS: RedHat EL AS3
先說明一下,小弟的網路配置:
eth0-->中華電信(Hinet)
IP:192.168.100.254/255.255.255.0

eth1-->內部網路
IP:192.168.1.254/255.255.255.0

eth2-->東森寬頻
(dhcp)
IP:210.85.102.43(這個是目前被分配到的ip)
GW:210.85.102.1

ppp0-->中華電信(Hinet)
(浮動)
IP:220.132.152.157(這個是目前被分配到的ip)
GW:61.217.32.254

曾照著netman大大的文件,指令一行一行的輸入,沒有看見任何的錯誤,

#ip rule add pref 20 from 210.85.102.43 table CABLE
#ip rule add pref 30 from 220.132.152.157 table ADSL
#ip route replace default via 210.85.102.1 dev eth2 table CABLE
#ip route replace default via 61.217.32.254 dev ppp0 table ADSL
#ip route replace default nexthop via 210.85.102.1 dev eth2 weight 2 nexthop via 61.217.32.254 dev ppp0 weight 1
#ip route show
61.217.32.254 dev ppp0  proto kernel  scope link  src 220.132.152.157
192.168.100.0/24 dev eth0  scope link
192.168.1.0/24 dev eth1  scope link
210.85.102.0/23 dev eth2  proto kernel  scope link  src 210.85.102.43
169.254.0.0/16 dev eth2  scope link
127.0.0.0/8 dev lo  scope link
default
        nexthop via 210.85.102.1  dev eth2 weight 2
        nexthop via 61.217.32.254  dev ppp0 weight 1

#ip route flush cache

但在使用tcpdump -i any 查看封包分攤連線,卻感覺連線好像大部份都還是其中在ADSL上面.所以想要請問是否設定上修改的地方有錯誤呢?

再來就是想要請問一下,有關netman大大所提供的package-(multipath.tgz),小弟不知要如何修改,例如:在configs的檔案裏有關fixed_gw以及static_xxxxxx和static_xxxxx_order等內容,另外就是其他的設定檔是否也有需要修改的部份呢?

再請教一下,netman大大的DDNS的現在是否還可以提出申請呢?

jwt

  • 懷疑的國中生
  • **
  • 文章數: 32
    • 檢視個人資料
另外的參考資料!
« 回覆 #1 於: 2005-11-23 09:30 »
小弟在網路上找到另外一篇參考資料:中港高中Multipath作法

中港高中Multipath作法
http://w3.tceb.edu.tw/study/a/24/3/share/01.HTM

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


一、網路?#93;定

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?#93;Server一般?#93;定管理:須下載安裝)
2.pwebstats?#93;squid的log檔分析管理:須下載安裝)
3.Mrtg?#93;即時流量分析:Readhat7.3內含)
4.Iptraf?#93;網路監看:Readhat7.3內含)
5.iptables?#93;網路管理:Readhat7.3內含)
6.iproute2?#93;路由?#93;定,multipath:Readhat7.3內含)

四、網路?#93;定檔

/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的?#93;定

##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

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


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


##如果要自動在兩個線路中自動切換上面這一行改成下面的?#93;定,
##其中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一定要垢S定的路由可以如下?#93;定
##強迫192.168.2.214這個ip一定要走table t1的路由?#93;定,
##?#93;就是說如果要對外連線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

?#91;?#93; NAT
http://www.study-area.org/linux/servers/linux_nat.htm


小弟對其中有一條關於NAT的指令有的疑惑
就是
代碼: [選擇]
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
這一個指令,沒有使用-o eth0,或是-o eth2,這樣的話192.168.2.0/24這個網段是用那個真實ip出去呢?

kuolung

  • 俺是博士!
  • *****
  • 文章數: 1031
    • 檢視個人資料
    • http://www.kuolung.net
Re: 另外的參考資料!
« 回覆 #2 於: 2005-11-23 10:34 »
引述: "jwt"

小弟對其中有一條關於NAT的指令有的疑惑
就是
代碼: [選擇]
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
這一個指令,沒有使用-o eth0,或是-o eth2,這樣的話192.168.2.0/24這個網段是用那個真實ip出去呢?


就是不用指定那一個 IP 出去啊,指定了,不就不能跑 MultiPath 了

或是可以這樣下指令 :

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.2.0/24 -j MASQUERADE

這樣要下兩道指令才行
=========================
http://www.kuolung.net
==========================

blueway757

  • 可愛的小學生
  • *
  • 文章數: 15
    • 檢視個人資料
192.168.2.0/24這個網段是用那個真實ip出去呢?
« 回覆 #3 於: 2006-04-09 22:25 »
route -C 去看目前nat 內ip 路由狀況 ^^

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #4 於: 2006-04-09 23:14 »
是某一個連線被集中在某一條
還是所有的連線被集中在某一條?

MultiPath 不能針對一個連線分散在二條不同的網路

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #5 於: 2006-04-10 00:35 »
要看 patch 打到甚麼甚麼層級.
在預設上, kernel 的 network 會 cache 住某一 routing .
而且, 當一個 session 建立起來後, 也是會一直保留在某一 link 上, 是不會分散的.
除非打過 eq 的 patch, 但這部份我之前并沒實作成功.

基本上, 只要有 packet 出現在兩條線路上, 就算是初步實作出來了.
至於是否能做到平均分攤, 那就是仍然需要努力的部份了.

關於我們的 ddns , 應該還有在提供, 可以將你的資訊 PM 給我.
之前還請梁楓幫我寫好界面了, 可惜我一懶起來, 都沒裝上去.
真是對不起他.... 嗚~~~~  >_<

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #6 於: 2006-04-10 00:37 »
引述: "netman"
要看 patch 打到甚麼甚麼層級.
在預設上, kernel 的 network 會 cache 住某一 routing .
而且, 當一個 session 建立起來後, 也是會一直保留在某一 link 上, 是不會分散的.
除非打過 eq 的 patch, 但這部份我之前并沒實作成功.


之前據我所知

之所以不行,是因為訊號壓根到不到目地不是嗎?

還是我理解有誤?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #7 於: 2006-04-10 00:51 »
甚麼訊號框??

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #8 於: 2006-04-10 00:54 »
一個以經成功的連線,經由二條不同的網路到達目地
不是會因為訊號辦識的關系,無法確認來源,而無法接受嗎?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #9 於: 2006-04-10 00:59 »
不懂....
反正, 在 IP 那層, 只要 socket pair 沒改變, 還有 tcp 那堆 header 沒變, 你走哪條 link 出去都行.
但對方怎回來, 那就是他家的事.
IP 是 L3 的, L2 那層用甚麼都行, 能過得去就行.

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
合併頻寬(multipath)-中華電信與東森寬頻
« 回覆 #10 於: 2006-04-10 01:00 »
soga...似乎懂一半了...