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を設定)
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]>
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]>
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 新規登録
RADIUSサーバ登録
radius server RADIUS-SERVER
address ipv4 172.27.100.14 auth-port 1812 acct-port 1813
key RADIUS-KEY
!
AAA Group サーバ登録
aaa group server radius GROUP-PPPoE
server name RADIUS-SERVER
ip radius source-interface GigabitEthernet0/3
!
PPPoE 認証Radius設定
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グループの設定
bba-group pppoe global
virtual-template 1
sessions max limit 100
次に着信用のvirtual-template を用意します。
interface Virtual-Template1
ip unnumbered Loopback0
keepalive 60
ppp authentication chap pap
複数接続される度にPPPoEサーバのアドレス消費を抑えるため、ip unnumberで自身のloopbackを指定します。
接続先のクライアントへのアドレス配布は、RADIUSで作成されたradreplyからアドレスが払い出されます。
ppp authentication chap papで認証をchapを優先で実施する。
PPPoE着信するインターフェイスを下記のように指定します。
interface GigabitEthernet0/1
pppoe enable group global
PPPoEクライアント1のConfig
PPPoE接続用のDialer1インターフェイスを作成します。
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が起動する設定
dialer-list 1 protocol ip permit
PPPoEを着信するインターフェイスを指定します。
interface GigabitEthernet0/1
pppoe enable group global
pppoe-client dial-pool-number 1
end
プライベートルータ側のアドレスを設定
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サーバ側に向けます。
ip route 0.0.0.0 0.0.0.0 Dialer1
localルータ1の設定
インターフェイスのおよびデフォルトルートの設定
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アドレスを確認することが出来ます。
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#
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を確認することが出来ません。
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が通ります。
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
スポンサーリンク
Cisco IOS 設定方法記事一覧
基本設定
インターネット接続
PPPoE
DS-Lite
OSPF
下記はOSPFのプロトコル解説
ネットワーク解説 OSPF (Open Shortest Path First)
BGP
下記はBGPのプロトコル解説
ネットワーク解説 BGP ( Border Gateway Protocol )