さてさて
ルータのルータたる所以。を味わおうと思います。前回のエントリでも述べましたがうちの1812JのIOSは ver 12.4でしたのでvpdnは使いません。さていくつかまとめてきな事を先駆けてかいておきます。
- WANの実インタフェースである Fa0 Fa1 は実際にはpppoeを扱えない?のでDialerと呼ばれる仮想インタフェースを設定する
- 実インタフェースではpppoeの許可とどのDialerに紐づいてるかを指定する
- Dialerではpppを使うための設定とプロバイダの認証の設定をいれる
- デフォルトゲートウェイはDialerにむける
こんな所です。では設定です。
(config)# interface FastEthernet 0
(config-if)# no ip address
(config-if)# pppoe enable
(config-if)# pppoe-client dial-pool-number 1
pppoe enableでpppoeを利用できるようにしています。pppoe-client〜は後で設定するDialerのdial-pool-numberに対応するようなのでここの数字は一致させないとダメということだと思います。
つづいてDialerの設定です。
(config)#interface Dialer 1
(config-if)# ip address negotiated
(config-if)# ip mtu 1454
(config-if)# encapsulation ppp
(config-if)# dialer pool 1
(config-if)# dialer idle-timeout 0
(config-if)# dialer-group 1
(config-if)# ppp authentication pap callin
(config-if)# ppp pap sent-username ユーザ@nifty.com password xxxxxxxx
ポイントがいくつかあります。
- ip address negotiatedはアドレスを動的に受け取る設定
- niftyのMTU?はこの値らしい。でもこれは変えてもつながるんじゃないかな・・・。
- encapsulation pppはpppでパケットカプセル化するよって意味らしい。
- dialer-pool は Fa0 で指定した1を設定
- ppp認証はpapとchapがあってchapの方がセキュアらしい、niftyは両方対応しているらしいので今回はpapで。
こんなとこです。なんか抜けてないかな・・・。こねくりまわしてつながったのでもしかしたら余分な設定も入ってるかもしれません。これも見直すとそんなに量はないですね。ついでにデフォルトの設定を
(config)# ip route 0.0.0.0 0.0.0.0 Dialer1
なんかさくっとできたっぽいけど実際はかなり苦労しました。
設定があやしいなーと思ったら
#debug pppoe events
#debug pppoe errors
とかしておくとターミナルに色々はいてくれます。実際にこんなログがでたりしました。
*1217175586*Jul 26 03:00:07.763: padi timer expired
*1217175587*Jul 26 03:00:07.763: Sending PADI: Interface = FastEthernet0
また最初設定した時はPPPoE接続のリクエストを出しているけど確認できない状態でした。PPPoEにはディスカバリステージとセッションステージという2段階があるそうで(この辺参照:http://www.ntt-me.co.jp/bar/tutorial_pppoe.html)ディスカバリステージが終了すると対抗(フレッツ側)のNICのMACアドレスがわかるようです。上のログはディスカバリのリクエストパケットであるPADIをおくったけど応答がない感じのログですね。ちなみに対抗のMACが認識できたかはshow pppoe session(前?はshow vpdnだったみたい)でわかります。
# show pppoe sessionPPPoE Session Information
Uniq ID PPPoE RemMAC Port VT VA State
SID LocMAC VA-st
N/A 0 0000.0000.0000 Fa0 Di1 N/A N/A
0000.0000.0000
ちなみに上記はリクエスト送ってるけど応答がかえってこなかった(あくまでこちらの設定ミスのせいですが)状態で打ったときです。ちゃんとディスカバーできたときはRemMACの値がちゃんと出てきました。あとはどこでどうやったかいつの間にかつながってました。単にno shutdownしてなかっただけかなぁ。メモし忘れてましたがつながった状態だとFa0 は up だけど protcolが使えないみたいなエラーが出て、Dialer1にはちゃんとアドレスが付加されてました。こんなとこです。後はついでにネームサーバ指定しておきました。どーもアドレスはもらえてもネームサーバはもらえん模様。
ip name-server 202.248.xxx.xxx
ip name-server 202.248.xxx.xxx
ちなみに指定したのはniftyのネームサーバです。これでとりあえずルータ自身が外とのやりとりはできるようになったのですが、その配下のクライアントが外にでるにはnatまわりの設定が必要みたいです。次の課題はここですね。