在同一條dsl線路撥接多個pppoe的問題(都會通) - BBS
By Ingrid
at 2008-06-20T17:09
at 2008-06-20T17:09
Table of Contents
各位先進,小弟最近被迫使用FreeBSD架設NAT,問題都已解決,但是非常怪異,請撥冗檢
視一下,謝謝。
1. 環境如下:
OS: FreeBSD 7.0 Release AMD64
網路介面:Intel 82559 -> fxp0 這是對外的裝置
Realtek 8139 -> rl0 這是對lan1的裝置
Nvidia onboard ethernet -> nfe0 這是對lan2的裝置
連線環境:Hinet光世代 10m/2m fix address x 1 + dynamic address x 7
2. 需求:
在fxp0上撥接取得兩個浮動位址(tun0與tun1兩個介面),lan1對外由tun0而lan2由
tun1出去
3. 遭遇的逆境:
最早以FreeBSD Handbook為範例:
http://www.freebsd.org/doc/en/books/handbook/pppoe.html
將/etc/ppp/ppp.conf作如下設定:
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0
dyn1:
set device PPPoE:fxp0
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
dyn2:
set device PPPoE:fxp0
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
設定完後,以指令:
ppp -ddial dyn1
ppp -ddial dyn2
撥接後,得到兩個介面tun0與tun1,但是tun1卻未能成功取得ip組態
檢視/var/log/messages,有如下的錯誤訊息:
tun1: Warning: iface add: ioctl(SIOCAIFADDR, 211.123.234.211/24 -> \
211.123.234.254): File exists
tun1: Error: ipcp_InterfaceUp: unable to set ip address
(由tun0的組態可得知,gateway的ip address為:211.123.234.254)
4. 解決:
a. 修改/etc/ppp/ppp.conf成:
default:
set log Phase tun command
set device PPPoE:fxp0
set dial
set login
enable dns
nat enable yes
nat same_ports yes
nat use_sockets yes
set reconnect 15 10000
enable dns
dyn1:
set ifaddr 0/0 1.1.1.1/32
set authname YOURLOGINNAME
set authkey YOURPASSWORD
add default HISADDR
dyn2:
set ifaddr 0/0 1.1.1.2/32
set authname YOURLOGINNAME
set authkey YOURPASSWORD
b. 撥接
ppp -ddial dyn1
ppp -ddial dyn2
c. 以ifconfig 檢視結果:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 211.123.234.231 --> 1.1.1.1 netmask 0xffffffff
Opened by PID 91340
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 211.123.234.211 --> 1.1.1.2 netmask 0xffffffff
Opened by PID 79523
d. 測試狀況:分別用ping -S 指定兩個source address去 ping 168.95.1.1都可以通;
routing table如下:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 1.1.1.1 UGS 0 750922 tun0
1.1.1.1 211.123.234.231 UGH 1 0 tun0
1.1.1.2 211.123.234.211 UGH 0 0 tun1
10.0.0.0 link#3 UC 0 0 fxp0
10.0.0.2 link#3 UHLW 1 0 fxp0
10.250.4.3 link#3 UHLW 1 1 fxp0
localhost localhost UH 0 898 lo0
192.168.1.0 link#4 UC 0 0 nfe0
192.168.2.0 link#5 UC 0 0 rl0
5. 真正的問題:
目前已經用pf做好source routing及nat了,從內部網路的windows以tracert測試到
168.95.1.1所經過的路由也很明確的顯示由此FreeBSD NAT box出去所經過的第一個節點
的確是
211.123.234.254
這個gateway,但是為何在routing table裡default gateway及ifconfig的顯示會是如此
的怪異呢?
雖然目的已經都達成,但這樣的設定有沒有可能造成一些其他未知的不良影響呢?
如果這不是一個好的解決方式,還有更好的辦法嗎?
請各位先進不吝指教,謝謝
--
視一下,謝謝。
1. 環境如下:
OS: FreeBSD 7.0 Release AMD64
網路介面:Intel 82559 -> fxp0 這是對外的裝置
Realtek 8139 -> rl0 這是對lan1的裝置
Nvidia onboard ethernet -> nfe0 這是對lan2的裝置
連線環境:Hinet光世代 10m/2m fix address x 1 + dynamic address x 7
2. 需求:
在fxp0上撥接取得兩個浮動位址(tun0與tun1兩個介面),lan1對外由tun0而lan2由
tun1出去
3. 遭遇的逆境:
最早以FreeBSD Handbook為範例:
http://www.freebsd.org/doc/en/books/handbook/pppoe.html
將/etc/ppp/ppp.conf作如下設定:
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0
dyn1:
set device PPPoE:fxp0
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
dyn2:
set device PPPoE:fxp0
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
設定完後,以指令:
ppp -ddial dyn1
ppp -ddial dyn2
撥接後,得到兩個介面tun0與tun1,但是tun1卻未能成功取得ip組態
檢視/var/log/messages,有如下的錯誤訊息:
tun1: Warning: iface add: ioctl(SIOCAIFADDR, 211.123.234.211/24 -> \
211.123.234.254): File exists
tun1: Error: ipcp_InterfaceUp: unable to set ip address
(由tun0的組態可得知,gateway的ip address為:211.123.234.254)
4. 解決:
a. 修改/etc/ppp/ppp.conf成:
default:
set log Phase tun command
set device PPPoE:fxp0
set dial
set login
enable dns
nat enable yes
nat same_ports yes
nat use_sockets yes
set reconnect 15 10000
enable dns
dyn1:
set ifaddr 0/0 1.1.1.1/32
set authname YOURLOGINNAME
set authkey YOURPASSWORD
add default HISADDR
dyn2:
set ifaddr 0/0 1.1.1.2/32
set authname YOURLOGINNAME
set authkey YOURPASSWORD
b. 撥接
ppp -ddial dyn1
ppp -ddial dyn2
c. 以ifconfig 檢視結果:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 211.123.234.231 --> 1.1.1.1 netmask 0xffffffff
Opened by PID 91340
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 211.123.234.211 --> 1.1.1.2 netmask 0xffffffff
Opened by PID 79523
d. 測試狀況:分別用ping -S 指定兩個source address去 ping 168.95.1.1都可以通;
routing table如下:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 1.1.1.1 UGS 0 750922 tun0
1.1.1.1 211.123.234.231 UGH 1 0 tun0
1.1.1.2 211.123.234.211 UGH 0 0 tun1
10.0.0.0 link#3 UC 0 0 fxp0
10.0.0.2 link#3 UHLW 1 0 fxp0
10.250.4.3 link#3 UHLW 1 1 fxp0
localhost localhost UH 0 898 lo0
192.168.1.0 link#4 UC 0 0 nfe0
192.168.2.0 link#5 UC 0 0 rl0
5. 真正的問題:
目前已經用pf做好source routing及nat了,從內部網路的windows以tracert測試到
168.95.1.1所經過的路由也很明確的顯示由此FreeBSD NAT box出去所經過的第一個節點
的確是
211.123.234.254
這個gateway,但是為何在routing table裡default gateway及ifconfig的顯示會是如此
的怪異呢?
雖然目的已經都達成,但這樣的設定有沒有可能造成一些其他未知的不良影響呢?
如果這不是一個好的解決方式,還有更好的辦法嗎?
請各位先進不吝指教,謝謝
--
Tags:
BBS
All Comments
Related Posts
執行account時
By Zenobia
at 2008-06-20T06:59
at 2008-06-20T06:59
email 請問遇到這種狀況該怎麼辦
By Franklin
at 2008-06-19T22:48
at 2008-06-19T22:48
shell script寫法上的一些問題
By Quintina
at 2008-06-17T23:07
at 2008-06-17T23:07
在FreeBSD 7.0 Release下安裝ns2 2.33
By Agnes
at 2008-06-17T02:11
at 2008-06-17T02:11
在FreeBSD 7.0 Release下安裝ns2 2.33
By Edith
at 2008-06-17T01:23
at 2008-06-17T01:23