PPPoEとは
-
PPPoEとは
PPPoEのアドレス払い出し方式
PPPoEのクライアントへのIPアドレスの払い出しは下記2種類ある。
- 端末型払い出し
1つのPPPoEセッションに対して1つのIPアドレスをPPPoEサーバから払い出す方式。契約によりアドレスがダイナミックもしくは固定を選択すること出来る。 - LAN型払い出し
1つのPPPoEセションに対して1つのセグメントをPPPoEサーバから払い出す方式。/28などをPPPoEサーバから払い出す事が出来る。unnumber接続方式とも言われる方式
今回はGlobal側をISPと見立てLAN型払い出しの固定IPの設定を実施します。今回は/28をが割り当てるのですべてグローバルアドレスが割り当てるのでNATの設定は不要となります。また今回の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.23.100.1 | pppoeserver | RADIUS-KEY | +--------------+-------------+------------+ 1 row 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 radcheck where username like 'test3%' or username like'test4%'; +-------------------------------+--------------------+----+-------+ | username | attribute | op | value | +-------------------------------+--------------------+----+-------+ | test3@server-network-note.net | Cleartext-Password | := | Pass3 | | test4@server-network-note.net | Cleartext-Password | := | Pass4 | +-------------------------------+--------------------+----+-------+ 2 rows in set (0.00 sec) MariaDB [radius]> |
1 2 3 4 5 6 7 8 9 10 11 12 |
MariaDB [radius]> select username , attribute , op , value from radreply where username like 'test3%' or username like'test4%'; +-------------------------------+-------------------+----+-----------------+ | username | attribute | op | value | +-------------------------------+-------------------+----+-----------------+ | test3@server-network-note.net | Framed-IP-Address | = | 203.0.113.80 | | test3@server-network-note.net | Framed-IP-Netmask | = | 255.255.255.240 | | test4@server-network-note.net | Framed-IP-Address | = | 203.0.113.96 | | test4@server-network-note.net | Framed-IP-Netmask | = | 255.255.255.240 | +-------------------------------+-------------------+----+-----------------+ 4 rows in set (0.00 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 11 |
interface Dialer1 ip unnumbered GigabitEthernet0/2 ip mtu 1492 encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname test3@server-network-note.net ppp chap password 0 Pass3 no cdp enable end |
ip mtu 1492 を設定しますが、純粋のPPPoE接続であればこの値で問題ないのですがフレッツの場合は内部でL2TPを利用している関係で1454になります。MTUは接続構成によって変わるので接続事業者に確認することが重要です。
また、LAN型接続する際はPPPoE-Serverから取得したアドレスを利用するのではなく、自信に割り当てたIPアドレスをunnumberで接続します。(今回はGe-0/2)
指定したトラフィックが通過時に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 203.0.113.81 255.255.255.240 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 |
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のグローバアドレスの変更
実際のConfigはページ最下部に添付しますのでご確認ください。
スポンサーリンク
検証環境の確認
PPPoE-Serverの設定確認
ルーティングテーブル
PPPoEでの接続はVirtual-Access1.XのConnectedで見えている。
また今回はprefixを渡しているので Codes:U で/28 のアドレスが見えている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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.23.0.0/16 is variably subnetted, 2 subnets, 2 masks C 172.23.0.0/16 is directly connected, GigabitEthernet0/3 L 172.23.100.1/32 is directly connected, GigabitEthernet0/3 172.27.0.0/32 is subnetted, 1 subnets S 172.27.100.14 [1/0] via 172.23.0.1 203.0.113.0/24 is variably subnetted, 7 subnets, 3 masks C 203.0.113.2/32 is directly connected, Loopback0 C 203.0.113.4/30 is directly connected, GigabitEthernet0/2 L 203.0.113.6/32 is directly connected, GigabitEthernet0/2 U 203.0.113.80/28 [1/0] via 203.0.113.80 C 203.0.113.80/32 is directly connected, Virtual-Access3 U 203.0.113.96/28 [1/0] via 203.0.113.96 C 203.0.113.96/32 is directly connected, Virtual-Access4 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 2 2 fa16.3ee7.2e18 Gi0/1 1 Vi4 PTA fa16.3e0c.8c27 UP 1 1 fa16.3ef1.bffb Gi0/1 1 Vi3 PTA fa16.3e0c.8c27 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 ------------ --------------------- -------- --------------- -------------------- Vi4 LCP+ CHAP+ IPCP+ LocalT 203.0.113.96 \ test4@server-network-note.net Vi3 LCP+ CHAP+ IPCP+ LocalT 203.0.113.80 \ test3@server-network-note.net IOS-PPPoE-Server# |
PPPoEクライアントの設定確認
ルーティングテーブルの確認
PPPoEサーバ側で指定したunnumberのアドレスがDialer1インターフェイスのconnectedで見えています。また設定したデフォルトルートも正しく表示されている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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 203.0.113.0/24 is variably subnetted, 3 subnets, 2 masks C 203.0.113.2/32 is directly connected, Dialer1 C 203.0.113.80/28 is directly connected, GigabitEthernet0/2 L 203.0.113.81/32 is directly connected, GigabitEthernet0/2 IOS-PPPoE-Client1# |
サーバ側と同じコマンドでほぼ同じ結果を見ることが出来るが、pppでは認証IDを確認することが出来ません。
1 2 3 4 5 6 7 8 9 10 11 12 |
IOS-PPPoE-Client1#show pppoe session 1 client session Uniq ID PPPoE RemMAC Port VT VA State SID LocMAC VA-st Type N/A 1 fa16.3e0c.8c27 Gi0/1 Di1 Vi2 UP fa16.3ef1.bffb UP IOS-PPPoE-Client1#show ppp all Interface/ID OPEN+ Nego* Fail- Stage Peer Address Peer Name ------------ --------------------- -------- --------------- -------------------- Vi2 LCP+ IPCP+ LocalT 203.0.113.2 IOS-PPPoE-Server IOS-PPPoE-Client1# |
クライアント端末のPing確認
PPPoE-Client配下に接続されたルータは従来はグローバルアドレス向けしか通信出来なかったのが、今回はすべてグローバルアドレスに
割り当てを行われているので、Global-routerへの疎通はもちろん、IP-LAN-IP2向けにPingが通ります。
1 2 3 4 5 6 7 8 9 10 11 |
IP-LAN-IP1#ping 203.0.113.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 = 6/6/7 ms IP-LAN-IP1#ping 203.0.113.110 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.113.110, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 7/8/9 ms IP-LAN-IP1# |
検証Config
PPPoE-radius-prefix-CiscoIOS-global-router
PPPoE-radius-prefix-CiscoIOS-IOS-PPPoE-Server
PPPoE-radius-prefix-CiscoIOS-IP-LAN-IP1
PPPoE-radius-prefix-CiscoIOS-IP-LAN-IP2
スポンサーリンク
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 )