# 設定例集#36: L2TPによるリモートアクセス（PPPoEクライアント＋PPPoE AC＋L2TP LAC）

PPPoE AC/L2TP LAC機能を利用したリモートアクセスの設定例です。
ここでは、PPPoEクライアントからの接続をPPPoE AC機能を使用して受け入れた後、インターネット経由でL2TPサーバー（LNS）との間にL2TPトンネルを張ることで、クライアントからのPPPトラフィックをL2TPサーバーに転送します。
本設定例では、PPPoEユーザー名のドメイン部分にプレフィックス「lns1」を付加したものをL2TPサーバーのホスト名と見なし、これをDNSサーバーに問い合わせることによって得られるIPアドレスを、接続先L2TPサーバーのIPアドレスとして使用します。

## 構成

ISPから提供された情報
ISP接続用ユーザー名 | user@isp1
ISP接続用パスワード | isppasswd1
PPPoEサービス名 | 指定なし
WAN側IPアドレス | グローバルアドレス1個（動的割り当て）
接続形態 | 端末型（アドレスは動的割り当て）
ルーターの基本設定
WAN側物理インターフェース（ISP接続インターフェース） | eth1
ACインターフェース（PPPoEクライアント接続インターフェース） | vlan1
WAN側（ppp0）IPアドレス | 192.168.100.100/32
DNSサーバーアドレス | 192.168.2.100
ルーターのL2TP設定
L2TP動作モード | LAC
L2TPサーバー（LNS）パスワード | Password
L2TPサーバー（LNS）のアドレス取得方法 | PPPユーザー名のドメイン部分でDNS検索
DNS検索時に付加するドメインプレフィックス | lns1

L2TP関連の設定項目は次の通りです。

- ルーターAはPPPoE AC兼L2TPv2 LACとして動作し、PPPoEクライアント（PC）からの認証パケットを受信すると、ルーターB（LNS）との間でL2TP接続を開始します。
- L2TPトンネルの確立後、再度PPPクライアントとルーターB間でPPPネゴシエーションが開始されます。
- この時、ルーターA（LAC）はPPPクライアントからのPPPパケットをルーターB（LNS）に転送します。
- 同様に、ルーターB（LNS）からのPPPパケットをPPPクライアントに転送します。

## 設定開始前に

### 自動設定の確認と削除

本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態（スタートアップコンフィグなしで起動した状態）から入力することを前提としています。
そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。
ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。
これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。

- ネットワークケーブルを接続せずに起動する。
  起動時に自動設定が実行されるための条件の一つに、特定インターフェースのリンクアップがあります。
  ネットワークケーブルを接続しない状態で起動することにより、自動設定の適用を回避できます。
- 自動設定を手動で削除してから設定を行う。
  前記の方法を採用できず自動設定が適用されてしまった場合は、「自動的な設定内容の削除」にしたがって、これらを手動で削除してから設定を開始してください。

自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作をご参照ください。

### システム時刻の設定

ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。

- 手動で設定する方法 - 「運用・管理」/「システム」
- NTPで自動設定する方法 - 「運用・管理」/「NTP」

## ルーターAの設定

1. LANポートにおいて初期状態で有効化されているスパニングツリープロトコル（RSTP）を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
   スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。

       no spanning-tree rstp enable

2. WANポートeth1上にPPPoEインターフェースppp0を作成します。これには、encapsulation pppコマンドを使います。
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface eth1
        encapsulation ppp 0

3. PPPインターフェースppp0に対し、PPPoE接続のための設定を行います。
   ・LCP EchoによるPPP接続状態の確認（keepalive）
   ・ユーザー名（ppp username）
   ・パスワード（ppp password）
   ・IPCPによるIPアドレスの取得要求（ip address negotiated）
   ・MSS書き換え（ip tcp adjust-mss）
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface ppp0
        keepalive
        ppp username user@isp1
        ppp password isppasswd1
        ip address negotiated
        ip tcp adjust-mss pmtu

