CiscoASR1000シリーズでPPPoE(IPv6)の設定手順

CiscoASR1000シリーズでのPPPoE-IPv6設定をしたので技術メモとして残しておきます。

OSはIOSとほとんど同じです。
これと言って今までとは変わりはありません。

PPPoE-IPv6の設定は通常のIPv4の設定とは若干異なる箇所があるので注意してください。

CiscoASRでのPPPoE設定手順

PPPoEの設定は、癖が強いというか、少々サーバーの知識も必要となります。
動作確認は認証サーバーを使用して、デバックで確認していく必要があります。

一つ一つのコマンドに説明を入れているので参考にしてください。

PPPoEサーバ基本設定

PPPoEの設定は、BBA(broadband access)を設定することで、物理インタフェースとVirtual-Templateの紐づけを定義することができます。

※IOS 12.3以前はVPDN(Virtual Private Dialup Network)を使用して設定

コマンドラインの体系がある大きく変わっているので注意が注意なことと、BBAグループ名は、globalと任意の名前の2通りの設定が可能となっています。

本設定はPPPoE max sessionがglobalでないと設定できないのでグループ名はglobalで実施しています。


aaa new-model
aaa認証コマンドを有効化

※注意)設定後loginユーザーパスワードを設定しいない場合、ログアウトもしくはタイムアウトした際に、ログイン不可となってしまう。

・復旧するにはOSをrommonに落し(機器再起動後、10秒以内ブレイク信号(Alt+B_teraterm))rommonに落ちた後は{レジストリ}を変更しstartup-configを読み込ませないようにする。


aaa authentication login default local
  • default =VTY、TTY、Console、Auxなどのすべての回線に”自動的”に適用される認証方式のデフォルトリスト
  • local  =認証にローカルユーザー名/パスワードを使用

aaa authentication ppp default group radius
  • [ aaa authentication ppp ] コマンドを使用することでAAAがCHAP、PAP、MS-CHAPのうち利用可能なPPP認証方式を使用してこれらのユーザを認証するように設定できる。
    ※pppに於いてdefault認証リストを適用、認証passはローカルユーザー名/パスワードを使用
  • group radius =[radius-server]コマンドにより、定義済みのすべてのRadiusサーバを認証に使用

aaa authorization network default group radius
  • 認可コマンド
  • network =PPP接続などのネットワーク接続に認可を適用
  • group radius =RADIUS認可では、RADIUSサーバに保存されている属性を適切なユーザに関連づけることにより、ユーザに与えられる特定の権限を定義することができる。

aaa accounting network default start-stop group radius
  • アカウンティングにより、機器にログインしたユーザが入力したコマンド、接続時間、システムイベントなどをタイムスタンプをつけてログに記録する
  • network =PPPなどのすべてのネットワークサービスの要求を監査
  • start-stop =プロセス開始時のアカウンティング開始通知とイベント終了後の終了通知を送信
  • group radius =アカウンティングのために{radius-server host}で定義している全てのRadiusサーバーを使用する

aaa accounting system default start-stop group radius
  • system =機器の再起動など、すべてのシステムレベルのイベント監査(default-listのみ)
  • default =VTY、TTY、Console、Auxの全回線に自動適用されるアカウンティング方式のデフォルトリスト
  • group radius =アカウンティングのために{radius-server host}で定義している全てのRadiusサーバー

aaa session-id common
  • デフォルトコンフィグ
  • aaa authorization コマンドをイネーブルにする。

ipv6 unicast-routing
ipv6 dhcp pool DHCPv6-POOL
prefix-delegation aaa method-list default
  • DHCPv6プールコンフィグレーションモードを開始
  • Radiusサーバからattributeをもらう設定
    ここではプレフィックスとDNS情報をRadiusからもらう。

bba-group pppoe global
virtual-template 1
  • virtual-templteを紐づけ

sessions max limit 16000
  • globalにしか設定できない。または該当の物理interfaceでpppoe max-sessions を指定

essions per-vlan limit 16000
  • vlanのmax limitを指定
interface GigabitEthernet X/X/X
pppoe enable group global
  • 該当interfaceでPPPoEを有効化

interface Virtual-Template1
ip unnumbered Loopback1
  • PPPoE接続を行う場合は「LAN型払い出し」方式を使用
    「LAN型払い出し」では、interface Virtual-Templateの設定は必ず”unnumbered”を設定しクライアントにグローバルアドレスを払い出す。商用機はLoopback1をPPPoE接続で使用している。
ipv6 unnumbered Loopback1
  • 上記に同じくIPv6でPPPoEを接続する際に「LAN型払い出し」方式を使用
ipv6 enable
  1. 最新のverでは不要かも
ipv6 dhcp server DHCPv6-POOL
  • DHCPv6サーバとして動かすための設定

    ※この設定がないとコンシューマ向けにDNSが割り振られない。
    RadiusからアトリビュートでもらったDNSの情報をDHCPプールに入れてASR自体がDHCPサーバとなって端末にDNS情報を割り当てるという動作?

keepalive 60
  • keepaliveを設定
ppp authentication chap pap
  • PPPoE認証要求をchapを優先とする設定
ppp ipcp dns request accept
  • DNSサーバアドレスをPPPoEから自動取得する
ppp ipcp route default
  • PPPoEでデフォルトルートをWAN側に向ける設定
    このコマンドを設定することでBASのアドレスをnwxthopとしたデフォルトルートが作成される。
ppp ipv6cp address unique
  • ipcpのIPv6版

radius-server attribute 44 include-in-access-req
  • ユーザ認証前のアクセス要求パケット(事前認証の要求を含む)中で、RADIUS アトリビュート 44(アカウンティング セッション ID)を送信。
    ※この設定は必須。無いと接続できない。
radius-server host X.X.X.X auth-port 1812 acct-port 1813 key secret
  • 対象のRADIUSサーバのアドレス、認証用ポート番号(1812)、アカウンティング用ポート番号(1813)の指定し、共有パスワードを指定
radius-server retransmit 10
  • Radiusサーバへ再送されるRadiusリクエストの回数
radius-server timeout 30
  • Radiusリクエストを再送する前にクライアントがサーバからの応答を待つ時間。(秒)

セッション確認は以下で確認。

show pppoe sessions

本設定は最小の設定でセッション確認がとれた設定であるので、環境や構成に合わせ設定を追加、変更していく。

まとめ

PPPoEの設定って結構難しいです。
設定が完了したとしても実際にPPPoEを動かすにはサーバーの設定も必要になるので。

今回の設定は認証サーバー(radius)で実施しているので、インストール、設定はこちらの記事を参照ください。

FreeRadiusインストールするがradtestがうまくいかないメモ(CentOS)

ご検討祈ります。

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!