在同一條dsl線路撥接多個pppoe的問題(都會通) - BBS

Ingrid avatar
By Ingrid
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的顯示會是如此
的怪異呢?

雖然目的已經都達成,但這樣的設定有沒有可能造成一些其他未知的不良影響呢?
如果這不是一個好的解決方式,還有更好的辦法嗎?

請各位先進不吝指教,謝謝

--
Tags: BBS

All Comments

執行account時

Zenobia avatar
By Zenobia
at 2008-06-20T06:59
各位大大您好 小的bbs站是freebsd 4.0 Maple bbs 3 在執行~/bin/account 會出現[shmget error] key = bb5 這要如何解? 謝謝! - ...

email 請問遇到這種狀況該怎麼辦

Franklin avatar
By Franklin
at 2008-06-19T22:48
最近裝了 postfix . mailscanner 後垃圾信減少很多 但是有一位 user 遇到一個情況 就是有很多的 Mail Delivery Subsystem 退回信 大多是 ru (俄羅斯) 的 我將退回信件表頭貼過來 寄件人 From MAILER-DAEMON Thu Jun 19 22:0 ...

shell script寫法上的一些問題

Quintina avatar
By Quintina
at 2008-06-17T23:07
※ 引述《gilofer.bbsatbbs.badcow.com.tw (我當黑手的日子)》之銘言: : ※ 引述《hikaruh.bbsatptt.cc (新生活)》之銘言: : : 小弟是新手,最近開始學著撰寫shell script(csh)請教一下大家。 : : 問題一 : : 在某個log檔中如果有 ...

在FreeBSD 7.0 Release下安裝ns2 2.33

Agnes avatar
By Agnes
at 2008-06-17T02:11
※ 引述《CMChou (請響應不看中華職棒運動)》之銘言: : %make : and#34;Makefileand#34;, line 391: Missing dependency operator : and#34;Makefileand#34;, line 410: Need an operator ...

在FreeBSD 7.0 Release下安裝ns2 2.33

Edith avatar
By Edith
at 2008-06-17T01:23
請問有先進在BSD下面安裝過ns2 2.33嗎? 或者其他版本都可以, 我下在ns2的all-in-one版本後, 使用其內建的install script檔, 可以安裝完成,也可以執行, 但是當更動檔案,進行make時, 就會出現下列訊息: %make and#34;Makefileand#34;, lin ...