＜前頁 次頁＞ ＜＜ ＞＞ ↓ 目次 （番号順 (詳細)・ 回線別 (詳細)・ 機能別 (詳細)）

CentreCOM AR550S 設定例集 2.9 #194

# IPsecルートテンプレート＋OSPFを使用したセンター機器冗長構成

本社側にルーター（ルーターA/ルーターB）を2台置き、支社ごとにそれぞれのルーター（ルーターC/ルーターD）とIPsec（ESP）トンネルで結ぶことでリソースを有効活用します。また、障害時には経路の切り替えが可能なVPN構築例です。

本社内での経路情報はOSPFで管理されており、支社のルーターがIPsecで接続すると本社から支社への経路がルートテンプレートによって設定され、OSPFにより本社ネットワーク内で共有されます。拠点ごとに接続されているルーターとの間に障害が発生した場合には、他方のルーターを用いて通信を継続します。本社内においては、変更された経路情報がOSPFにより通知されます。本社はグローバルアドレスを固定で割り当てられ、支社はグローバルアドレス各1個が動的に割り当てられていると仮定しています。
ここでは、次のようなネットワーク構成を例に解説します。

ISPからは次の情報を提供されているものとします。

表 1：ISPから提供された情報
| ルーターA | ルーターB | ルーターC | ルーターD
ユーザーID（PPPユーザー名） | userA@isp | userB@isp | userC@isp | userD@isp
パスワード（PPPパスワード） | isppasswdA | isppasswdB | isppasswdC | isppasswdD
サービス名 | 指定なし | 指定なし | 指定なし | 指定なし
グローバルIPアドレス | 10.10.10.1/32 | 10.10.10.2/32 | 不定（動的取得） | 不定（動的取得）

本社側ルーター（ルーターA/B）は、以下のように設定するものとします。

表 2：本社側ルーターの基本設定
| ルーターA | ルーターB
VPN接続設定
WAN側IPアドレス | 10.10.10.1 | 10.10.10.2
LAN側IPアドレス | 172.16.0.1/24 | 172.16.0.2/24
VPN接続設定
キープアライブ | 有効（DPD） | 有効（DPD）
ローカルセキュアグループ | 172.16.0.0/22 | 172.16.0.0/22
リモートセキュアグループ | ルーターC間 | 192.168.10.0/24 | 192.168.10.0/24
ルーターD間 | 192.168.20.0/24 | 192.168.20.0/24
リモートゲートウェイ | 不定 | 不定
IKE設定
交換モード | アグレッシブ | アグレッシブ
事前共有鍵 | ルーターC間 | secret-ac | secret-bc
ルーターD間 | secret-ad | secret-bd
暗号化認証アルゴリズム | 3DES & SHA1-DH2 | 3DES & SHA1-DH2
フェーズ1リモートID | ルーターC間 | vpn_ac | vpn_bc
ルーターD間 | vpn_ad | vpn_bd
IPsec設定
暗号化認証アルゴリズム | ESP 3DES HMAC SHA1 | ESP 3DES HMAC SHA1
PFSグループ | なし | なし

支社側ルーター（ルーターC/D）は、以下のように設定するものとします。

表 3：支社側ルーターの基本設定
| ルーターC | ルーターD
VPN接続設定
WAN側IPアドレス | 自動取得（取得アドレスは不定） | 自動取得（取得アドレスは不定）
LAN側IPアドレス | 192.168.10.1/24 | 192.168.20.1/24
VPN接続設定
キープアライブ | 有効（DPD） | 有効（DPD）
ローカルセキュアグループ | 192.168.10.0/24 | 192.168.20.0/24
リモートセキュアグループ | 172.16.0.0/22 | 172.16.0.0/22
リモートゲートウェイ | 10.10.10.1 | 10.10.10.2
IKE設定
交換モード | アグレッシブ | アグレッシブ
事前共有鍵 | ルーターA間 | secret-ac | secret-ad
ルーターB間 | secret-bc | secret-bd
暗号化認証アルゴリズム | 3DES & SHA1-DH2 | 3DES & SHA1-DH2
フェーズ1ローカルID | ルーターA間 | vpn_ac | vpn_ad
ルーターB間 | vpn_bc | vpn_bd
IPsec設定
暗号化認証アルゴリズム | ESP 3DES HMAC SHA1 | ESP 3DES HMAC SHA1
PFSグループ | なし | なし

本構成における設定のポイントは、次の通りです。

- ルーターC、ルーターDはアドレス不定のため、ルーターA、ルーターBからは接続を開始できません。常にルーターC、ルーターDから接続を開始することになります。
- ルーターAとルーターB、L3スイッチはOSPFによるダイナミックルーティングを行い、ルーターC、ルーターDへの経路情報を交換することで冗長構成を実現します。
- 正常時はルーターCのマスターがルーターA、ルーターDのマスターがルーターBとなり、負荷を分散します。
- ルーターA障害時には、ルーターC、ルーターD両方の通信がルーターB経由での通信となり、ルーターB障害時には、ルーターC、ルーターD両方の通信がルーターA経由となりますが、障害の復旧時には再び負荷分散された状態へ戻ります。

ルーターAの設定

1. セキュリティーモードで各種設定を行うことができるSecurity Officerレベルのユーザー「secoff」を作成します。パスワードは｢PasswordS｣とします。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. ISPへ接続するため、eth0インターフェース上にppp0を作成します。

   `CREATE PPP=0 OVER=eth0-ANY ↓`
3. ISPから通知されたユーザー名、パスワードを設定します。ISDN回線向けの機能であるBAPは無効化し、LCP ECHOによるPPPセッション監視を有効化します。

   `SET PPP=0 OVER=eth0-ANY USER=userA@isp PASS=isppasswdA LQR=OFF BAP=OFF ECHO=ON ↓`
4. IPルーティングを行うため、IPモジュールを有効化します。

   `ENABLE IP ↓`
5. IPインターフェースvlan1にIPアドレス172.16.0.1/24を設定します。

   `ADD IP INT=vlan1 IP=172.16.0.1 MASK=255.255.255.0 ↓`
6. ISPへ接続するppp0に、IPアドレス10.10.10.1/32を設定します。

   `ADD IP INT=ppp0 IP=10.10.10.1 MASK=255.255.255.255 ↓`
7. ルーターBから配信されるデフォルトルートを受信しないように経路制御フィルターを設定します。

   `ADD IP ROUTE FILTER=1 IP=0.0.0.0 MASK=0.0.0.0 ACTION=EXCLUDE DIRECTION=RECEIVE ↓
   ADD IP ROUTE FILTER=2 IP=*.*.*.* MASK=*.*.*.* ACTION=INCLUDE ↓
   `
8. デフォルトルートをppp0に設定します。

   `ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓`
9. ppp0がISPに接続した際、通知されたDNSサーバーアドレスを使用するように設定します。

   `ADD IP DNS INT=ppp0 ↓`
10. DNSリレーを有効化します。

    `ENABLE IP DNSRELAY ↓`
11. ファイアウォールを有効化します。

    `ENABLE FIREWALL ↓`
12. ファイアウォールの動作を規定するポリシー「net」を作成します。ICMPはUnreachable、Echo/Echo replay（ping）のみ透過するよう設定し、identプロキシー機能は無効化します。（メールサーバー等からのident要求に対してTCP RSTを返します）

    `CREATE FIREWALL POLICY=net ↓
    ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓
    DISABLE FIREWALL POLICY=net IDENTPROXY ↓
    `
