# 設定例集#50: PPPoEマルチセッションによる端末型インターネット接続＋CUGサービス接続（LAN型）

PPPoEセッションを2本使い、インターネット（ISP）接続とCUG（Closed Users Group）サービス（フレッツ・VPNワイド、フレッツ・グループアクセス（プロ、NTT東日本）、フレッツ・グループ（ビジネスメニュー、NTT西日本））の「LAN型払い出し」を同時に利用します。パケットの振り分けはスタティックな経路制御により行います。

## 構成

| ルーターA | ルーターB
ISPから提供された情報
ISP接続用ユーザー名 | user@ispA | user@ispB
ISP接続用パスワード | isppasswdA | isppasswdB
PPPoEサービス名 | 指定なし | 指定なし
WAN側IPアドレス | 動的割り当て（IPCP） | 動的割り当て（IPCP）
DNSサーバー | 自動取得（IPCP） | 自動取得（IPCP）
接続形態 | 端末型 | 端末型
グループ管理者から提供された情報
CUG接続用ユーザー名 | userA | userB
CUG接続用パスワード | passwdA | passwdB
LAN側IPアドレス | 192.168.10.0/24 | 192.168.20.0/24
ルーターの基本設定
WAN側物理インターフェース | eth1 | eth1
WAN側（ppp0）IPアドレス | 接続時にISP-Aから取得 | 接続時にISP-Bから取得
WAN側（ppp1）IPアドレス | Unnumbered | Unnumbered
LAN側（vlan1）IPアドレス | 192.168.10.1/24 | 192.168.20.1/24
DNSリレー機能 | 有効 | 有効

ここでは、次の方針で設定を行います。

- スタティックルーティングにより、グループ内の他ユーザー宛のパケット（対向ルーターのLAN側宛パケット）と、それ以外のパケット（インターネット宛）の転送先を振り分けます。
- ファイアウォールを利用して、インターネット側からの不正アクセスを遮断しつつ、内部からは自由にインターネット側へのアクセスができるようにします。
- ファイアウォールにルールを追加し、グループユーザー間の通信（ルーターA配下のLANとルーターB配下のLAN間通信）は自由に行えるようにします。
- ダイナミックENAT機能を利用して、LAN側ネットワークのプライベートIPアドレスを、インターネット接続用のWAN側インターフェースに設定されたアドレスに変換します。これにより、LANに接続された複数のコンピューターから、インターネットへの同時アクセスが可能になります。
- ルーターのDNSリレー機能をオンにして、LAN側コンピューターからのDNSリクエストを、ISPのDNSサーバーに転送します。

## 設定開始前に

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

本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態（スタートアップコンフィグなしで起動した状態）から入力することを前提としています。
そのため、通常は 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とppp1を作成します。これには、encapsulation pppコマンドを使います。
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface eth1
        encapsulation ppp 0
        encapsulation ppp 1

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

       interface ppp0
        ppp ipcp dns request
        keepalive
        ip address negotiated
        ppp username user@ispA
        ppp password isppasswdA
        ip tcp adjust-mss pmtu

4. PPPインターフェースppp1に対し、PPPoE接続のための設定を行います。
   ・LCP EchoによるPPP接続状態の確認（keepalive）
   ・提示されたIPアドレスを無条件で受け入れる設定（ppp ipcp ip-override）
   ・ユーザー名（ppp username）
   ・パスワード（ppp password）
   ・Unnumbered IPインターフェースの設定（ip unnumbered）
   ・MSS書き換え（ip tcp adjust-mss）
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface ppp1
        keepalive
        ppp ipcp ip-override
        ppp username userA
        ppp password passwdA
        ip unnumbered vlan1
        ip tcp adjust-mss pmtu

5. LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
   IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。

       interface vlan1
        ip address 192.168.10.1/24

6. ファイアウォールやNATのルール作成時に使うエンティティー（通信主体）を定義します。
   エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
   内部ネットワークを表すゾーン「private」を作成します。
   これには、zone、network、ip subnetの各コマンドを使います。

       zone private
        network lan
         ip subnet 192.168.10.0/24
        network cug
         ip subnet 192.168.20.0/24

7. 外部ネットワークを表すゾーン「public」を作成します。
   これには、前記コマンドに加え、host、ip addressの各コマンドを使います。

       zone public
        network wan
         ip subnet 0.0.0.0/0 interface ppp0
         host ppp0
          ip address dynamic interface ppp0

8. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
   これには、firewall、rule、protectの各コマンドを使います。
   ・rule 10 - 内部から内部への通信を許可します（ここでは本製品・端末間の通信だけでなく、グループユーザー間の通信も含みます）
   ・rule 20 - 内部から外部への通信を許可します
   ・rule 30 - 本製品のWAN側インターフェースから外部へのDNS通信を許可します
   ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。

       firewall
        rule 10 permit any from private to private
        rule 20 permit any from private to public
        rule 30 permit dns from public.wan.ppp0 to public
        protect

9. LAN側ネットワークに接続されているすべてのコンピューターがダイナミックENAT機能を使用できるよう設定します。
   これには、nat、rule、enableの各コマンドを使います。
   NATの詳細は「UTM」/「NAT」をご覧ください。

       nat
        rule 10 masq any from private.lan to public
        enable

10. IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
    IP経路設定の詳細は「IP」/「経路制御」をご覧ください。

        ip route 0.0.0.0/0 ppp0
        ip route 192.168.20.0/24 ppp1

11. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。
    DNSリレー機能の詳細は「IP付加機能」/「DNSリレー」をご覧ください。

        ip dns forwarding

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

        end

## ルーターBの設定

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

       no spanning-tree rstp enable

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

       interface eth1
        encapsulation ppp 0
        encapsulation ppp 1

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

       interface ppp0
        ppp ipcp dns request
        keepalive
        ip address negotiated
        ppp username user@ispB
        ppp password isppasswdB
        ip tcp adjust-mss pmtu

4. PPPインターフェースppp1に対し、PPPoE接続のための設定を行います。
   ・LCP EchoによるPPP接続状態の確認（keepalive）
   ・提示されたIPアドレスを無条件で受け入れる設定（ppp ipcp ip-override）
   ・ユーザー名（ppp username）
   ・パスワード（ppp password）
   ・Unnumbered IPインターフェースの設定（ip unnumbered）
   ・MSS書き換え（ip tcp adjust-mss）
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface ppp1
        keepalive
        ppp ipcp ip-override
        ppp username userB
        ppp password passwdB
        ip unnumbered vlan1
        ip tcp adjust-mss pmtu

5. LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
   IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。

       interface vlan1
        ip address 192.168.20.1/24

6. ファイアウォールやNATのルール作成時に使うエンティティー（通信主体）を定義します。
   エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。
   内部ネットワークを表すゾーン「private」を作成します。
   これには、zone、network、ip subnetの各コマンドを使います。

       zone private
        network lan
         ip subnet 192.168.20.0/24
        network cug
         ip subnet 192.168.10.0/24

7. 外部ネットワークを表すゾーン「public」を作成します。
   これには、前記コマンドに加え、host、ip addressの各コマンドを使います。

       zone public
        network wan
         ip subnet 0.0.0.0/0 interface ppp0
         host ppp0
          ip address dynamic interface ppp0

8. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
   これには、firewall、rule、protectの各コマンドを使います。
   ・rule 10 - 内部から内部への通信を許可します（ここでは本製品・端末間の通信だけでなく、グループユーザー間の通信も含みます）
   ・rule 20 - 内部から外部への通信を許可します
   ・rule 30 - 本製品のWAN側インターフェースから外部へのDNS通信を許可します
   ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。

       firewall
        rule 10 permit any from private to private
        rule 20 permit any from private to public
        rule 30 permit dns from public.wan.ppp0 to public
        protect

9. LAN側ネットワークに接続されているすべてのコンピューターがダイナミックENAT機能を使用できるよう設定します。
   これには、nat、rule、enableの各コマンドを使います。
   NATの詳細は「UTM」/「NAT」をご覧ください。

       nat
        rule 10 masq any from private.lan to public
        enable

10. IPの経路情報をスタティックに設定します。これにはip routeコマンドを使います。
    IP経路設定の詳細は「IP」/「経路制御」をご覧ください。

        ip route 0.0.0.0/0 ppp0
        ip route 192.168.10.0/24 ppp1

11. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。
    DNSリレー機能の詳細は「IP付加機能」/「DNSリレー」をご覧ください。

        ip dns forwarding

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

        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

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

    !
    no spanning-tree rstp enable
    !
    interface eth1
     encapsulation ppp 0
     encapsulation ppp 1
    !
    interface ppp0
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispA
     ppp password isppasswdA
     ip tcp adjust-mss pmtu
    !
    interface ppp1
     keepalive
     ppp ipcp ip-override
     ppp username userA
     ppp password passwdA
     ip unnumbered vlan1
     ip tcp adjust-mss pmtu
    !
    interface vlan1
     ip address 192.168.10.1/24
    !
    zone private
     network lan
      ip subnet 192.168.10.0/24
     network cug
      ip subnet 192.168.20.0/24
    !
    zone public
     network wan
      ip subnet 0.0.0.0/0 interface ppp0
      host ppp0
       ip address dynamic interface ppp0
    !
    firewall
     rule 10 permit any from private to private
     rule 20 permit any from private to public
     rule 30 permit dns from public.wan.ppp0 to public
     protect
    !
    nat
     rule 10 masq any from private.lan to public
     enable
    !
    ip route 0.0.0.0/0 ppp0
    ip route 192.168.20.0/24 ppp1
    !
    ip dns forwarding
    !
    end

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

    !
    no spanning-tree rstp enable
    !
    interface eth1
     encapsulation ppp 0
     encapsulation ppp 1
    !
    interface ppp0
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispB
     ppp password isppasswdB
     ip tcp adjust-mss pmtu
    !
    interface ppp1
     keepalive
     ppp ipcp ip-override
     ppp username userB
     ppp password passwdB
     ip unnumbered vlan1
     ip tcp adjust-mss pmtu
    !
    interface vlan1
     ip address 192.168.20.1/24
    !
    zone private
     network lan
      ip subnet 192.168.20.0/24
     network cug
      ip subnet 192.168.10.0/24
    !
    zone public
     network wan
      ip subnet 0.0.0.0/0 interface ppp0
      host ppp0
       ip address dynamic interface ppp0
    !
    firewall
     rule 10 permit any from private to private
     rule 20 permit any from private to public
     rule 30 permit dns from public.wan.ppp0 to public
     protect
    !
    nat
     rule 10 masq any from private.lan to public
     enable
    !
    ip route 0.0.0.0/0 ppp0
    ip route 192.168.10.0/24 ppp1
    !
    ip dns forwarding
    !
    end