渡邉@aspicです。

昔似たようなことをした時の記憶なんですが

default:
  set device PPPoE:vr0
  #set log Phase Chat LCP IPCP CCP tun command
  set log Phase Chat IPCP CCP tun command
  set speed sync
  set MRU 1438
  set MTU 1438
  set ctsrts off
  set timeout 0
  accept CHAP
  enable tcpmssfix
  add default HISADDR <-これが拙いんではないでしょうか?

 !無しのadd defaultが2回呼ばれてエラーになってるような...

  ocnip8 -> defalt -> flets -> defaultでも
  flets -> default -> ocnip8 -> defalt でも

結局、先の接続で確定した defaultroute に上書き出来ずに
失敗してしまうような気がします。

> 中治@鳥取です。
> 
> http://euc.jp/network/pppoe.ja.html
> http://www.yas.mu/network/fletsq/
> http://home.jp.freebsd.org/cgi-bin/thread?mesid=%3c20021014%2e213300%2e74693221%2ehigaki%40tu%2echiba%2du%2eac%2ejp%3e
> 
> などを参考に、
> 
> ・NTT西日本
> ・フレッツ・光プレミアム(+ひかり電話)
> ・OCN 光アクセス IP8 「フレッツ・光プレミアム」プラン
> ・FreeBSD 6.3-STABLE #56: Fri Jun 20 00:18:17 JST 2008
> 
> で、PPPoE複数セッション接続を試みていますが、
> 
> Warning: iface add: ioctl(SIOCAIFADDR, 10.183.50.71 -> 210.247.16.1): File 
> exists
> Error: ipcp_InterfaceUp: unable to set ip address
> 
> というエラーで、フレッツ・スクェアに接続できません。どうすればよいでしょう
> か、という相談です。
> 
> <やったこと>
> 
> 1. ppp.confにフレッツの項目を追加
> 
> default:
>  set device PPPoE:vr0
>  #set log Phase Chat LCP IPCP CCP tun command
>  set log Phase Chat IPCP CCP tun command
>  set speed sync
>  set MRU 1438
>  set MTU 1438
>  set ctsrts off
>  set timeout 0
>  accept CHAP
>  enable tcpmssfix
>  add default HISADDR
> 
> ocnip8:
>  accept lqr
>  enable lqr
>  set cd 5
>  set dial
>  set login
>  set redial 0 0
>  set authname OCNの認証ID
>  set authkey OCNの認証パスワード
>  set reconnect 5 5
> 
> flets:
>  accept lqr
>  enable lqr
>  set cd 5
>  set dial
>  set login
>  set redial 0 0
>  set reconnect 5 5
>  set authname 
> [&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]
>  set authkey flets
> 
> 2. フレッツ網へのstatic routesをppp.linkupに追加
> 
> フレッツ接続ツールで直結したWindows XPでの情報によれば、NTT西日本では、
> 10.60.16.0/20や10.174.0.0/20への静的ルーティングが必要らしいです。
> 
> ocnip8:
>  ! ifconfig tun0 delete
>  ! ifconfig tun0 60.32.13.194 netmask 255.255.255.248 HISADDR
>  add! default HISADDR
> 
> flets:
>  add! 10.60.16.0/20 HISADDR
>  add! 10.174.0.0/20 HISADDR
> 
> 3. /etc/rc.confでppp起動を設定
> 
> 最近は便利に書けるようになったようです。
> 
> $ grep ppp /etc/rc.conf
> ppp_enable="YES"
> ppp_profile="ocnip8 flets"
> ppp_profile="ocnip8"
> ppp_ocnip8_mode="ddial"
> ppp_ocnip8_nat="NO"
> ppp_ocnip8_unit="0"
> ppp_flets_mode="ddial"
> ppp_flets_nat="YES"
> ppp_flets_unit="1"
> 
> 4. pppでfletsにつないでみるとエラーになる
> 
> # ppp -unit1 flets
> Working in interactive mode
> Using interface: tun1
> ppp ON www> dial
> ppp ON www> 
> Ppp ON www> 
> PPp ON www> Warning: iface add: ioctl(SIOCAIFADDR, 10.183.50.71 -> 
> 210.247.16.1): File exists
> Error: ipcp_InterfaceUp: unable to set ip address
> 
> </やったこと>
> 
> 何度かの試行錯誤のうち set log allしておいたときの、/var/log/ppp.logには
> 
> IPCP: deflink: RecvConfigAck(7) state = Ack-Sent
> IPCP:  IPADDR[6] 10.172.1.121
> IPCP: deflink: State change Ack-Sent --> Opened
> IPCP: deflink: LayerUp.
> IPCP: myaddr 10.172.1.121 hisaddr = 210.247.16.1
> ID0: 4 = socket(2, 2, 0)
> ID0: -1 = ioctl(4, 2151704858, 0xbfbfdc10)
> Warning: tun2: AIFADDR 10.172.1.121 -> 210.247.16.1 returns -1
> Warning: iface add: ioctl(SIOCAIFADDR, 10.172.1.121 -> 210.247.16.1): File 
> exists
> Error: ipcp_InterfaceUp: unable to set ip address
> IPCP: deflink: LayerDown: 10.172.1.121
> 
> というログが残っています。このときは、こちらに10.172.1.121が割り当てられた
> ようです。
> 
> tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1438
>         inet 60.32.13.194 --> 210.247.16.1 netmask 0xfffffff8 
>         Opened by PID 455
> tun1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
> 
> ということで、210.247.16.1をtun0で使っているからだとは思うのですが、NTT東
> 日本での経験談しか見つからないのも気になります。
> 
> ## NTT西日本で「1契約で複数のセッションを同時に張りたい」人が少ないから?
> 
> Googleでの検索結果
> http://www.google.co.jp/search?q=Error%3A+ipcp_InterfaceUp%3A+unable+to+set+ip+address&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja-JP:official&client=firefox
> によれば、
> 
> POPTOP on a FreeBSD 7.0 machineで同様の問題を抱えている人
> http://lists.freebsd.org/pipermail/freebsd-questions/2008-June/177329.html
> 
> 同じPPPoEサーバに2つつなぐと後からのが失敗する人
> http://www.mydatabasesupport.com/forums/bsd-freebsd-misc/345679-running-2-pppoe-connections-connecting-same-pppoe-server.html
> 
> などが見つかります。後者の人は
> 
>     So what I did is manually set parameters of ng1 with 'ifconfig', and
>     set IP address of 'remote endpoint' to a another IP of ISPs
>     network. And this worked fine.
> 
> ということで何とかしたらしいのですが、どんなPPPoEサーバなのか、どんなパラ
> メータを設定したのかといった肝心な情報がないので、あまり参考にできません。
> 
> …などと書いているうちに、
> 
> mpdを使うとうまくいくこともある
> http://lists.freebsd.org/pipermail/freebsd-questions/2007-March/144035.html
> http://wiki.cyberleo.net/index.php/MultiHomedRouter
> 
> という体験談を見つけました。あとで試してみます。
> 
> どなたか、他に何かご存じのことやオススメの方法があれば教えてください。
> 
> また、/usr/sbin/pppじゃなくてmpdを使う場合、net/mpd{,4,5}ではどれがオスス
> メですか?
> -- 
> NAKAJI Hiroyuki (中治 弘行)
-- 
 <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>

メールによる返信