13. ファイアウォールポリシー「net」に、IPインターフェースを追加します。ppp0をpublic、vlan1をprivateとして設定し、ppp0側から開始される通信は遮断しつつvlan1側から開始される通信は透過します。

    `ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓
    ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
    `
14. インターネットアクセスを実現するため、vlan1-ppp0間にダイナミックENATを設定します。

    `ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓`
15. ルーターC、ルーターDからのISAKMP（UDP500番宛）を受信できるよう、透過ルールを設定します。

    `ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 GBLPO=500 IP=10.10.10.1 GBLIP=10.10.10.1 ↓`
16. 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が172.16.0.1-172.16.3.254、つまり、ローカル側LANならばNATの対象外とする」の意味になります。

    `ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=172.16.0.1-172.16.3.254 ENCAP=IPSEC ↓`
17. 172.16.0.1-172.16.3.254に所属するホストから、192.168.10.1-192.168.10.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=172.16.0.1-172.16.3.254 ↓
    SET FIREWALL POLICY=net RU=3 REMOTEIP=192.168.10.1-192.168.10.254 ↓
    `
18. 192.168.10.1-192.168.10.254に所属するホストから、192.168.20.1-192.168.20.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓
    SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.20.1-192.168.20.254 ↓
    `
19. ルーターA-C間のSAが確立したときに設定される、SAに対応する経路情報を設定します。この経路は、マスター経路であるため、OSPFメトリックは20に設定します。

    `ADD IP ROUTE TEMPLATE=route-c INT=ppp0 NEXT=0.0.0.0 METRIC2=20 ↓`
20. ルーターA-D間のSAが確立したときに設定される、SAに対応する経路情報を設定します。この経路はバックアップ経路なので、OSPFメトリックは21に設定します。

    `ADD IP ROUTE TEMPLATE=route-d INT=ppp0 NEXT=0.0.0.0 METRIC2=21 ↓`
21. ルーターA-C間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ac" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

22. ルーターA-D間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-ad" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

23. ルーターCとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_ac」を作成します。KEYには、手順20で作成した事前共有鍵（鍵番号「1」）を、ルーターCのIPアドレスが不定なため、PEERにANYを、REMOTEIDで相手の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_ac PEER=ANY KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_ac REMOTEID=vpn_ac SENDN=TRUE SENDD=TRUE ↓
    `
24. DPDを設定します。DPDパケットの送信間隔を10秒に設定し、ISAKMPパケット（DPDを含む）の再送処理間隔を一定にするように設定します。

    `SET ISAKMP POLICY=ike_ac DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓`
25. ルーターDとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_ad」を作成します。KEYには、手順21で作成した事前共有鍵（鍵番号「2」）を、ルーターDのIPアドレスが不定なため、PEERにANYを、REMOTEIDで相手の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_ad PEER=ANY KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_ad REMOTEID=vpn_ad SENDN=TRUE SENDD=TRUE ↓
    `
26. DPDを設定します。DPDパケットの送信間隔を10秒に設定し、ISAKMPパケット（DPDを含む）の再送処理間隔を一定にするように設定します。

    `SET ISAKMP POLICY=ike_ad DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓`
27. IPsecSAを生成するためのSAスペックとバンドルSAスペックを定義します。このSAスペックとバンドルSAスペックは、ルーターA-C間接続、ルーターA-D間接続の両方で使用します。暗号化プロトコルには3DESを指定しています。

    `CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓
    CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓
    `
28. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット（ISAKMP）に設定します。

    `CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓`
29. ルーターCとのIPsec通信に使用するIPsecポリシー「vpn_ac」をPPPインターフェース「0」に対して作成します。相手のIPアドレスが不定なので、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。SAが確立したときに追加する経路route-cを指定します。

    `CREATE IPSEC POLICY=vpn_ac INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-c ↓
    SET IPSEC POLICY=vpn_ac LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓
    `
30. ルーターDとのIPsec通信に使用するIPsecポリシー「vpn_ad」をPPPインターフェース「0」に対して作成します。相手のIPアドレスが不定なので、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。SAが確立したときに追加する経路route-dを指定します。

    `CREATE IPSEC POLICY=vpn_ad INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-d ↓
    SET IPSEC POLICY=vpn_ad LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓
    `
31. インターネット向け通信を平文で透過するためのIPsecポリシー「inet」を定義します。

    `CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓`
32. IPsecモジュール、ISAKMPモジュールを有効化します。

    `ENABLE IPSEC ↓
    ENABLE ISAKMP ↓
    `
33. 経路情報の交換のため、VLAN1上でOSPFを有効にします。ルートテンプレートで設定された経路を再配送するので、ASEXTERNALをONにしてAS外部ルーターとして設定します。また、スタティックルートのメトリックをそのままOSPFネットワークに再配布するように設定します。

    `ENABLE OSPF ↓
    ADD OSPF AREA=0.0.0.0 ↓
    ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓
    ADD OSPF INT=vlan1 AREA=0.0.0.0 ↓
    SET OSPF ASEXTERNAL=ON ↓
    SET OSPF REDISTRIBUTE PROT=STATIC METRIC=ORIGINAL TYPE=2 ↓
    `
34. スクリプト「c1_vlan1_up.scp」を作成します。c1_vlan1_up.scpは、以下を実行するものです。
    - PPP0インターフェースを有効化

    `ADD SCRIPT=c1_vlan1_up.scp TEXT="ENABLE PPP=0" ↓`

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

35. スクリプト「c1_vlan1_down.scp」を作成します。c1_vlan1_down.scpは、以下を実行するものです。
    - PPP0インターフェースを無効化

    `ADD SCRIPT=c1_vlan1_down.scp TEXT="DISABLE PPP=0" ↓`

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

36. トリガー機能を有効にし、VLAN1インターフェースがダウンした場合にも経路切り替えが行われるようにインターフェーストリガーを設定します。

    `ENABLE TRIGGER ↓
    CREATE TRIGGER=1 INTERFACE=vlan1 EVENT=UP SCRIPT=c1_vlan1_up.scp ↓
    CREATE TRIGGER=2 INTERFACE=vlan1 EVENT=DOWN SCRIPT=c1_vlan1_down.scp ↓
    `
37. Security Officerレベルのユーザーで再ログインを行います。loginコマンドを実行するとパスワード入力を求められますので、1で設定したパスワードを入力します。

    `LOGIN secoff ↓`
38. セキュリティーモードへ移行します。

    `ENABLE SYSTEM SECURITY_MODE ↓`
39. 設定内容をrouter-a.cfgという名前で保存し、起動時に読み込まれるよう設定します。

    `CREATE CONFIG=router-a.cfg ↓
    SET CONFIG=router-a.cfg ↓
    `
    ルーターAの設定は以上です。

ルーターBの設定

1. セキュリティーモードで各種設定を行うことができるSecurity Officerレベルのユーザー「secoff」を作成します。パスワードは｢PasswordS｣とします。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. ISPへ接続するため、eth0インターフェース上にppp0を作成します。

   `CREATE PPP=0 OVER=eth0-ANY ↓`
3. ISPから通知されたユーザー名、パスワードを設定します。ISDN回線向けの機能であるBAPは無効化し、LCP ECHOによるPPPセッション監視を有効化します。

   `SET PPP=0 OVER=eth0-ANY USER=userB@isp PASS=isppasswdB LQR=OFF BAP=OFF ECHO=ON ↓`
