# 設定例集#8: バイパスポートによる対称型WAN回線冗長構成

本製品にはバイパスポートというポートがそれぞれ2ポートずつあり、それらを使用することによってWAN回線の冗長化を実現できます。
この例は、2台の機器それぞれでバイパスポートを使用する対称型WAN回線冗長構成の基本設定です。
Note

本設定例ではバイパスポートを使用するため、バイパスポートを持たないAT-AR4050S-5Gは使用できません。

## 構成

ISPから提供された情報
| ルーターA | ルーターB
ISP接続用ユーザー名 | user@ispA | user@ispB
ISP接続用パスワード | isppasswdA | isppasswdB
PPPoEサービス名 | 指定なし | 指定なし
WAN側IPアドレス | 動的割り当て（IPCP） | 動的割り当て（IPCP）
DNSサーバーIPアドレス | 自動取得（IPCP） | 自動取得（IPCP）

ルーターには、次のような方針で設定を行います。

- ISPへの接続にはPPPoEを使用します。
- WAN側で障害が発生した際、ルーター間で経路の交換ができるようにRIPの設定をします。
- LAN側を2つのサブネットに分割し、それぞれにVRRPを設定します（この例ではvlan10とvlan20を設定しています）。
- VRRPを設定し、バックアップ側でバイパスポートとWANポートを関連付けます。
- ファイアウォールを利用して、外部からの不正アクセスを遮断します。
- プライベートゾーンのクライアントがインターネットにアクセスできるようダイナミックENATを使用します。
- PPPインターフェースがアップ/ダウンした際、RIPに設定を追加するためのスクリプトとトリガーを設定します。
- DNSリレーを有効にします。

この例では、以下の点に注意してください。

- ルーター配下のL3スイッチで送信先を割り振る設定（ポリシーベースルーティングなど）を行う必要があります。
- 通常時、ルーターAはvlan10のバックアップルーター、vlan20のマスタールーターとなり、ルーターBはvlan10のマスタールーター、vlan20のバックアップルーターとなります。
- PCでは、プライマリーDNSサーバーアドレスをVRRPマスタールーターのLAN側実IPアドレスに、またセカンダリーDNSサーバーアドレスをVRRPバックアップルーターのLAN側実IPアドレスに設定してください。

## 設定開始前に

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

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

       interface eth2
        encapsulation ppp 1

5. PPPインターフェースppp1に対し、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 ppp1
        ppp ipcp dns request
        keepalive
        ip address negotiated
        ppp username user@ispB
        ppp password isppasswdB
        ip tcp adjust-mss pmtu

6. VLANを作成します。
   これには、vlan databaseコマンドとvlanコマンドを使います。
   VLANの詳細は「L2スイッチング」/「バーチャルLAN」をご覧ください。

       vlan database
        vlan 10,20,30 state enable

7. LANポート1.0.1と1.0.2をvlan10とvlan20のタグ付きポートに設定し、これらのポートでスタティックチャンネルグループ「1」を構成します。
   これには、switchport modeコマンド、switchport trunk allowed vlanコマンドとstatic-channel-groupコマンドを使います。
   スタティックチャンネルグループについては「インターフェース」/「リンクアグリゲーション（IEEE 802.3ad）」をご覧ください。
   また、VLANについては「L2スイッチング」/「バーチャルLAN」をご覧ください。

       interface port1.0.1-1.0.2
        switchport
        switchport mode trunk
        switchport trunk allowed vlan add 10,20
        static-channel-group 1

8. LANポート1.0.3をvlan30のタグなしポートに設定します。
   これには、switchport modeコマンド、switchport access vlanコマンドを使います。
   VLANについては「L2スイッチング」/「バーチャルLAN」をご覧ください。

       interface port1.0.3
        switchport
        switchport mode access
        switchport access vlan 30

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

       interface vlan10
        ip address 192.168.10.1/24

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

        interface vlan20
         ip address 192.168.20.1/24

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

        interface vlan30
         ip address 192.168.30.1/24

