PPPoEとは
-
PPPoEとは
PPPoEのアドレス払い出し方式
PPPoEのクライアントへのIPアドレスの払い出しは下記2種類ある。
- 端末型払い出し
1つのPPPoEセッションに対して1つのIPアドレスをPPPoEサーバから払い出す方式。契約によりアドレスがダイナミックもしくは固定を選択すること出来る。 - LAN型払い出し
1つのPPPoEセションに対して1つのセグメントをPPPoEサーバから払い出す方式。/29などをPPPoEサーバから払い出す事が出来る。unnumber接続方式とも言われる方式
今回はGlobal側をISPと見立て端末型払い出しの固定IPの設定を実施します。インターネットを接続するイメージでクライアントからNATを利用してGlobal-routerと疎通出来るようにします。また今回のPPPoEサーバの認証はRadiusを利用して認証します。
検証環境
VIRL Cisco IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.6(2)T
検証構成
Config
FreeRadius データベース追加
FreeRadiusの構築手順はこちらに → FreeRADIUS 3.0.13 をCentOS 7.4へインストールしたメモ
下記のようにデータベースを登録する。
NAS登録 (RADIUS認証元のIPおよびSecrey-Keyを設定)
1 2 3 4 5 6 7 8 9 |
MariaDB [radius]> select nasname , shortname , secret from nas ; +--------------+-------------+------------+ | nasname | shortname | secret | +--------------+-------------+------------+ | 172.27.200.1 | pppoeserver | RADIUS-KEY | +--------------+-------------+------------+ 1 row in set (0.00 sec) MariaDB [radius]> |
Account追加
1 2 3 4 5 6 7 8 9 10 |
MariaDB [radius]> select username , attribute , op , value from radcheck; +-------------------------------+--------------------+----+-------+ | username | attribute | op | value | +-------------------------------+--------------------+----+-------+ | test1@server-network-note.net | Cleartext-Password | := | Pass1 | | test2@server-network-note.net | Cleartext-Password | := | Pass2 | +-------------------------------+--------------------+----+-------+ 2 rows in set (0.00 sec) MariaDB [radius]> |
1 2 3 4 5 6 7 8 9 10 |
MariaDB [radius]> select username , attribute , op , value from radreply; +-------------------------------+-------------------+----+--------------+ | username | attribute | op | value | +-------------------------------+-------------------+----+--------------+ | test1@server-network-note.net | Framed-IP-Address | = | 203.0.113.90 | | test2@server-network-note.net | Framed-IP-Address | = | 203.0.113.91 | +-------------------------------+-------------------+----+--------------+ 2 rows in set (0.01 sec) MariaDB [radius]> |
IOS-PPPoE-Server Config
AAA 新規登録
1 |
aaa new-model |
RADIUSサーバ登録
1 2 3 4 |
radius server RADIUS-SERVER address ipv4 172.27.100.14 auth-port 1812 acct-port 1813 key RADIUS-KEY ! |
AAA Group サーバ登録
1 2 3 4 |
aaa group server radius GROUP-PPPoE server name RADIUS-SERVER ip radius source-interface GigabitEthernet0/3 ! |
PPPoE 認証Radius設定
1 2 3 |
aaa authentication ppp default group GROUP-PPPoE aaa authorization network default group GROUP-PPPoE aaa accounting network default start-stop group GROUP-PPPoE |
PPPoE着信用のBBAグループの設定
1 2 3 |
bba-group pppoe global virtual-template 1 sessions max limit 100 |
次に着信用のvirtual-template を用意します。
1 2 3 4 |
interface Virtual-Template1 ip unnumbered Loopback0 keepalive 60 ppp authentication chap pap |
複数接続される度にPPPoEサーバのアドレス消費を抑えるため、ip unnumberで自身のloopbackを指定します。
接続先のクライアントへのアドレス配布は、RADIUSで作成されたradreplyからアドレスが払い出されます。
ppp authentication chap papで認証をchapを優先で実施する。
PPPoE着信するインターフェイスを下記のように指定します。
1 2 |
interface GigabitEthernet0/1 pppoe enable group global |
PPPoEクライアント1のConfig
PPPoE接続用のDialer1インターフェイスを作成します。
1 2 3 4 5 6 7 8 9 10 |
interface Dialer1 ip address negotiated ip mtu 1492 encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname test1@server-network-note.net ppp chap password 0 Pass1 no cdp enable |
ip mtu 1492 を設定しますが、純粋のPPPoE接続であればこの値で問題ないのですがフレッツの場合は内部でL2TPを利用している関係で1454になります。MTUは接続構成によって変わるので接続事業者に確認することが重要です。
指定したトラフィックが通過時にdialer 1が起動する設定
1 |
dialer-list 1 protocol ip permit |
PPPoEを着信するインターフェイスを指定します。
1 2 3 4 |
interface GigabitEthernet0/1 pppoe enable group global pppoe-client dial-pool-number 1 end |
プライベートルータ側のアドレスを設定
1 2 3 |
interface GigabitEthernet0/2 ip address 192.168.0.1 255.255.255.0 ip tcp adjust-mss 1452 |
PPPoEを利用することで通信区間で一部MTUが1492になる影響でTCPパケットが分割しないようにMSSを調整する為の値です。この値もPPPoEのみ環境では正しいのですがフレッツを利用する場合は、1414に変更する必要があります。
下記でデフォルトルートをPPPoEサーバ側に向けます。
1 |
ip route 0.0.0.0 0.0.0.0 Dialer1 |
この状態でPingを実施すると。Diarler1からのPingは通りますが、PrivateアドレスのGi0/2からのPingは通りません。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
IOS-PPPoE-Client1#ping 203.0.113.1 source Dialer 1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.113.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 3/4/5 ms IOS-PPPoE-Client1# IOS-PPPoE-Client1#ping 203.0.113.1 source gigabitEthernet 0/2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.113.1, timeout is 2 seconds: Packet sent with a source address of 192.168.0.1 ..... Success rate is 0 percent (0/5) IOS-PPPoE-Client1# |
NATを設定してPrivateアドレスから接続できるようにします。
1 2 3 4 5 6 7 8 |
access-list 1 permit 192.168.0.0 0.0.0.255 ip nat inside source list 1 interface Dialer1 overload interface Dialer1 ip nat outside exit interface GigabitEthernet0/2 ip nat inside exit |
NAT設定ができた為、Privateアドレス側からもPingが通るようになりました。
1 2 3 4 5 6 7 |
IOS-PPPoE-Client1#ping 203.0.113.1 source gigabitEthernet 0/2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.113.1, timeout is 2 seconds: Packet sent with a source address of 192.168.0.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 3/4/5 ms IOS-PPPoE-Client1# |
localルータ1の設定
インターフェイスのおよびデフォルトルートの設定
1 2 3 4 |
interface GigabitEthernet0/1 ip address 192.168.0.100 255.255.255.0 exit ip route 0.0.0.0 0.0.0.0 192.168.0.1 |
PPPoEクライアント2/localルータ2のConfig
PPPoEクライント2/localルータ2は上記設定から下記を変更することで設定します。
- PPPoEクライアント2は認証ID/パスワードおよびプライベートアドレスの変更
- localルータ2のプライベートアドレスの変更
- NAT用のaccess-list 1の変更
実際のConfigはページ最下部に添付しますのでご確認ください。
検証環境の確認
PPPoE-Serverの設定確認
ルーティングテーブル
PPPoEでの接続はVirtual-Access1.XのConnectedで見えている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
IOS-PPPoE-Server#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, p - overrides from PfR Gateway of last resort is 203.0.113.5 to network 0.0.0.0 S* 0.0.0.0/0 [1/0] via 203.0.113.5 172.27.0.0/16 is variably subnetted, 2 subnets, 2 masks C 172.27.0.0/16 is directly connected, GigabitEthernet0/3 L 172.27.200.1/32 is directly connected, GigabitEthernet0/3 203.0.113.0/24 is variably subnetted, 4 subnets, 2 masks C 203.0.113.4/30 is directly connected, GigabitEthernet0/2 L 203.0.113.6/32 is directly connected, GigabitEthernet0/2 C 203.0.113.90/32 is directly connected, Virtual-Access4 C 203.0.113.91/32 is directly connected, Virtual-Access3 IOS-PPPoE-Server# |
PPPoEセッションの確認
接続先のMACアドレスおよびVirtual-Accessインターフェイスの確認が出来ます。
PPPの設定を確認することで認証ID、接続インターフェイス、割り当てIPアドレスを確認することが出来ます。
1 2 3 4 5 6 7 8 9 10 11 |
IOS-PPPoE-Server#show pppoe session 2 sessions in LOCALLY_TERMINATED (PTA) State 2 sessions total Uniq ID PPPoE RemMAC Port VT VA State SID LocMAC VA-st Type 20 20 fa16.3ee3.1167 Gi0/1 1 Vi3 PTA fa16.3e13.518d UP 19 19 fa16.3e60.05fe Gi0/1 1 Vi4 PTA fa16.3e13.518d UP IOS-PPPoE-Server# |
1 2 3 4 5 6 7 8 |
IOS-PPPoE-Server#show ppp all Interface/ID OPEN+ Nego* Fail- Stage Peer Address Peer Name ------------ --------------------- -------- --------------- -------------------- Vi3 LCP+ CHAP+ IPCP+ LocalT 203.0.113.91 \ test2@server-network-note.net Vi4 LCP+ CHAP+ IPCP+ LocalT 203.0.113.90 \ test1@server-network-note.net IOS-PPPoE-Server# |
PPPoEクライアントの設定確認
ルーティングテーブルの確認
割り当てられたIPアドレスおよびPPPoEサーバ側で指定したunnumberのアドレスがDialer1インターフェイスのconnectedで見えています。また設定したデフォルトルートも正しく表示されている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
IOS-PPPoE-Client1#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, p - overrides from PfR Gateway of last resort is 0.0.0.0 to network 0.0.0.0 S* 0.0.0.0/0 is directly connected, Dialer1 10.0.0.0/32 is subnetted, 1 subnets C 10.255.0.100 is directly connected, Dialer1 192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.0.0/24 is directly connected, GigabitEthernet0/2 L 192.168.0.1/32 is directly connected, GigabitEthernet0/2 203.0.113.0/32 is subnetted, 1 subnets C 203.0.113.90 is directly connected, Dialer1 IOS-PPPoE-Client1# |
サーバ側と同じコマンドでほぼ同じ結果を見ることが出来るが、pppでは認証IDを確認することが出来ません。
1 2 3 4 5 6 7 8 9 10 11 12 |
IOS-PPPoE-Client1#show pppo session 1 client session Uniq ID PPPoE RemMAC Port VT VA State SID LocMAC VA-st Type N/A 19 fa16.3e13.518d Gi0/1 Di1 Vi2 UP fa16.3e60.05fe UP IOS-PPPoE-Client1#show ppp all Interface/ID OPEN+ Nego* Fail- Stage Peer Address Peer Name ------------ --------------------- -------- --------------- -------------------- Vi2 LCP+ IPCP+ LocalT 10.255.0.100 IOS-PPPoE-Server IOS-PPPoE-Client1# |
検証Config
PPPoE-radius-ip-CiscoIOS-g-router
PPPoE-radius-id-CiscoIOS-PPPoE-Server
PPPoE-radius-ip-CiscoIOS-PPPoE-Client1
PPPoE-radius-ip-CiscoIOS-PPPoE-Client2
PPPoE-radius-ip-CiscoIOS-local-router1
PPPoE-radius-ip-CiscoIOS-local-router2
スポンサーリンク
Cisco IOS 設定方法記事一覧
基本設定
インターネット接続
PPPoE
- PPPoE Server/Clinet (ローカル認証)
- PPPoE Server/Clinet (RADIUS認証)端末型払い出し(固定IP)
- PPPoE Server/Clinet (RADIUS認証)LAN型払い出し(固定Prefix)
DS-Lite
OSPF
- OSPF基本設定
- OSPFコスト設定
- OSPF プライオリティ
- OSPF MD5認証
- OSPF Network( Broadcast / Point-to-Point )
- OSPF スタブエリア
- OSPF トータリースタブ
- OSPF NSSA
- OSPF トータリーNSSA
- OSPF 経路集約
下記はOSPFのプロトコル解説
-
ネットワーク解説 OSPF (Open Shortest Path First)
BGP
下記はBGPのプロトコル解説
-
ネットワーク解説 BGP ( Border Gateway Protocol )