4. IPルーティングを行うため、IPモジュールを有効化します。

   `ENABLE IP ↓`
5. IPインターフェースvlan1にIPアドレス172.16.0.2/24を設定します。

   `ADD IP INT=vlan1 IP=172.16.0.2 MASK=255.255.255.0 ↓`
6. ISPへ接続するppp0に、IPアドレス10.10.10.2/32を設定します。

   `ADD IP INT=ppp0 IP=10.10.10.2 MASK=255.255.255.255 ↓`
7. ルーターAから配信されるデフォルトルートを受信しないように経路制御フィルターを設定します。

   `ADD IP ROUTE FILTER=1 IP=0.0.0.0 MASK=0.0.0.0 ACTION=EXCLUDE DIRECTION=RECEIVE ↓
   ADD IP ROUTE FILTER=2 IP=*.*.*.* MASK=*.*.*.* ACTION=INCLUDE ↓
   `
8. デフォルトルートをppp0に設定します。

   `ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓`
9. ppp0がISPに接続した際、通知されたDNSサーバーアドレスを使用するように設定します。

   `ADD IP DNS INT=ppp0 ↓`
10. DNSリレーを有効化します。

    `ENABLE IP DNSRELAY ↓`
11. ファイアウォールを有効化します。

    `ENABLE FIREWALL ↓`
12. ファイアウォールの動作を規定するポリシー「net」を作成します。ICMPはUnreachable、Echo/Echo replay（ping）のみ透過するよう設定し、identプロキシー機能は無効化します。（メールサーバー等からのident要求に対してTCP RSTを返します）

    `CREATE FIREWALL POLICY=net ↓
    ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓
    DISABLE FIREWALL POLICY=net IDENTPROXY ↓
    `
13. ファイアウォールポリシー「net」に、IPインターフェースを追加します。ppp0をpublic、vlan1をprivateとして設定し、ppp0側から開始される通信は遮断しつつvlan1側から開始される通信は透過します。

    `ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓
    ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
    `
14. インターネットアクセスを実現するため、vlan1-ppp0間にダイナミックENATを設定します。

    `ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓`
15. ルーターC、ルーターDからのISAKMP（UDP500番宛）を受信できるよう、透過ルールを設定します。

    `ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 GBLPO=500 IP=10.10.10.2 GBLIP=10.10.10.2 ↓`
16. 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が172.16.0.1-172.16.3.254、つまり、ローカル側LANならばNATの対象外とする」の意味になります。

    `ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=172.16.0.1-172.16.3.254 ENCAP=IPSEC ↓`
17. 172.16.0.1-172.16.3.254に所属するホストから、192.168.20.1-192.168.20.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=172.16.0.1-172.16.3.254 ↓
    ADD FIREWALL POLICY=net RU=3 REMOTEIP=192.168.20.1-192.168.20.254 ↓
    `
18. 192.168.20.1-192.168.20.254に所属するホストから、192.168.10.1-192.168.10.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓
    SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.10.1-192.168.10.254 ↓
    `
19. ルーターB-C間のSAが確立したときに設定される、SAに対応する経路情報を設定します。この経路は、バックアップ経路であるため、OSPFメトリックは21に設定します。

    `ADD IP ROUTE TEMPLATE=route-c INT=ppp0 NEXT=0.0.0.0 METRIC2=21 ↓`
20. ルーターB-D間のSAが確立したときに設定される、SAに対応する経路情報を設定します。この経路はマスター経路なので、OSPFメトリックは20に設定します。

    `ADD IP ROUTE TEMPLATE=route-d INT=ppp0 NEXT=0.0.0.0 METRIC2=20 ↓`
21. ルーターB-C間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-bc" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

22. ルーターB-D間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bd" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

23. ルーターCとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_bc」を作成します。KEYには、手順20で作成した事前共有鍵（鍵番号「1」）を、ルーターCのIPアドレスが不定なため、PEERにANYを、REMOTEIDで相手の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_bc PEER=ANY KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_bc REMOTEID=vpn_bc SENDN=TRUE SENDD=TRUE ↓
    `
24. DPDを設定します。DPDパケットの送信間隔を10秒に設定し、ISAKMPパケット（DPDを含む）の再送処理間隔を一定にするように設定します。

    `SET ISAKMP POLICY=ike_bc DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓`
25. ルーターDとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_bd」を作成します。KEYには、手順21で作成した事前共有鍵（鍵番号「2」）を、ルーターCのIPアドレスが不定なため、PEERにANYを、REMOTEIDで相手の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_bd PEER=ANY KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_bd REMOTEID=vpn_bd SENDN=TRUE SENDD=TRUE ↓
    `
26. DPDを設定します。DPDパケットの送信間隔を10秒に設定し、ISAKMPパケット（DPDを含む）の再送処理間隔を一定にするように設定します。

    `SET ISAKMP POLICY=ike_bd DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓`
27. IPsecSAを生成するためのSAスペックとバンドルSAスペックを定義します。このSAスペックとバンドルSAスペックは、ルーターB-C間接続、ルーターB-D間接続の両方で使用します。暗号化プロトコルには3DESを指定しています。

    `CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓
    CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓
    `
28. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット（ISAKMP）に設定します。

    `CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓`
29. ルーターCとのIPsec通信に使用するIPsecポリシー「vpn_bc」をPPPインターフェース「0」に対して作成します。相手のIPアドレスが不定なので、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。SAが確立したときに追加する経路route-cを指定します。

    `CREATE IPSEC POLICY=vpn_bc INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-c ↓
    SET IPSEC POLICY=vpn_bc LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓
    `
30. ルーターDとのIPsec通信に使用するIPsecポリシー「vpn_bd」をPPPインターフェース「0」に対して作成します。相手のIPアドレスが不定なので、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。SAが確立したときに追加する経路route-dを指定します。

    `CREATE IPSEC POLICY=vpn_bd INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-d ↓
    SET IPSEC POLICY=vpn_bd LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓
    `
31. インターネット向け通信を平文で透過するためのIPsecポリシー「inet」を定義します。

    `CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓`
32. IPsecモジュール、ISAKMPモジュールを有効化します。

    `ENABLE IPSEC ↓
    ENABLE ISAKMP ↓
    `
33. 経路情報の交換のため、VLAN1上でOSPFを有効にします。ルートテンプレートで設定された経路を再配送するので、ASEXTERNALをONにしてAS外部ルーターとして設定します。また、スタティックルートのメトリックをそのままOSPFネットワークに再配布するように設定します。

    `ENABLE OSPF ↓
    ADD OSPF AREA=0.0.0.0 ↓
    ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓
    ADD OSPF INT=vlan1 AREA=0.0.0.0 ↓
    SET OSPF ASEXTERNAL=ON ↓
    SET OSPF REDISTRIBUTE PROT=STATIC METRIC=ORIGINAL TYPE=2 ↓
    `
34. スクリプト「c2_vlan1_up.scp」を作成します。c2_vlan1_up.scpは、以下を実行するものです。
    - PPP0インターフェースを有効化

    `ADD SCRIPT=c2_vlan1_up.scp TEXT="ENABLE PPP=0" ↓`

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

35. スクリプト「c2_vlan1_down.scp」を作成します。c2_vlan1_down.scpは、以下を実行するものです。
    - PPP0インターフェースを無効化

    `ADD SCRIPT=c2_vlan1_down.scp TEXT="DISABLE PPP=0" ↓`

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