12. 経路制御プロトコルRIPの設定を行います。
    これには、service rip、router rip、network、passive-interface、redistributeの各コマンドを使います。
    RIPの詳細は「IP」/「経路制御（RIP）」をご覧ください。

        service rip
        router rip
         network 192.168.10.0/24
         network 192.168.20.0/24
         network 192.168.30.0/24
         passive-interface vlan10
         passive-interface vlan20
         redistribute static

13. バイパスポートを利用した冗長構成を組むため、HA（High Availability）モードのVRRPを設定します。
    これには、service vrrp、router vrrp、virtual-ip、ha associate、enableの各コマンドを使います。
    VRRPの詳細は「IP」/「VRRP」をご覧ください。
    VRID=10（vlan10）において、ルーターAは初期状態でバックアップルーターとなるため、ha associateコマンドのwan-bypassパラメーターでWANポート（eth1）に対応するバイパスポート「1」のリレー制御を有効にします。

        service vrrp
        router vrrp 10 vlan10
         virtual-ip 192.168.10.100 backup
         ha associate wan-bypass 1
         enable

14. VRID=20（vlan20）において、ルーターAは初期状態でマスタールーターとなるため、バイパスポートのリレー制御（ha associateコマンドのwan-bypassパラメーター）は不要です。

        router vrrp 20 vlan20
         virtual-ip 192.168.20.100 backup
         priority 101
         ha associate
         enable

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

        zone private
         network internal
          ip subnet 192.168.10.0/24
          ip subnet 192.168.20.0/24
          ip subnet 192.168.30.0/24
          ip subnet 192.168.100.0/24
          ip subnet 192.168.200.0/24
         network rip
          ip subnet 224.0.0.9/32
         network vrrp
          ip subnet 224.0.0.18/32

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

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

17. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
    これには、firewall、rule、protectの各コマンドを使います。
    ・rule 10 - 内部から内部への通信を許可します
    ・rule 20 - 内部から外部への通信を許可します
    ・rule 30, 40 - 本製品の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.wan
         rule 40 permit dns from public.wan.ppp1 to public.wan
         protect

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

        nat
         rule 10 masq any from private to public
         enable

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

        ip route 0.0.0.0/0 ppp0
        ip route 0.0.0.0/0 ppp1 100
        ip route 192.168.100.0/24 192.168.10.3
        ip route 192.168.200.0/24 192.168.20.3

20. インターフェーストリガーを作成します。
    これには、trigger、type interface、scriptの各コマンドを使います。
    ・trigger 1 - ppp0インターフェースがアップした場合に、RIP経路表にppp0側の経路を追加するppp0_up.scpスクリプトを実行する
    ・trigger 2 - ppp1インターフェースがアップした場合に、RIP経路表にppp1側の経路を追加するppp1_up.scpスクリプトを実行する
    ・trigger 3 - ppp0インターフェースがダウンした場合に、RIP経路表からppp0側の経路を削除するppp0_down.scpスクリプトを実行する
    ・trigger 4 - ppp1インターフェースがダウンした場合に、RIP経路表からppp1側の経路を削除するppp1_down.scpスクリプトを実行する
    トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。

        trigger 1
         type interface ppp0 up
         script 1 flash:/ppp0_up.scp
        trigger 2
         type interface ppp1 up
         script 1 flash:/ppp1_up.scp
        trigger 3
         type interface ppp0 down
         script 1 flash:/ppp0_down.scp
        trigger 4
         type interface ppp1 down
         script 1 flash:/ppp1_down.scp

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

        ip dns forwarding

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

        end

## ルーターBの設定

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接続のための設定を行います。
   ・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. WANポートeth2上にPPPoEインターフェースppp1を作成します。これには、encapsulation pppコマンドを使います。
   PPPの詳細は「PPP」/「一般設定」をご覧ください。

       interface eth2
        encapsulation ppp 1

