らくがきちょう

なんとなく

Cisco ルータを PPPoE サーバにするには

PPPoE を前提とした環境をテストするには、どこのご家庭にも一台は必ず置いてある Cisco ルータを PPPoE サーバにすると便利です。

1:1 接続の構成例

PPPoE のサーバとクライアントが 1:1 の関係になるのが最もシンプルな構成です。

f:id:sig9:20150114122749p:plain

今回は以下のパラメータを構成してみます。

項目
PPPoE 接続用ユーザ名 USER1@EXAMPLE.LOCAL
PPPoE 接続用パスワード PASSWORD1
PPPoE 接続時 割り当てアドレス 192.168.1.1(固定)

Cisco ルータを PPPoE サーバに設定した場合のサンプルコンフィグは以下の通りです。

hostname PPPoE-Server
!
username USER1@EXAMPLE.LOCAL password PASSWORD1
!
ip local pool POOL1 192.168.1.1
!
interface Loopback0
 ip address 192.168.254.254 255.255.255.255
!
interface Virtual-Template1
 mtu 1454
 ip unnumbered Loopback0
 peer default ip address pool POOL1
 ppp authentication chap
!
bba-group pppoe GROUP1
 virtual-template 1
!
interface Ethernet0/0
 no ip address
 pppoe enable group GROUP1
 no shutdown
!
end

同じく、Cisco ルータを PPPoE クライアントに設定した場合のサンプルコンフィグは以下の通りです。ここでは例を分かりやすくする為、PPPoE クライアントの設定しかしていませんが、実際に利用する際は NAT 設定等も必要になるケースが多いと思われます。

hostname PPPoE-Client-1
!
interface Ethernet0/0
 no ip address
 pppoe enable
 pppoe-client dial-pool-number 1
 no shutdown
!
interface Dialer1
 ip address negotiated
 ip mtu 1454
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 ppp authentication chap callin
 ppp chap hostname USER1@EXAMPLE.LOCAL
 ppp chap password PASSWORD1
 ppp ipcp route default
!
dialer-list 1 protocol ip permit
!
end

ppp ipcp route default コマンドによりデフォルトゲートウェイは PPPoE サーバを向きます。show ip route でルーティングテーブルを確認した結果は以下の通りです。

PPPoE-Client-1# show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is 192.168.254.254 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 192.168.254.254
      192.168.1.0/32 is subnetted, 1 subnets
C        192.168.1.1 is directly connected, Dialer1
      192.168.254.0/32 is subnetted, 1 subnets
C        192.168.254.254 is directly connected, Dialer1

1:N 接続の構成例

同一インターフェイスに Hub 等を接続し、複数の PPPoE クライアントを接続する場合の構成例は以下の通りです。

f:id:sig9:20150114122757p:plain

この場合、「複数ユーザを用意しておく」「ip local pool を(/32 ホストでは無く)範囲で設定しておく」ことでサーバは複数クライアントからの接続要求を処理出来ます。今回は以下のパラメータを構成してみます。

項目
【ユーザ 用1】PPPoE 接続用ユーザ名 USER1@EXAMPLE.LOCAL
【ユーザ 用1】PPPoE 接続用パスワード PASSWORD1
【ユーザ 用2】PPPoE 接続用ユーザ名 USER2@EXAMPLE.LOCAL
【ユーザ 用2】PPPoE 接続用パスワード PASSWORD2
【ユーザ 用3】PPPoE 接続用ユーザ名 USER3@EXAMPLE.LOCAL
【ユーザ 用3】PPPoE 接続用パスワード PASSWORD3
PPPoE 接続時 割り当てアドレス 192.168.1.1 〜 192.168.1.254

Cisco ルータを PPPoE サーバに設定した場合のサンプルコンフィグは以下の通りです。

hostname PPPoE-Server
!
username USER1@EXAMPLE.LOCAL password PASSWORD1
username USER2@EXAMPLE.LOCAL password PASSWORD2
username USER3@EXAMPLE.LOCAL password PASSWORD3
!
ip local pool POOL1 192.168.1.1 192.168.1.254
!
interface Loopback0
 ip address 192.168.254.254 255.255.255.255
!
interface Virtual-Template1
 mtu 1454
 ip unnumbered Loopback0
 peer default ip address pool POOL1
 ppp authentication chap
!
bba-group pppoe GROUP1
 virtual-template 1
!
interface Ethernet0/0
 no ip address
 pppoe enable group GROUP1
 no shutdown
!
end