36. トリガー機能を有効にし、VLAN1インターフェースがダウンした場合にも経路切り替えが行われるようにインターフェーストリガーを設定します。

    `ENABLE TRIGGER ↓
    CREATE TRIGGER=1 INTERFACE=vlan1 EVENT=UP SCRIPT=c2_vlan1_up.scp ↓
    CREATE TRIGGER=2 INTERFACE=vlan1 EVENT=DOWN SCRIPT=c2_vlan1_down.scp ↓
    `
37. Security Officerレベルのユーザーで再ログインを行います。loginコマンドを実行するとパスワード入力を求められますので、1で設定したパスワードを入力します。

    `LOGIN secoff ↓`
38. セキュリティーモードへ移行します。

    `ENABLE SYSTEM SECURITY_MODE ↓`
39. 設定内容をrouter-b.cfgという名前で保存し、起動時に読み込まれるよう設定します。

    `CREATE CONFIG=router-b.cfg ↓
    SET CONFIG=router-b.cfg ↓
    `
    ルーターBの設定は以上です。

ルーターCの設定

1. セキュリティーモードで各種設定を行うことができるSecurity Officerレベルのユーザー「secoff」を作成します。パスワードは｢PasswordS｣とします。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. ISPへ接続するため、eth0インターフェース上にppp0を作成します。

   `CREATE PPP=0 OVER=eth0-ANY ↓`
3. ISPから通知されたユーザー名、パスワードを設定します。ISDN回線向けの機能であるBAPは無効化し、LCP ECHOによるPPPセッション監視を有効化します。また、IPアドレスの動的取得をISPに要求します。

   `SET PPP=0 OVER=eth0-ANY USER=userC@isp PASS=isppasswdC LQR=OFF BAP=OFF ECHO=ON IPREQUEST=ON ↓`
4. IPルーティングを行うため、IPモジュールを有効化します。

   `ENABLE IP ↓`
5. IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。

   `ENABLE IP REMOTE ↓`
6. IPインターフェースvlan1にIPアドレス192.168.10.1/24を設定します。

   `ADD IP INT=vlan1 IP=192.168.10.1 MASK=255.255.255.0 ↓`
7. ppp0にIPアドレス「0.0.0.0」を設定します。ISPとの接続が確立するまで、IPアドレスは確定しません。

   `ADD IP INT=ppp0 IP=0.0.0.0 ↓`
8. デフォルトルートをppp0に設定します。

   `ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓`
9. DNSサーバーのIPアドレスの取得先インターフェースをppp0に設定します。

   `ADD IP DNS INT=ppp0 ↓`
10. DNSリレーを有効化します。

    `ENABLE IP DNSRELAY ↓`
11. ファイアウォールを有効化します。

    `ENABLE FIREWALL ↓`
12. ファイアウォールの動作を規定するポリシー「net」を作成します。ICMPはUnreachable、Echo/Echo replay(ping)のみ透過するよう設定し、identプロキシー機能は無効化します。（メールサーバー等からのident要求に対してTCP RSTを返します）

    `CREATE FIREWALL POLICY=net ↓
    ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓
    DISABLE FIREWALL POLICY=net IDENTPROXY ↓
    `
13. ファイアウォールポリシー「net」に、IPインターフェースを追加します。ppp0をpublic、vlan1をprivateとして設定し、ppp0側から開始される通信は遮断しつつvlan1側から開始される通信は透過します。

    `ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓
    ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
    `
14. インターネットアクセスを実現するため、vlan1-ppp0間にダイナミックENATを設定します。

    `ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓`
15. ルーターA、ルーターBからのISAKMP（UDP500番宛）を受信できるよう、透過ルールを設定します。

    `ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 IP=0.0.0.0 GBLPO=500 GBLIP=0.0.0.0 ↓`
16. 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が192.168.10.1-192.168.10.254、つまり、ローカル側LANならばNATの対象外とする」の意味になります。

    `ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓`
17. 192.168.10.1-192.168.10.254に所属するホストから、172.16.0.1-172.16.3.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓
    SET FIREWALL POLICY=net RU=3 REMOTEIP=172.16.0.1-172.16.3.254 ↓
    `
18. 192.168.10.1-192.168.10.254に所属するホストから、192.168.20.1-192.168.20.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓
    SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.20.1-192.168.20.254 ↓
    `
19. ルーターA-C間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ac" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

20. ルーターB-C間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bc" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

21. ルーターAとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_ac」を作成します。KEYには、手順17で作成した事前共有鍵（鍵番号「1」）を、PEERにルーターAのIPアドレスを、LOCALIDで認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_ac PEER=10.10.10.1 KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_ac LOCALID=vpn_ac SENDN=TRUE SENDD=TRUE ↓
    `
22. DPDを設定します。

    `SET ISAKMP POLICY=ike_ac DPDMODE=BOTH ↓`
23. ルーターBとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_bc」を作成します。KEYには、手順18で作成した事前共有鍵（鍵番号「2」）を、PEERにルーターBのIPアドレスを、LOCALIDで認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_bc PEER=10.10.10.2 KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_bc LOCALID=vpn_bc SENDN=TRUE SENDD=TRUE ↓
    `
24. DPDを設定します。

    `SET ISAKMP POLICY=ike_bc DPDMODE=BOTH ↓`
25. IPsecSAを生成するためのSAスペックとバンドルSAスペックを定義します。このSAスペックとバンドルSAスペックは、ルーターA-C間接続、ルーターB-C間接続の両方で使用します。暗号化プロトコルには3DESを指定しています。

    `CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓
    CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓
    `
26. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット（ISAKMP）に設定します。

    `CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓`
27. ルーターAとのIPsec通信に使用するIPsecポリシー「vpn_ac」をPPPインターフェース「0」に対して作成します。

    `CREATE IPSEC POLICY=vpn_ac INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.1 ↓
    SET IPSEC POLICY=vpn_ac LAD=192.168.10.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓
    `
28. ルーターBとのIPsec通信に使用するIPsecポリシー「vpn_bc」をPPPインターフェース「0」に対して作成します。

    `CREATE IPSEC POLICY=vpn_bc INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.2 ↓
    SET IPSEC POLICY=vpn_bc LAD=192.168.10.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓
    `
29. インターネット向け通信を平文で透過するためのIPsecポリシー「inet」を定義します。

    `CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓`
30. IPsecモジュール、ISAKMPモジュールを有効化します。

    `ENABLE IPSEC ↓
    ENABLE ISAKMP ↓
    `
31. ルーターAのWAN側インターフェース（ppp0）を監視対象としてPingポーリングの設定をします。ここでは、PingポーリングIDを「1」に設定しています。ここではCRITICALINTERVALを「5」、NORMALINTERVALを「5」、UPCOUNTを「5」に設定し、Pingポーリングを有効にします。

    `ADD PING POLL=1 IP=10.10.10.1 CRI=5 NOR=5 UPC=5 ↓
    ENABLE PING POLL=1 ↓
    `
32. IPsecポリシー「vpn_bc」を使用させるスクリプト「ac_down.scp」を作成します。ac_down.scpは、以下を実行するものです。
    - IPsecポリシーリスト内におけるポリシー「vpn_bc」の位置を2番目に設定
    - ウェイトを5秒設定（IPsecポリシー「vpn_bc」のSA確立待ち時間）
    - IPsecポリシー「vpn_ac」をリセットし関連するSAの削除
    - ISAKMPポリシー「ike_ac」をリセットし関連するSAの削除

    `ADD SCRIPT=ac_down.scp TEXT="SET IPSEC POLICY=vpn_bc POSITION=2" ↓
    ADD SCRIPT=ac_down.scp TEXT="WAIT 5" ↓
    ADD SCRIPT=ac_down.scp TEXT="RESET IPSEC POLICY=vpn_ac" ↓
    ADD SCRIPT=ac_down.scp TEXT="RESET ISAKMP POLICY=ike_ac" ↓
    `

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