5. PPPインターフェースppp1に対し、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 ppp1
        ppp ipcp dns request
        keepalive
        ip address negotiated
        ppp username user@ispB
        ppp password isppasswdB
        ip tcp adjust-mss pmtu

6. VLANを作成します。
   これには、vlan databaseコマンドとvlanコマンドを使います。
   VLANの詳細は「L2スイッチング」/「バーチャルLAN」をご覧ください。

       vlan database
        vlan 10,20,30 state enable

7. LANポート1.0.1と1.0.2をvlan10とvlan20のタグ付きポートに設定し、これらのポートでスタティックチャンネルグループ「1」を構成します。
   これには、switchport modeコマンド、switchport trunk allowed vlanコマンドとstatic-channel-groupコマンドを使います。
   スタティックチャンネルグループについては「インターフェース」/「リンクアグリゲーション（IEEE 802.3ad）」をご覧ください。
   また、VLANについては「L2スイッチング」/「バーチャルLAN」をご覧ください。

       interface port1.0.1-1.0.2
        switchport
        switchport mode trunk
        switchport trunk allowed vlan add 10,20
        static-channel-group 1

8. LANポート1.0.3をvlan30のタグなしポートに設定します。
   これには、switchport modeコマンド、switchport access vlanコマンドを使います。
   VLANについては「L2スイッチング」/「バーチャルLAN」をご覧ください。

       interface port1.0.3
        switchport
        switchport mode access
        switchport access vlan 30

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

       interface vlan10
        ip address 192.168.10.2/24

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

        interface vlan20
         ip address 192.168.20.2/24

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

        interface vlan30
         ip address 192.168.30.2/24

12. 経路制御プロトコルRIPの設定を行います。
    これには、service rip、router rip、network、passive-interface、redistributeの各コマンドを使います。
    RIPの詳細は「IP」/「経路制御（RIP）」をご覧ください。

        service rip
        router rip
         network 192.168.10.0/24
         network 192.168.20.0/24
         network 192.168.30.0/24
         passive-interface vlan10
         passive-interface vlan20
         redistribute static

13. バイパスポートを利用した冗長構成を組むため、HA（High Availability）モードのVRRPを設定します。
    これには、service vrrp、router vrrp、virtual-ip、ha associate、enableの各コマンドを使います。
    VRRPの詳細は「IP」/「VRRP」をご覧ください。
    VRID=10（vlan10）において、ルーターBは初期状態でマスタールーターとなるため、バイパスポートのリレー制御（ha associateコマンドのwan-bypassパラメーター）は不要です。

        service vrrp
        router vrrp 10 vlan10
         virtual-ip 192.168.10.100 backup
         priority 101
         ha associate
         enable

14. VRID=20（vlan20）において、ルーターBは初期状態でバックアップルーターとなるため、ha associateコマンドのwan-bypassパラメーターでWANポート（eth2）に対応するバイパスポート「2」のリレー制御を有効にします。

        router vrrp 20 vlan20
         virtual-ip 192.168.20.100 backup
         ha associate wan-bypass 2
         enable

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

        zone private
         network internal
          ip subnet 192.168.10.0/24
          ip subnet 192.168.20.0/24
          ip subnet 192.168.30.0/24
          ip subnet 192.168.100.0/24
          ip subnet 192.168.200.0/24
         network rip
          ip subnet 224.0.0.9/32
         network vrrp
          ip subnet 224.0.0.18/32

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

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

17. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
    これには、firewall、rule、protectの各コマンドを使います。
    ・rule 10 - 内部から内部への通信を許可します
    ・rule 20 - 内部から外部への通信を許可します
    ・rule 30, 40 - 本製品の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.wan
         rule 40 permit dns from public.wan.ppp1 to public.wan
         protect

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

        nat
         rule 10 masq any from private to public
         enable

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

        ip route 0.0.0.0/0 ppp0 100
        ip route 0.0.0.0/0 ppp1
        ip route 192.168.100.0/24 192.168.10.3
        ip route 192.168.200.0/24 192.168.20.3