4. L2TPプロファイル「l2tp1」を作成して、L2TPバージョンとL2TPサーバーへの接続パスワードを指定します。
   これには、l2tp-profile、version、shared-secretコマンドを使います。

       l2tp-profile l2tp1
        version 2
        shared-secret Password

5. PPPoE ACサービス設定「ac1」を作成し、受け入れるPPPoEサービス名、PPP転送先、L2TPサーバー、L2TPプロファイルを指定します。
   これには、pppoe-ac、service-name、destination l2tp、l2tp peer-address dns-lookup、l2tp profileコマンドを使います。
   PPPoE AC/L2TPv2 LAC機能の詳細は「PPP」/「PPPoE AC」をご覧ください。

       pppoe-ac ac1
        service-name any
        destination l2tp
        l2tp peer-address dns-lookup prefix lns1
        l2tp profile l2tp1

6. L2TPサーバーアドレスを取得するため、DNSサーバーアドレスを指定し、DNS問い合わせ機能を有効にします。
   これには、ip name-server、ip domain-lookupコマンドを使います。

       ip name-server 192.168.2.100
       ip domain-lookup

7. PPPoE ACサービス設定「ac1」をvlan1インターフェースに関連付け、該当インターフェースでPPPoE AC機能を有効化します。
   これには、インターフェースモードのpppoe-ac-serviceコマンドを使います。

       interface vlan1
        pppoe-ac-service ac1

8. デフォルト経路をPPPインターフェースppp0に向けます。これにはip routeコマンドを使います。
   IP経路設定の詳細は「IP」/「経路制御」をご覧ください。

       ip route 0.0.0.0/0 ppp0

9. 以上で設定は完了です。

       end

## 設定の保存

設定が完了したら、現在の設定内容を起動時コンフィグとして保存してください。これには、copyコマンドを「`copy running-config startup-config`」の書式で実行します。

    awplus# copy running-config startup-config
    Building configuration...
    [OK]

また、write fileコマンド、write memoryコマンドでも同じことができます。

    awplus# write memory
    Building configuration...
    [OK]

その他、設定保存の詳細については「運用・管理」/「コンフィグレーション」をご覧ください。

## ファイアウォールログについて

ファイアウォールのログをとるには、次のコマンド（log(filter)）を実行します。

    awplus(config)# log buffered level informational facility local5

記録されたログを見るには、次のコマンド（show log）を実行します。ここでは、ファイアウォールが出力したログメッセージだけを表示させています。

    awplus# show log | include Firewall

## 備考

接続先L2TPサーバー（LNS）のIPアドレスを固定で設定する場合は、PPPoE ACサービス設定「ac1」のl2tp peer-address dns-lookupコマンドの代わりにl2tp peer-address staticコマンドを使用して、次のように設定します。

     l2tp peer-address static 192.168.11.10

接続先L2TPサーバー（LNS）のIPアドレスをRADIUSサーバーから動的に取得する場合は、PPPoE ACサービス設定「ac1」のl2tp peer-address dns-lookupコマンドの代わりにl2tp peer-address radius-lookupコマンドを使用して、次のように設定します。

     l2tp peer-address radius-lookup group group1

なお、この例における「group group1」は問い合わせに使用するRADIUSサーバーグループの指定です。
RADIUSサーバーグループは、radius-server host、aaa group server radius、serverコマンドで次のようにして設定します。

    radius-server host 192.168.2.100 key Password
    aaa group server radius group1
     server 192.168.2.100

## ルーターのコンフィグ

    !
    no spanning-tree rstp enable
    !
    interface eth1
     encapsulation ppp 0
    !
    interface ppp0
     keepalive
     ppp username user@isp1
     ppp password isppasswd1
     ip address negotiated
     ip tcp adjust-mss pmtu
    !
    l2tp-profile l2tp1
     version 2
     shared-secret Password
    !
    pppoe-ac ac1
     service-name any
     destination l2tp
     l2tp peer-address dns-lookup prefix lns1
     l2tp profile l2tp1
    !
    ip name-server 192.168.2.100
    ip domain-lookup
    !
    interface vlan1
     pppoe-ac-service ac1
    !
    ip route 0.0.0.0/0 ppp0
    !
    end