33. IPsecポリシー「vpn_ac」を使用させるスクリプト「ac_up.scp」を作成します。ac_up.scpは、以下を実行するものです。
    - IPsecポリシーリスト内におけるポリシー「vpn_ac」の位置を2番目に設定
    - ウェイトを5秒設定（IPsecポリシー「vpn_ac」のSA確立待ち時間）
    - IPsecポリシー「vpn_bc」をリセットし関連するSAの削除
    - ISAKMPポリシー「ike_bc」をリセットし関連するSAの削除

    `ADD SCRIPT=ac_up.scp TEXT="SET IPSEC POLICY=vpn_ac POSITION=2" ↓
    ADD SCRIPT=ac_up.scp TEXT="WAIT 5" ↓
    ADD SCRIPT=ac_up.scp TEXT="RESET IPSEC POLICY=vpn_bc" ↓
    ADD SCRIPT=ac_up.scp TEXT="RESET ISAKMP POLICY=ike_bc" ↓
    `

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスク リーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

34. トリガー機能を有効にし、PingポーリングによりデバイスのUPを検出すると、作成したスクリプト「ac_up.scp」を実行するトリガー「1」と、デバイスのDOWNを検出すると、作成したスクリプト「ac_down.scp」を実行するトリガー「2」を作成します。

    `ENABLE TRIGGER ↓
    CREATE TRIGGER=1 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=ac_up.scp ↓
    CREATE TRIGGER=2 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=ac_down.scp ↓
    `
35. Security Officerレベルのユーザーで再ログインを行います。loginコマンドを実行するとパスワード入力を求められますので、1で設定したパスワードを入力します。

    `LOGIN secoff ↓`
36. セキュリティーモードへ移行します。

    `ENABLE SYSTEM SECURITY_MODE ↓`
37. 設定内容をrouter-c.cfgという名前で保存し、起動時に読み込まれるよう設定します。

    `CREATE CONFIG=router-c.cfg ↓
    SET CONFIG=router-c.cfg ↓
    `
    ルーターCの設定は以上です。

ルーターDの設定

1. セキュリティーモードで各種設定を行うことができるSecurity Officerレベルのユーザー「secoff」を作成します。パスワードは｢PasswordS｣とします。

   `ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓`
2. ISPへ接続するため、eth0インターフェース上にppp0を作成します。

   `CREATE PPP=0 OVER=eth0-ANY ↓`
3. ISPから通知されたユーザー名、パスワードを設定します。ISDN回線向けの機能であるBAPは無効化し、LCP ECHOによるPPPセッション監視を有効化します。また、IPアドレスの動的取得をISPに要求します。

   `SET PPP=0 OVER=eth0-ANY USER=userD@isp PASS=isppasswdD LQR=OFF BAP=OFF ECHO=ON IPREQUEST=ON ↓`
4. IPルーティングを行うため、IPモジュールを有効化します。

   `ENABLE IP ↓`
5. IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。

   `ENABLE IP REMOTE ↓`
6. IPインターフェースvlan1にIPアドレス192.168.20.1/24を設定します。

   `ADD IP INT=vlan1 IP=192.168.20.1 MASK=255.255.255.0 ↓`
7. ppp0にIPアドレス「0.0.0.0」を設定します。ISPとの接続が確立するまで、IPアドレスは確定しません。

   `ADD IP INT=ppp0 IP=0.0.0.0 ↓`
8. デフォルトルートをppp0に設定します。

   `ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓`
9. DNSサーバーのIPアドレスの取得先インターフェースをppp0に設定します。

   `ADD IP DNS INT=ppp0 ↓`
10. DNSリレーを有効化します。

    `ENABLE IP DNSRELAY ↓`
11. ファイアウォールを有効化します。

    `ENABLE FIREWALL ↓`
12. ファイアウォールの動作を規定するポリシー「net」を作成します。ICMPはUnreachable、Echo/Echo replay(ping)のみ透過するよう設定し、identプロキシー機能は無効化します。（メールサーバー等からのident要求に対してTCP RSTを返します）

    `CREATE FIREWALL POLICY=net ↓
    ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓
    DISABLE FIREWALL POLICY=net IDENTPROXY ↓
    `
13. ファイアウォールポリシー「net」に、IPインターフェースを追加します。ppp0をpublic、vlan1をprivateとして設定し、ppp0側から開始される通信は遮断しつつvlan1側から開始される通信は透過します。

    `ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓
    ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
    `
14. インターネットアクセスを実現するため、vlan1-ppp0間にダイナミックENATを設定します。

    `ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓`
15. ルーターA、ルーターBからのISAKMP（UDP500番宛）を受信できるよう、透過ルールを設定します。

    `ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 IP=0.0.0.0 GBLPO=500 GBLIP=0.0.0.0 ↓`
16. 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が192.168.20.1-192.168.20.254、つまり、ローカル側LANならばNATの対象外とする」の意味になります。

    `ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.20.1-192.168.20.254 ENCAP=IPSEC ↓`
17. 192.168.20.1-192.168.20.254に所属するホストから、172.16.0.1-172.16.3.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓
    SET FIREWALL POLICY=net RU=3 REMOTEIP=172.16.0.1-172.16.3.254 ↓
    `
18. 192.168.20.1-192.168.20.254に所属するホストから、192.168.10.1-192.168.10.254宛の通信に対して透過ルールを設定します。これらの通信にはNATを適用する必要が無いため、NATの対象から除外するよう設定します。

    `ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓
    SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.10.1-192.168.10.254 ↓
    `
19. ルーターA-D間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ad" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

20. ルーターB-D間の鍵交換に使用される事前共有鍵を設定します。

    `CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bd" ↓`

    > Note - CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド（内蔵スクリーンエディター）などで設定スクリプトファイル（.CFG）にこのコマンドを記述しても無効になりますのでご注意ください。

21. ルーターAとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_ad」を作成します。KEYには、手順17で作成した事前共有鍵（鍵番号「1」）を、PEERにルーターAのIPアドレスを、LOCALIDで認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_ad PEER=10.10.10.1 KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_ad LOCALID=vpn_ad SENDN=TRUE SENDD=TRUE ↓
    `
22. DPDを設定します。

    `SET ISAKMP POLICY=ike_ad DPDMODE=BOTH ↓`
23. ルーターBとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「ike_bd」を作成します。KEYには、手順18で作成した事前共有鍵（鍵番号「2」）を、PEERにルーターBのIPアドレスを、LOCALIDで認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。経路切り替えがスムーズに行えるようにDELETEペイロード、Notifyペイロードの送信を行うように設定します。

    `CREATE ISAKMP POLICY=ike_bd PEER=10.10.10.2 KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓
    SET ISAKMP POLICY=ike_bd LOCALID=vpn_bd SENDN=TRUE SENDD=TRUE ↓
    `
24. DPDを設定します。

    `SET ISAKMP POLICY=ike_bd DPDMODE=BOTH ↓`
25. IPsecSAを生成するためのSAスペックとバンドルSAスペックを定義します。このSAスペックとバンドルSAスペックは、ルーターA-D間接続、ルーターB-D間接続の両方で使用します。暗号化プロトコルには3DESを指定しています。

    `CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓
    CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓
    `
26. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット（ISAKMP）に設定します。

    `CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓`
27. ルーターBとのIPsec通信に使用するIPsecポリシー「vpn_bd」をPPPインターフェース「0」に対して作成します。

    `CREATE IPSEC POLICY=vpn_bd INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.2 ↓
    SET IPSEC POLICY=vpn_bd LAD=192.168.20.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓
    `
28. ルーターAとのIPsec通信に使用するIPsecポリシー「vpn_ad」をPPPインターフェース「0」に対して作成します。

    `CREATE IPSEC POLICY=vpn_ad INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.1 ↓
    SET IPSEC POLICY=vpn_ad LAD=192.168.20.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓
    `
29. インターネット向け通信を平文で透過するためのIPsecポリシー「inet」を定義します。

    `CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓`
30. IPsecモジュール、ISAKMPモジュールを有効化します。

    `ENABLE IPSEC ↓
    ENABLE ISAKMP ↓
    `
31. ルーターBのWAN側インターフェース（ppp0）を監視対象としてPingポーリングの設定をします。ここでは、PingポーリングIDを「1」に設定しています。ここではCRITICALINTERVAL を「5」、NORMALINTERVALを「5」、UPCOUNTを「5」に設定し、Pingポーリングを有効にします。

    `ADD PING POLL=1 IP=10.10.10.2 CRI=5 NOR=5 UPC=5 ↓
    ENABLE PING POLL=1 ↓
    `
32. IPsecポリシー「vpn_ad」を使用させるスクリプト「bd_down.scp」を作成します。bd_down.scpは、以下を実行するものです。
    - IPsecポリシーリスト内におけるポリシー「vpn_ad」の位置を2番目に設定
    - ウェイトを5秒設定（IPsecポリシー「vpn_ad」のSA確立待ち時間）
    - IPsecポリシー「vpn_bd」をリセットし関連するSAの削除
    - ISAKMPポリシー「ike_bd」をリセットし関連するSAの削除

    `ADD SCRIPT=bd_down.scp TEXT="SET IPSEC POLICY=vpn_ad POSITION=2" ↓
    ADD SCRIPT=bd_down.scp TEXT="WAIT 5" ↓
    ADD SCRIPT=bd_down.scp TEXT="RESET IPSEC POLICY=vpn_bd" ↓
    ADD SCRIPT=bd_down.scp TEXT="RESET ISAKMP POLICY=ike_bd" ↓
    `

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

33. IPsecポリシー「vpn_bd」を使用させるスクリプト「bd_up.scp」を作成します。bd_up.scpは、以下を実行するものです。
    - IPsecポリシーリスト内におけるポリシー「vpn_bd」の位置を2番目に設定
    - ウェイトを5秒設定（IPsecポリシー「vpn_bd」のSA確立待ち時間）
    - IPsecポリシー「vpn_ad」をリセットし関連するSAの削除
    - ISAKMPポリシー「ike_ad」をリセットし関連するSAの削除

    `ADD SCRIPT=bd_up.scp TEXT="SET IPSEC POLICY=vpn_bd POSITION=2" ↓
    ADD SCRIPT=bd_up.scp TEXT="WAIT 5" ↓
    ADD SCRIPT=bd_up.scp TEXT="RESET IPSEC POLICY=vpn_ad" ↓
    ADD SCRIPT=bd_up.scp TEXT="RESET ISAKMP POLICY=ike_ad" ↓
    `

    > Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド（内蔵フルスクリーンエディター）などを使って設定スクリプトファイル（.CFG）にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

34. トリガー機能を有効にし、PingポーリングによりデバイスのUPを検出すると、作成したスクリプト「bd_up.scp」を実行するトリガー「1」と、デバイスのDOWNを検出すると、作成したスクリプト「bd_down.scp」を実行するトリガー「2」を作成します。

    `ENABLE TRIGGER ↓
    CREATE TRIGGER=1 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=bd_up.scp ↓
    CREATE TRIGGER=2 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=bd_down.scp ↓
    `
35. Security Officerレベルのユーザーで再ログインを行います。loginコマンドを実行するとパスワード入力を求められますので、1で設定したパスワードを入力します。

    `LOGIN secoff ↓`
36. セキュリティーモードへ移行します。

    `ENABLE SYSTEM SECURITY_MODE ↓`
37. 設定内容をrouter-d.cfgという名前で保存し、起動時に読み込まれるよう設定します。

    `CREATE CONFIG=router-d.cfg ↓
    SET CONFIG=router-d.cfg ↓
    `
    ルーターDの設定は以上です。

（参考）L3スイッチの設定

参考として、9924Tsを例に、L3スイッチの設定手順について簡単に述べます。

1. VLANを作成します。

   `CREATE VLAN=vlan10 VID=10 ↓
   CREATE VLAN=vlan20 VID=20 ↓
   CREATE VLAN=vlan30 VID=30 ↓
   CREATE VLAN=vlan40 VID=40 ↓
   `
2. VLANにポートを参加させます。

   `ADD VLAN=10 PO=1-6 ↓
   ADD VLAN=20 PO=7-12 ↓
   ADD VLAN=30 PO=13-21 ↓
   ADD VLAN=40 PO=22-24 ↓
   `
3. IPルーティングを行うため、IPモジュールを有効化します。

   `ENABLE IP ↓`
4. VLANインターフェースにIPアドレスを設定します。

   `ADD IP INT=vlan10 IP=172.16.0.254 MASK=255.255.255.0 ↓
   ADD IP INT=vlan20 IP=172.16.1.254 MASK=255.255.255.0 ↓
   ADD IP INT=vlan30 IP=172.16.2.254 MASK=255.255.255.0 ↓
   ADD IP INT=vlan40 IP=172.16.3.254 MASK=255.255.255.0 ↓
   `
5. OSPFを有効にします。

   `ADD OSPF AREA=0.0.0.0 ↓
   ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓
   ADD OSPF INT=vlan10 AREA=0.0.0.0 ↓
   ADD OSPF INT=vlan20 AREA=0.0.0.0 ↓
   ADD OSPF INT=vlan30 AREA=0.0.0.0 ↓
   ADD OSPF INT=vlan40 AREA=0.0.0.0 ↓
   ENABLE OSPF ↓
   `
6. 設定内容をl3sw.cfgという名前で保存し、起動時に読み込まれるよう設定します。

   `create config=l3sw.cfg ↓
   set config=l3sw.cfg ↓
   `
   L3スイッチの設定は以上です。

まとめ

ルーターAのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル（.cfg）に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。

`ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓ CREATE PPP=0 OVER=eth0-ANY ↓ SET PPP=0 OVER=eth0-ANY USER=userA@isp PASS=isppasswdA LQR=OFF BAP=OFF ECHO=ON ↓ ENABLE IP ↓ ADD IP INT=vlan1 IP=172.16.0.1 MASK=255.255.255.0 ↓ ADD IP INT=ppp0 IP=10.10.10.1 MASK=255.255.255.255 ↓ ADD IP ROUTE FILTER=1 IP=0.0.0.0 MASK=0.0.0.0 ACTION=EXCLUDE DIRECTION=RECEIVE ↓ ADD IP ROUTE FILTER=2 IP=*.*.*.* MASK=*.*.*.* ACTION=INCLUDE ↓ ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓ ADD IP DNS INT=ppp0 ↓ ENABLE IP DNSRELAY ↓ ENABLE FIREWALL ↓ CREATE FIREWALL POLICY=net ↓ ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓ DISABLE FIREWALL POLICY=net IDENTPROXY ↓ ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓ ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓ ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓ ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 GBLPO=500 IP=10.10.10.1 GBLIP=10.10.10.1 ↓ ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=172.16.0.1-172.16.3.254 ENCAP=IPSEC ↓ ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=172.16.0.1-172.16.3.254 ↓ SET FIREWALL POLICY=net RU=3 REMOTEIP=192.168.10.1-192.168.10.254 ↓ ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓ SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.20.1-192.168.20.254 ↓ ADD IP ROUTE TEMPLATE=route-c INT=ppp0 NEXT=0.0.0.0 METRIC2=20 ↓ ADD IP ROUTE TEMPLATE=route-d INT=ppp0 NEXT=0.0.0.0 METRIC2=21 ↓ # CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ac" ↓ # CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-ad" ↓ CREATE ISAKMP POLICY=ike_ac PEER=ANY KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_ac REMOTEID=vpn_ac SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_ac DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓ CREATE ISAKMP POLICY=ike_ad PEER=ANY KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_ad REMOTEID=vpn_ad SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_ad DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓ CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓ CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓ CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓ CREATE IPSEC POLICY=vpn_ac INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-c ↓ SET IPSEC POLICY=vpn_ac LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓ CREATE IPSEC POLICY=vpn_ad INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-d ↓ SET IPSEC POLICY=vpn_ad LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓ CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓ ENABLE IPSEC ↓ ENABLE ISAKMP ↓ ENABLE OSPF ↓ ADD OSPF AREA=0.0.0.0 ↓ ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan1 AREA=0.0.0.0 ↓ SET OSPF ASEXTERNAL=ON ↓ SET OSPF REDISTRIBUTE PROT=STATIC METRIC=ORIGINAL TYPE=2 ↓ ENABLE TRIGGER ↓ CREATE TRIGGER=1 INTERFACE=vlan1 EVENT=UP SCRIPT=c1_vlan1_up.scp ↓ CREATE TRIGGER=2 INTERFACE=vlan1 EVENT=DOWN SCRIPT=c1_vlan1_down.scp ↓ # LOGIN secoff ↓ # ENABLE SYSTEM SECURITY_MODE ↓`