20. インターフェーストリガーを作成します。
    これには、trigger、type interface、scriptの各コマンドを使います。
    ・trigger 1 - ppp0インターフェースがアップした場合に、RIP経路表にppp0側の経路を追加するppp0_up.scpスクリプトを実行する
    ・trigger 2 - ppp1インターフェースがアップした場合に、RIP経路表にppp1側の経路を追加するppp1_up.scpスクリプトを実行する
    ・trigger 3 - ppp0インターフェースがダウンした場合に、RIP経路表からppp0側の経路を削除するppp0_down.scpスクリプトを実行する
    ・trigger 4 - ppp1インターフェースがダウンした場合に、RIP経路表からppp1側の経路を削除するppp1_down.scpスクリプトを実行する
    トリガースクリプトの具体的内容は「トリガースクリプト」を、トリガーの詳細は「運用・管理」/「トリガー」をご覧ください。

        trigger 1
         type interface ppp0 up
         script 1 flash:/ppp0_up.scp
        trigger 2
         type interface ppp1 up
         script 1 flash:/ppp1_up.scp
        trigger 3
         type interface ppp0 down
         script 1 flash:/ppp0_down.scp
        trigger 4
         type interface ppp1 down
         script 1 flash:/ppp1_down.scp

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

        ip dns forwarding

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

        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
    !
    interface ppp0
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispA
     ppp password isppasswdA
     ip tcp adjust-mss pmtu
    !
    interface eth2
     encapsulation ppp 1
    !
    interface ppp1
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispB
     ppp password isppasswdB
     ip tcp adjust-mss pmtu
    !
    vlan database
     vlan 10,20,30 state enable
    !
    interface port1.0.1-1.0.2
     switchport
     switchport mode trunk
     switchport trunk allowed vlan add 10,20
     static-channel-group 1
    !
    interface port1.0.3
     switchport
     switchport mode access
     switchport access vlan 30
    !
    interface vlan10
     ip address 192.168.10.1/24
    !
    interface vlan20
     ip address 192.168.20.1/24
    !
    interface vlan30
     ip address 192.168.30.1/24
    !
    service rip
    router rip
     network 192.168.10.0/24
     network 192.168.20.0/24
     network 192.168.30.0/24
     passive-interface vlan10
     passive-interface vlan20
     redistribute static
    !
    service vrrp
    router vrrp 10 vlan10
     virtual-ip 192.168.10.100 backup
     ha associate wan-bypass 1
     enable
    !
    router vrrp 20 vlan20
     virtual-ip 192.168.20.100 backup
     priority 101
     ha associate
     enable
    !
    zone private
     network internal
      ip subnet 192.168.10.0/24
      ip subnet 192.168.20.0/24
      ip subnet 192.168.30.0/24
      ip subnet 192.168.100.0/24
      ip subnet 192.168.200.0/24
     network rip
      ip subnet 224.0.0.9/32
     network vrrp
      ip subnet 224.0.0.18/32
    !
    zone public
     network wan
      ip subnet 0.0.0.0/0
      ip subnet 0.0.0.0/0 interface ppp0
      ip subnet 0.0.0.0/0 interface ppp1
      host ppp0
       ip address dynamic interface ppp0
      host ppp1
       ip address dynamic interface ppp1
    !
    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.wan
     rule 40 permit dns from public.wan.ppp1 to public.wan
     protect
    !
    nat
     rule 10 masq any from private to public
     enable
    !
    ip route 0.0.0.0/0 ppp0
    ip route 0.0.0.0/0 ppp1 100
    ip route 192.168.100.0/24 192.168.10.3
    ip route 192.168.200.0/24 192.168.20.3
    !
    trigger 1
     type interface ppp0 up
     script 1 flash:/ppp0_up.scp
    trigger 2
     type interface ppp1 up
     script 1 flash:/ppp1_up.scp
    trigger 3
     type interface ppp0 down
     script 1 flash:/ppp0_down.scp
    trigger 4
     type interface ppp1 down
     script 1 flash:/ppp1_down.scp
    !
    ip dns forwarding
    !
    end

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

    !
    no spanning-tree rstp enable
    !
    interface eth1
     encapsulation ppp 0
    !
    interface ppp0
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispA
     ppp password isppasswdA
     ip tcp adjust-mss pmtu
    !
    interface eth2
     encapsulation ppp 1
    !
    interface ppp1
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@ispB
     ppp password isppasswdB
     ip tcp adjust-mss pmtu
    !
    vlan database
     vlan 10,20,30 state enable
    !
    interface port1.0.1-1.0.2
     switchport
     switchport mode trunk
     switchport trunk allowed vlan add 10,20
     static-channel-group 1
    !
    interface port1.0.3
     switchport
     switchport mode access
     switchport access vlan 30
    !
    interface vlan10
     ip address 192.168.10.2/24
    !
    interface vlan20
     ip address 192.168.20.2/24
    !
    interface vlan30
     ip address 192.168.30.2/24
    !
    service rip
    router rip
     network 192.168.10.0/24
     network 192.168.20.0/24
     network 192.168.30.0/24
     passive-interface vlan10
     passive-interface vlan20
     redistribute static
    !
    service vrrp
    router vrrp 10 vlan10
     virtual-ip 192.168.10.100 backup
     priority 101
     ha associate
     enable
    !
    router vrrp 20 vlan20
     virtual-ip 192.168.20.100 backup
     ha associate wan-bypass 2
     enable
    !
    zone private
     network internal
      ip subnet 192.168.10.0/24
      ip subnet 192.168.20.0/24
      ip subnet 192.168.30.0/24
      ip subnet 192.168.100.0/24
      ip subnet 192.168.200.0/24
     network rip
      ip subnet 224.0.0.9/32
     network vrrp
      ip subnet 224.0.0.18/32
    !
    zone public
     network wan
      ip subnet 0.0.0.0/0
      ip subnet 0.0.0.0/0 interface ppp0
      ip subnet 0.0.0.0/0 interface ppp1
      host ppp0
       ip address dynamic interface ppp0
      host ppp1
       ip address dynamic interface ppp1
    !
    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.wan
     rule 40 permit dns from public.wan.ppp1 to public.wan
     protect
    !
    nat
     rule 10 masq any from private to public
     enable
    !
    ip route 0.0.0.0/0 ppp0 100
    ip route 0.0.0.0/0 ppp1
    ip route 192.168.100.0/24 192.168.10.3
    ip route 192.168.200.0/24 192.168.20.3
    !
    trigger 1
     type interface ppp0 up
     script 1 flash:/ppp0_up.scp
    trigger 2
     type interface ppp1 up
     script 1 flash:/ppp1_up.scp
    trigger 3
     type interface ppp0 down
     script 1 flash:/ppp0_down.scp
    trigger 4
     type interface ppp1 down
     script 1 flash:/ppp1_down.scp
    !
    ip dns forwarding
    !
    end

## トリガースクリプト（ルーターA/B共通）

ppp0_up.scp

    ena
    conf t
    router rip
    network ppp0
    passive-interface ppp0
    end

ppp1_up.scp

    ena
    conf t
    router rip
    network ppp1
    passive-interface ppp1
    end

ppp0_down.scp

    ena
    conf t
    router rip
    no network ppp0
    no passive-interface ppp0
    end

ppp1_down.scp

    ena
    conf t
    router rip
    no network ppp1
    no passive-interface ppp1
    end