PPPoE 基本設定例 端末型払い出し-固定IP【cisco】

ネットワーク

構成図

要件

  • CiscoのIOSで設定
  • 端末型払い出し(一つのIPが割り当てられる)
  • IPは固定で指定する
  • 認証はPPPoEサーバ側でローカル認証で行う
userpasswordIPアドレス
Router-A (PPPoEクライアント)user-a@izuminmin.comuser12330.1.1.1/32
R2 (PPPoEサーバ)10.1.1.1/32 (Loopback)

設定

特権モードのパスワードやSSH設定など基本的な部分は完了している状態からスタート。

PPPoEサーバー設定(R2)

ユーザーの作成
まずはユーザを作成

(config)#username user-a@izuminmin.com password 0 user123

IPアドレスの設定
LoopbackにIPアドレスを指定する。
ここはLoopbackなので/32で問題ない。

(config)#int lo 0
(config-if)#ip add 10.1.1.1 255.255.255.255
(config-if)#no shut
(config-if)#exit

PPPoEクライアントに渡すIPアドレスを設定
プールには「USER-A」と名前をつけた。

(config)#ip local pool USER-A-POOL 30.1.1.1

PPPoEサーバの仮想インターフェースの設定
下のリンクにあるように、PPPoEを利用するには8byteのヘッダの付与が必要。
MTUは1500byteであるため、1492byteにする。
しかし、プロバイダ側にてL2TPを利用しているBフレッツではMTUが異なり1454byteにする。
プロバイダによって異なるため、確認を取ることが重要。
今回は、フレッツである1454を採用する。

PPPとPPPoEの仕組み基礎
PPPoEについて PPPoEとは、Point to Point Protocol over Ethernetの略であり、PPPをイーサネット上でつかえるように拡張されたプロトコル。PPP前提となるPPPとは、ポイントとポイント同士を直接つ...
(config)#int Virtual-Template1
(config-if)#mtu 1454 //フレッツのMTU
(config-if)#ip unnumbered lo0 //lo0のIPを使う
(config-if)#peer default ip address pool USER-A-POOL //割り当てるIPプールを指定
(config-if)#ppp authentication chap //認証にCHAPを利用
(config-if)#ppp ipcp dns 8.8.8.8 //DNSをIPCPで渡す
(config-if)#exit

bba-groupの設定
bba-groupは仮想インターフェースと物理インターフェースをつなげる役割。

(config)#bba-group pppoe BBA-USER-A
(config-bba-group)#virtual-template 1 //仮想インターフェースを割り当てる。
(config-bba-group)#exit

インターフェースに適用
bba-groupを適用する。

(config)#interface g0/1
(config-if)#pppoe enable group BBA-USER-A //bba-groupを割り当てる。
(config-if)#no shut
(config-if)#exit
PPPoEクライアント設定(Router-A)

こちらも特権モードのパスワードやSSH設定など基本的な部分は完了している状態からスタート。
まずはPPPoEクライアントの設定から。

ダイヤラインターフェースの作成
Dialerインターフェースは認証に成功したらリンクアップするインターフェース。

(config)#interface dialer 1 //番号は自由
(config-if)#ip add negotiated //IPアドレスをIPCPで取得する
(config-if)#ip mtu 1454 //プロバイダに合わせる。今回はサーバ側で1454を採用している
(config-if)#encapsulation ppp //PPPでカプセル化する。
(config-if)#dialer pool 1 //番号は自由だが、この番号をインターフェースで適用する
(config-if)#dialer-group 1 //番号は自由だが、後述するダイヤラグループとマップする
(config-if)#ppp authentication chap callin // クライアントからサーバに対して認証を要求しない
(config-if)#ppp chap hostname user-a@izuminmin.com 
(config-if)#ppp chap password user123
(config-if)#ppp ipcp dns accept //DNSをIPCPで取得する 
(config-if)#exit

ダイヤラリストの作成
ダイヤラインターフェースで入力した「dialer-group」と紐づく。
ここで定義する通信が行われる場合に、PPPoEのセッション確立要求が行われる。
ここではIPを指定している。
dialer-list <==> dialer-group

(config)#dialer-list 1 protocol ip permit

物理インターフェースにてPPPoEの有効化

(config)#int g0/0
(config-if)#pppoe enable  
//バージョンによりpppoe enable group globalと表示される場合もある。globalはデフォルトグループ名
(config-if)#pppoe-client dial-pool-number 1 //ダイヤラインターフェースで作成した「dialer pool 1」とマップ
(config-if)#no shut
(config-if)#exit

デフォルトルートの設定

(config)#ip route 0.0.0.0 0.0.0.0 dialer 1

PPPoEセッションの確認

ここまで設定することで、PPPoEによるセッションが確立される。
うまく行っていない場合はユーザー名やパスワードに間違いはないか、
chapにcallinは付けているか、usernameはsecretではなくpassword。
など色々考えられるのでレッツトラシュー

#show pppoe session
#show ppp all
#show ip route

NAPT(PAT)設定

PPPoEセッションは確立されたが、Ubuntuからインターネットにはアクセスできない。
まだNAPT設定を行っていないため。
設定を行い、この備忘録が見えるようになったら完成。

(config)#int g0/1
(config-if)#ip add 192.168.1.254 255.255.255.0
(config-if)#ip tcp adjust-mss 1414 //本来は1452だが、フレッツの場合1414
(config-if)#no shut
(config-if)#ip nat inside
(config-if)#exit
(config)#int dialer 1
(config-if)#ip nat outside
(config-if)#exit
(config)#ip access-list standard ALLOW_NAPT 
(config-std-nacl)#10 permit 192.168.1.0 0.0.0.255
(config-std-nacl)#exit
(config)#ip nat inside source list ALLOW_NAPT interface 1 overload

以上の設定を入れ、
Ubuntuから確認してみると…

しっかりネットに繋がった。
tracerouteしてみると無事に外に出ている。

以上でPPPoEの基本設定完了。
次は実機でマルチベンダーで試して見る予定。

ハマったポイント

ハマったポイントがあります。
(config)#username user-a@izuminmin.com password 0 user123
の部分を
(config)#username user-a@izuminmin.com secret user123
にしていたところ、接続が完了せずに少し戸惑いました。
secretで作った場合md5でハッシュ化されるため、
CHAPの際にうまく行かないのだと思います。

確証を持てていないですが、試してみてください。


PPPとPPPoEの仕組み基礎
PPPoEについて PPPoEとは、Point to Point Protocol over Ethernetの略であり、PPPをイーサネット上でつかえるように拡張されたプロトコル。PPP前提となるPPPとは、ポイントとポイント同士を直接つ...

コメント

タイトルとURLをコピーしました