スクリプト「c1_vlan1_up.scp」 [テキスト版]

`ENABLE PPP=0 ↓`

スクリプト「c1_vlan1_down.scp」 [テキスト版]

`DISABLE PPP=0 ↓`

ルーターBのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル（.cfg）に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。

`ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓ CREATE PPP=0 OVER=eth0-ANY ↓ SET PPP=0 OVER=eth0-ANY USER=userB@isp PASS=isppasswdB LQR=OFF BAP=OFF ECHO=ON ↓ ENABLE IP ↓ ADD IP INT=vlan1 IP=172.16.0.2 MASK=255.255.255.0 ↓ ADD IP INT=ppp0 IP=10.10.10.2 MASK=255.255.255.255 ↓ ADD IP ROUTE FILTER=1 IP=0.0.0.0 MASK=0.0.0.0 ACTION=EXCLUDE DIRECTION=RECEIVE ↓ ADD IP ROUTE FILTER=2 IP=*.*.*.* MASK=*.*.*.* ACTION=INCLUDE ↓ ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓ ADD IP DNS INT=ppp0 ↓ ENABLE IP DNSRELAY ↓ ENABLE FIREWALL ↓ CREATE FIREWALL POLICY=net ↓ ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓ DISABLE FIREWALL POLICY=net IDENTPROXY ↓ ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓ ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓ ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓ ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 GBLPO=500 IP=10.10.10.2 GBLIP=10.10.10.2 ↓ ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=172.16.0.1-172.16.3.254 ENCAP=IPSEC ↓ ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=172.16.0.1-172.16.3.254 ↓ ADD FIREWALL POLICY=net RU=3 REMOTEIP=192.168.20.1-192.168.20.254 ↓ ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓ SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.10.1-192.168.10.254 ↓ ADD IP ROUTE TEMPLATE=route-c INT=ppp0 NEXT=0.0.0.0 METRIC2=21 ↓ ADD IP ROUTE TEMPLATE=route-d INT=ppp0 NEXT=0.0.0.0 METRIC2=20 ↓ # CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-bc" ↓ # CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bd" ↓ CREATE ISAKMP POLICY=ike_bc PEER=ANY KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_bc REMOTEID=vpn_bc SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_bc DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓ CREATE ISAKMP POLICY=ike_bd PEER=ANY KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_bd REMOTEID=vpn_bd SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_bd DPDMODE=BOTH DPDIDLE=10 MSGBACK=NONE ↓ CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓ CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓ CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓ CREATE IPSEC POLICY=vpn_bc INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-c ↓ SET IPSEC POLICY=vpn_bc LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓ CREATE IPSEC POLICY=vpn_bd INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC IPROUTE=route-d ↓ SET IPSEC POLICY=vpn_bd LAD=172.16.0.0 LMA=255.255.252.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓ CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓ ENABLE IPSEC ↓ ENABLE ISAKMP ↓ ENABLE OSPF ↓ ADD OSPF AREA=0.0.0.0 ↓ ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan1 AREA=0.0.0.0 ↓ SET OSPF ASEXTERNAL=ON ↓ SET OSPF REDISTRIBUTE PROT=STATIC METRIC=ORIGINAL TYPE=2 ↓ ENABLE TRIGGER ↓ CREATE TRIGGER=1 INTERFACE=vlan1 EVENT=UP SCRIPT=c2_vlan1_up.scp ↓ CREATE TRIGGER=2 INTERFACE=vlan1 EVENT=DOWN SCRIPT=c2_vlan1_down.scp ↓ # LOGIN secoff ↓ # ENABLE SYSTEM SECURITY_MODE ↓`

スクリプト「c2_vlan1_up.scp」 [テキスト版]

`ENABLE PPP=0 ↓`

スクリプト「c2_vlan1_down.scp」 [テキスト版]

`DISABLE PPP=0 ↓`

ルーターCのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル（.cfg）に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。

`ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓ CREATE PPP=0 OVER=eth0-ANY ↓ SET PPP=0 OVER=eth0-ANY USER=userC@isp PASS=isppasswdC LQR=OFF BAP=OFF ECHO=ON IPREQUEST=ON ↓ ENABLE IP ↓ ENABLE IP REMOTE ↓ ADD IP INT=vlan1 IP=192.168.10.1 MASK=255.255.255.0 ↓ ADD IP INT=ppp0 IP=0.0.0.0 ↓ ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓ ADD IP DNS INT=ppp0 ↓ ENABLE IP DNSRELAY ↓ ENABLE FIREWALL ↓ CREATE FIREWALL POLICY=net ↓ ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓ DISABLE FIREWALL POLICY=net IDENTPROXY ↓ ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓ ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓ ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓ ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 IP=0.0.0.0 GBLPO=500 GBLIP=0.0.0.0 ↓ ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓ ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓ SET FIREWALL POLICY=net RU=3 REMOTEIP=172.16.0.1-172.16.3.254 ↓ ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254 ↓ SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.20.1-192.168.20.254 ↓ # CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ac" ↓ # CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bc" ↓ CREATE ISAKMP POLICY=ike_ac PEER=10.10.10.1 KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_ac LOCALID=vpn_ac SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_ac DPDMODE=BOTH ↓ CREATE ISAKMP POLICY=ike_bc PEER=10.10.10.2 KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_bc LOCALID=vpn_bc SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_bc DPDMODE=BOTH ↓ CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓ CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓ CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓ CREATE IPSEC POLICY=vpn_ac INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.1 ↓ SET IPSEC POLICY=vpn_ac LAD=192.168.10.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓ CREATE IPSEC POLICY=vpn_bc INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.2 ↓ SET IPSEC POLICY=vpn_bc LAD=192.168.10.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓ CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓ ENABLE IPSEC ↓ ENABLE ISAKMP ↓ ADD PING POLL=1 IP=10.10.10.1 CRI=5 NOR=5 UPC=5 ↓ ENABLE PING POLL=1 ↓ ENABLE TRIGGER ↓ CREATE TRIGGER=1 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=ac_up.scp ↓ CREATE TRIGGER=2 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=ac_down.scp ↓ # LOGIN secoff ↓ # ENABLE SYSTEM SECURITY_MODE ↓`

スクリプト「ac_down.scp」 [テキスト版]

`SET IPSEC POLICY=vpn_bc POSITION=2 ↓ WAIT 5 ↓ RESET IPSEC POLICY=vpn_ac ↓ RESET ISAKMP POLICY=ike_ac ↓`

スクリプト「ac_up.scp」 [テキスト版]

`SET IPSEC POLICY=vpn_ac POSITION=2 ↓ WAIT 5 ↓ RESET IPSEC POLICY=vpn_bc ↓ RESET ISAKMP POLICY=ike_bc ↓`

ルーターDのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル（.cfg）に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。

`ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓ CREATE PPP=0 OVER=eth0-ANY ↓ SET PPP=0 OVER=eth0-ANY USER=userD@isp PASS=isppasswdD LQR=OFF BAP=OFF ECHO=ON IPREQUEST=ON ↓ ENABLE IP ↓ ENABLE IP REMOTE ↓ ADD IP INT=vlan1 IP=192.168.20.1 MASK=255.255.255.0 ↓ ADD IP INT=ppp0 IP=0.0.0.0 ↓ ADD IP ROU=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓ ADD IP DNS INT=ppp0 ↓ ENABLE IP DNSRELAY ↓ ENABLE FIREWALL ↓ CREATE FIREWALL POLICY=net ↓ ENABLE FIREWALL POLICY=net ICMP_F=UNREACH,PING ↓ DISABLE FIREWALL POLICY=net IDENTPROXY ↓ ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE ↓ ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓ ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0 ↓ ADD FIREWALL POLICY=net RU=1 AC=ALLOW INT=ppp0 PROT=UDP PO=500 IP=0.0.0.0 GBLPO=500 GBLIP=0.0.0.0 ↓ ADD FIREWALL POLICY=net RU=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.20.1-192.168.20.254 ENCAP=IPSEC ↓ ADD FIREWALL POLICY=net RU=3 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓ SET FIREWALL POLICY=net RU=3 REMOTEIP=172.16.0.1-172.16.3.254 ↓ ADD FIREWALL POLICY=net RU=4 AC=NONAT INT=vlan1 PROT=ALL IP=192.168.20.1-192.168.20.254 ↓ SET FIREWALL POLICY=net RU=4 REMOTEIP=192.168.10.1-192.168.10.254 ↓ # CREATE ENCO KEY=1 TYPE=GENE VALUE="secret-ad" ↓ # CREATE ENCO KEY=2 TYPE=GENE VALUE="secret-bd" ↓ CREATE ISAKMP POLICY=ike_ad PEER=10.10.10.1 KEY=1 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_ad LOCALID=vpn_ad SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_ad DPDMODE=BOTH ↓ CREATE ISAKMP POLICY=ike_bd PEER=10.10.10.2 KEY=2 MODE=AGGRESSIVE ENCALG=3DESOUTER HASH=SHA GROUP=2 ↓ SET ISAKMP POLICY=ike_bd LOCALID=vpn_bd SENDN=TRUE SENDD=TRUE ↓ SET ISAKMP POLICY=ike_bd DPDMODE=BOTH ↓ CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=3DESOUTER HASHA=SHA ↓ CREATE IPSEC BUNDLE=1 KEY=ISAKMP STRING=1 ↓ CREATE IPSEC POLICY=isa INT=ppp0 AC=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓ CREATE IPSEC POLICY=vpn_bd INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.2 ↓ SET IPSEC POLICY=vpn_bd LAD=192.168.20.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓ CREATE IPSEC POLICY=vpn_ad INT=ppp0 AC=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=10.10.10.1 ↓ SET IPSEC POLICY=vpn_ad LAD=192.168.20.0 LMA=255.255.255.0 RAD=172.16.0.0 RMA=255.255.252.0 ↓ CREATE IPSEC POLICY=inet INT=ppp0 AC=PERMIT ↓ ENABLE IPSEC ↓ ENABLE ISAKMP ↓ ADD PING POLL=1 IP=10.10.10.2 CRI=5 NOR=5 UPC=5 ↓ ENABLE PING POLL=1 ↓ ENABLE TRIGGER ↓ CREATE TRIGGER=1 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=bd_up.scp ↓ CREATE TRIGGER=2 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=bd_down.scp ↓ # LOGIN secoff ↓ # ENABLE SYSTEM SECURITY_MODE ↓`

スクリプト「bd_down.scp」 [テキスト版]

`SET IPSEC POLICY=vpn_ad POSITION=2 ↓ WAIT 5 ↓ RESET IPSEC POLICY=vpn_bd ↓ RESET ISAKMP POLICY=ike_bd ↓`

スクリプト「bd_up.scp」 [テキスト版]

`SET IPSEC POLICY=vpn_bd POSITION=2 ↓ WAIT 5 ↓ RESET IPSEC POLICY=vpn_ad ↓ RESET ISAKMP POLICY=ike_ad ↓`

（参考）L3スイッチのコンフィグ [テキスト版]

`CREATE VLAN=vlan10 VID=10 ↓ CREATE VLAN=vlan20 VID=20 ↓ CREATE VLAN=vlan30 VID=30 ↓ CREATE VLAN=vlan40 VID=40 ↓ ADD VLAN=10 PO=1-6 ↓ ADD VLAN=20 PO=7-12 ↓ ADD VLAN=30 PO=13-21 ↓ ADD VLAN=40 PO=22-24 ↓ ENABLE IP ↓ ADD IP INT=vlan10 IP=172.16.0.254 MASK=255.255.255.0 ↓ ADD IP INT=vlan20 IP=172.16.1.254 MASK=255.255.255.0 ↓ ADD IP INT=vlan30 IP=172.16.2.254 MASK=255.255.255.0 ↓ ADD IP INT=vlan40 IP=172.16.3.254 MASK=255.255.255.0 ↓ ADD OSPF AREA=0.0.0.0 ↓ ADD OSPF RANGE=172.16.0.0 MASK=255.255.252.0 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan10 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan20 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan30 AREA=0.0.0.0 ↓ ADD OSPF INT=vlan40 AREA=0.0.0.0 ↓ ENABLE OSPF ↓`

CentreCOM AR550S 設定例集 2.9 #194

(C) 2005-2012 アライドテレシスホールディングス株式会社

PN: J613-M0710-04 Rev.M

＜前頁 次頁＞ ＜＜ ＞＞ ↑ 目次 （番号順 (詳細)・ 回線別 (詳細)・ 機能別 (詳細)）