CentreCOM AR550S 設定例集 2.9: #142
<前頁
次頁>
<<
>>
↓
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))
CentreCOM AR550S 設定例集 2.9 #142
Pingポーリングによるメイン回線からISDNバックアップへの自動切り替え(インターネットVPN+ISDNバックアップ〜IPsec編〜)
センター、拠点間をIPsec VPN環境でIP接続するネットワークを構築します。
この例では、ルーターとして本製品をセンター側(ルーターA)、拠点側(ルーターB)に設置するネットワーク構成を例に解説します。
ここでは、次の設定値を想定して説明します。
表 1
|
ルーターA(センター側) |
ルーターB(拠点側) |
LAN側インターフェース IPアドレス |
192.168.10.1/24 |
192.168.20.1/24 |
ppp0 IPアドレス(PPPoE接続) |
200.100.10.1/32 |
200.100.20.1/32 |
ppp1 IPアドレス(BRI、バックアップ回線) |
unnumbered |
unnumbered |
ISDN番号 |
03-1234-1111 |
06-1234-2222 |
表 2:IKEフェーズ1(ISAKMP SAのネゴシエーション)
ルーター間の認証方式 |
事前共有鍵(pre-shared key) |
IKE交換モード |
Main |
事前共有鍵 |
secret(文字列) |
Oakleyグループ |
1(デフォルト) |
ISAKMPメッセージの暗号化方式 |
DES(デフォルト) |
ISAKMPメッセージの認証方式 |
SHA1(デフォルト) |
ISAKMP SAの有効期限(時間) |
86400秒(24時間)(デフォルト) |
ISAKMP SAの有効期限(KByte数) |
なし(デフォルト) |
起動時のISAKMPネゴシエーション |
行なわない(デフォルト) |
表 3:IKEフェーズ2(IPsec SAのネゴシエーション)
SAモード |
トンネルモード |
セキュリティープロトコル |
ESP(暗号化+認証) |
暗号化方式 |
DES |
認証方式 |
SHA1 |
IPsec SAの有効期限(時間) |
28800秒(8時間)(デフォルト) |
IPsec SAの有効期限(KByte数) |
なし(デフォルト) |
トンネリング対象IPアドレス |
192.168.10.0/24 ←→ 192.168.20.0/24 |
トンネル終端アドレス |
200.100.10.1(A)、200.100.20.1(B) |
インターネットとの平文通信 |
行う |
また、次のような環境を想定しています。
- 各ルーターでBRIモジュールが使用できる
- センターと拠点間はIPsecで接続する
- Pingポーリングを対向ルーターのWAN側インターフェースに向け、定期的に通信状況を確認し、障害発生時にはトリガーを起動してバックアップ回線(ISDN)へ通信ルートを切り替える
■ 通常接続時(xDSL回線使用時)の通信は以下のように行われます。
- センター/ISP間の通信ルート
ルーターAのLAN側からISP宛に送出されたパケットは、ルーターAのLAN側インターフェース(vlan1)を通り、ルーターAのppp0でプライベートアドレス(192.168.10.x/24)からppp0のグローバルアドレス(200.100.10.1/32)にENAT変換されてISPへ届きます。
- センター/拠点間の通信ルート
ルーターAのLAN側から拠点のLAN側宛に送出されたパケットは、ルーターAのLAN側インターフェース(vlan1)から、IPトンネルを通ってプライベートアドレス(192.168.10.x/24)のままルーターBのLAN側インターフェース(vlan1)へ届きます。同様に、ルーターBのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターBのLAN側インターフェース(vlan1)から、IPトンネルを通ってプライベートアドレス(192.168.20.x/24)のままルーターAのLAN側インターフェース(vlan1)へ届きます。
- 拠点/ISP間の通信ルート
ルーターBのLAN側からISP宛に送出されたパケットは、ルーターBのLAN側インターフェース(vlan1)を通り、ルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(200.100.20.1/32)にENAT変換されてISPへ届きます。
■ センター側のメイン回線で障害発生時(バックアップ回線(ISDN)使用時)の通信は以下のように行われます。
- センター/ISP間の通信ルート
メイン回線がダウンしているため、センター側からISP宛の通信はできません。
- センター/拠点間の通信ルート
ルーターAのLAN側から拠点のLAN側宛に送出されたパケットは、ルーターAのLAN側インターフェース(vlan1)からルーターAのppp1インターフェース(BRI)へ転送され、プライベートアドレス(192.168.10.x/24)のままISDN網を経由してルーターBのppp1へ届き、ルーターBのLAN側インターフェース(vlan1)に転送されます。同様に、ルーターBのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターBのLAN側インターフェース(vlan1)からルーターBのppp1インターフェース(BRI)へ転送され、プライベートアドレス(192.168.20.x/24)のままISDN網を経由してルーターAのppp1へ届き、ルーターAのLAN側インターフェース(vlan1)に転送されます。この時、ISDNを経由した通信が未確立の場合は、通信を開始する側のBRIモジュールで相手側に発呼を行います。
- 拠点/ISP間の通信ルート
ルーターBのLAN側からISP宛に送出されたパケットは、ルーターBのLAN側インターフェース(vlan1)を通り、ルーターBのppp0でプライベートアドレス(192.168.20.x/24)からppp0のグローバルアドレス(200.100.20.1/32)にENAT変換されてISPへ届きます。
■ 拠点側のメイン回線で障害発生時(バックアップ回線(ISDN)使用時)の通信は以下のように行われます。
- センター/ISP間の通信ルート
ルーターAのLAN側からISP宛に送出されたパケットは、ルーターAのLAN側インターフェース(vlan1)を通り、ルーターAのppp0でプライベートアドレス(192.168.10.x/24)からppp0のグローバルアドレス(200.100.10.1/32)にENAT変換されてISPへ届きます。
- センター/拠点間の通信ルート
ルーターAのLAN側から拠点のLAN側宛に送出されたパケットは、ルーターAのLAN側インターフェース(vlan1)からルーターAのppp1インターフェース(BRI)へ転送され、プライベートアドレス(192.168.10.x/24)のままISDN網を経由してルーターBのppp1へ届き、ルーターBのLAN側インターフェース(vlan1)に転送されます。同様に、ルーターBのLAN側からセンターのLAN側宛に送出されたパケットは、ルーターBのLAN側インターフェース(vlan1)からルーターBのppp1インターフェース(BRI)へ転送され、プライベートアドレス(192.168.20.x/24)のままISDN網を経由してルーターAのppp1へ届き、ルーターAのLAN側インターフェース(vlan1)に転送されます。この時、ISDNを経由した通信が未確立の場合は、通信を開始する側のBRIモジュールで相手側に発呼を行います。
- 拠点/ISP間の通信ルート
メイン回線がダウンしているため、拠点側からISP宛の通信はできません。
- セキュリティーモードで管理設定を行うことができるSecurity Officerレベルのユーザーを作成します。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
Note
- Security Officerレベルのユーザーを作成しておかないと、セキュリティーモードに移行できませんのでご注意ください。
- バックアップ回線のISDNコールを定義します。ここではコール名を「BACKUP」とし、接続先番号として「0612342222」を指定しています。「PRECEDENCE=IN」は、ルーターBと同時に通信が発生した場合に、着呼を優先するよう指定するものです。
ADD ISDN CALL=BACKUP NUMBER=0612342222 PRECEDENCE=IN ↓
- 発番号IEのチェックをONに指定します。設定を「ON」にすると、着信時に相手の発番号をチェックし、「06-1234-2222」(ルーターB)からの着信だった場合にだけ、着呼を受け付けます。
SET ISDN CALL=BACKUP SEARCHCLI=ON ↓
- eth0インターフェース上にppp0インターフェースを作成します。ここでは、サービス名に「ANY」を設定しています。
CREATE PPP=0 OVER=eth0-ANY ↓
- ISPに接続するためのユーザー名とパスワードを指定します。また、ISDN向けの機能であるBAPはオフにします。
SET PPP=0 BAP=OFF USERNAME=user@isp PASSWORD=isppasswd ↓
- リンク状態の監視にLCP Echoパケットを使用するため、LQRを「OFF」、ECHOを「ON」に設定します。
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON ↓
- ISDNコール「BACKUP」上にppp1インターフェースを作成します。ここでは、IDLE(無通信時に切断するまでの時間)を「60」に設定しています。
CREATE PPP=1 IDLE=60 OVER=ISDN-BACKUP ↓
- LQRとBAPを「OFF」に設定します。
SET PPP=1 OVER=ISDN-BACKUP LQR=OFF BAP=OFF ↓
- IPモジュールを有効にします。
- IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。
- LAN側インターフェース(vlan1)にIPアドレス「192.168.10.1/24」を設定します。
ADD IP INTERFACE=vlan1 IPADDRESS=192.168.10.1 MASK=255.255.255.0 ↓
- ppp0インターフェースのIPアドレスを「200.100.10.1/32」に設定します。
ADD IP INTERFACE=ppp0 IPADDRESS=200.100.10.1 MASK=255.255.255.255 ↓
- ppp1インターフェースのIPアドレスを「unnumbered」に設定します。
ADD IP INTERFACE=ppp1 IPADDRESS=0.0.0.0 ↓
- デフォルトルートを設定します。この設定で、ISP宛のパケットをルーティングします。
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INTERFACE=ppp0 NEXT=0.0.0.0 ↓
- ファイアウォール機能を有効にします。
- ファイアウォールポリシーを作成します。ここでは、ポリシー名を「net」としています。
CREATE FIREWALL POLICY=net ↓
- ICMPパケットはPing(Echo/EchoReply)とUnreachableのみ通過させるように設定します。
ENABLE FIREWALL POLICY=net ICMP_FORWARDING=PING,UNREACH ↓
- identプロキシー機能を無効にします。identプロキシーは、FIREWALL有効時に、外部から内部へのident要求に対して代理応答する機能です。無効に設定した場合、ident接続要求に対してRSTを返し、TCPコネクションをただちに終了させます。
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
- ファイアウォール適用対象の各インターフェースを設定します。
ADD FIREWALL POLICY=net INTERFACE=vlan1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp0 TYPE=PUBLIC ↓
- LAN側インターフェース(vlan1)、ppp1インターフェースにENATの設定をします。
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=vlan1 GBLINTERFACE=ppp0 GBLIP=200.100.10.1 ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=ppp1 GBLINTERFACE=ppp0 GBLIP=200.100.10.1 ↓
- ルーターBから受信したIKEパケット(UDP500番ポート)がファイアウォールを通過できるように設定します。
ADD FIREWALL POLICY=net RULE=1 ACTION=ALLOW INTERFACE=ppp0 PROTOCOL=UDP GBLPORT=500 GBLIP=200.100.10.1 PORT=500 IP=200.100.10.1 ↓
- ローカルLAN側からルーターBのLAN側宛のパケットにNATが適用されないように設定します。
ADD FIREWALL POLICY=net RULE=2 ACTION=NON INTERFACE=vlan1 PROTOCOL=ALL IP=192.168.10.1-192.168.10.254 ↓
SET FIREWALL POLICY=net RULE=2 REMOTEIP=192.168.20.1-192.168.20.254 ↓
- ルーターBから着信したIPsecのパケットが破棄されないようにファイアウォールのルールを設定します。以下のコマンドライン中の「ENCAP=IPSEC」を記述することで、IPsecのパケットからオリジナルパケットを取り出した後に、このルールを適用することになります。つまりこのルールは「オリジナルパケットの終点アドレスが192.168.10.1〜192.168.10.254の場合にはNATを適用しない」意味になります。
ADD FIREWALL POLICY=net RULE=3 ACTION=NON INTERFACE=ppp0 PROTOCOL=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓
- ルーターBのWAN側インターフェース(ppp0)を監視対象としてPingポーリングの設定をします。ここでは、PingポーリングIDを「1」に設定しています。NORMALINTERVALは監視対象機器がUPの時のポーリング間隔(秒)、UPCOUNTは機器の状態が「Down」「Critical Down」から「UP」に戻るのに必要な連続した「応答あり」の数です。SAMPLESIZEは、到達性判断のために保持しておくPingパケットの数です。ここではNORMALINTERVALを「10」、UPCOUNTを「5」、SAMPLESIZEを「10」に設定しています。
ADD PING POLL=1 IPADDRESS=200.100.20.1 NORMALINTERVAL=10 UPCOUNT=5 SAMPLESIZE=10 ↓
- Pingポーリングを有効にします。ここでは、PingポーリングIDを「1」に設定しています。
- ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは、鍵番号を「1」、鍵の値を「secret」に設定します。
CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
Note
- CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド(内蔵スクリーンエディター)などで設定スクリプトファイル(.CFG)にこのコマンドを記述しても無効になりますのでご注意ください。
Note
- CREATE ENCO KEYコマンドで作成された鍵は、ノーマルモードでは、ルーターの再起動によって消去されます。暗号鍵を使用する場合は、必ずセキュリティーモードに移行して鍵が保存されるようにしてください。
- ルーターBとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。KEYとして前の手順で作成した事前共有鍵(鍵番号「1」)、PEERにルーターBのIPアドレスを指定します。
CREATE ISAKMP POLICY="i" PEER=200.100.20.1 KEY=1 SENDN=TRUE HEARTBEATMODE=BOTH ↓
- ISAKMPモジュールを有効にします。
- IPsec通信の仕様を定義するSAスペック「1」を作成します。トンネルモード、鍵管理方式「ISAKMP」、プロトコル「ESP」、暗号化方式「DES」、認証方式「SHA」に設定します。
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROTOCOL=ESP ENCALG=DES HASHALG=SHA ↓
- 作成したSAスペック「1」のみを使用して、SAバンドルスペック「1」を構成します。鍵管理方式には「ISAKMP」を指定します。
CREATE IPSEC BUNDLE=1 KEYMAN=ISAKMP STRING="1" ↓
- ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓
Note
- ISAKMPを使用する場合は、必ず最初のIPsecポリシーでISAKMPメッセージを通過させる設定を行ってください。IPsecポリシーは設定順に検索され、最初にマッチしたものが適用されるため、設定順序には注意してください。ポリシーの検索順序はSHOW IPSEC POLICYコマンドで確認できます。また、検索順序を変更するには、SET IPSEC POLICYコマンドのPOSITIONパラメーターを使用します。
- 実際のIPsec通信に使用するIPsecポリシー「vpn」をppp0インターフェースに対して作成します。鍵管理方式に「ISAKMP」、PEERにはルーターBのIPアドレス、バンドルスペックに「1」を指定します。
CREATE IPSEC POLICY="vpn" INTERFACE=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.20.1 ↓
- IPsecポリシー「vpn」に対して実際にIPsec通信を行うIPアドレスの範囲を指定します。コマンドが長くなるため、できるだけ省略形を使用してください。
SET IPSEC POLICY="vpn" LAD=192.168.10.0 LMA=255.255.255.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓
- ISP宛の平文通信を許可するIPsecポリシー「inet」をppp0インターフェースに対して作成します。
CREATE IPSEC POLICY="inet" INTERFACE=ppp0 ACTION=PERMIT ↓
Note
- インターネットにもアクセスする場合は、必ず最後にすべてのパケットを通過させるIPsecポリシーを作成してください。いずれのIPsecポリシーにもマッチしなかったトラフィックはデフォルトで破棄されるため、上記の設定がないとVPN以外との通信ができません。
- IPsecモジュールを有効にします。
- スクリプト「pingd.scp」を作成します。pingd.scpでは、ルーターBのLAN側宛のパケットが、バックアップ回線上のppp1経由で送信されるようスタティックルートを追加します。さらにISAKMPとIPsecを無効にし、再度ISAKMPとIPsecを有効にします。
ADD SCRIPT=pingd.scp TEXT="ADD IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0" ↓
ADD SCRIPT=pingd.scp TEXT="RESET IPSEC POLICY=vpn" ↓
ADD SCRIPT=pingd.scp TEXT="RESET ISAKMP POLICY=i" ↓
Note
- ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)などを使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。
- スクリプト「pingu.scp」を作成します。pingu.scpでは、バックアップ回線上のppp1側に設定していたルーターBのLAN側宛のスタティックルートを削除します。
ADD SCRIPT=pingu.scp TEXT="DELETE IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0" ↓
- トリガー機能を有効にします。
- PingポーリングによりデバイスのUPを検出すると、先に作成したスクリプト「pingu.scp」を実行するトリガー「4」を作成します。
CREATE TRIGGER=4 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=pingu.scp ↓
- PingポーリングによりデバイスのDOWNを検出すると、先に作成したスクリプト「pingd.scp」を実行するトリガー「5」を作成します。
CREATE TRIGGER=5 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=pingd.scp ↓
- セキュリティーレベルのユーザーでログインしなおします。
- 動作モードをセキュリティーモードに切り替えます。
ENABLE SYSTEM SECURITY_MODE ↓
Note
- セキュリティーモードでは、Security OfficerレベルでのTelnetログインが原則として禁止されています。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)の設定を行っておいてください(本章末尾のメモを参照)。
- 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。
CREATE CONFIG=router.cfg ↓
SET CONFIG=router.cfg ↓
- セキュリティーモードで管理設定を行うことができるSecurity Officerレベルのユーザーを作成します。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
Note
- Security Officerレベルのユーザーを作成しておかないと、セキュリティーモードに移行できませんのでご注意ください。
- バックアップ回線のISDNコールを定義します。ここではコール名を「BACKUP」とし、接続先番号として「0312341111」を指定しています。「PRECEDENCE=OUT」は、ルーターAと同時に通信が発生した場合に、発呼を優先するよう指定するものです。
ADD ISDN CALL=BACKUP NUMBER=0312341111 PRECEDENCE=OUT ↓
- 発番号IEのチェックをONに指定します。設定を「ON」にすると、着信時に相手の発番号をチェックし、「03-1234-1111」(ルーターA)からの着信だった場合にだけ、着呼を受け付けます。
SET ISDN CALL=BACKUP SEARCHCLI=ON ↓
- eth0インターフェース上にppp0インターフェースを作成します。ここでは、サービス名に「ANY」を設定しています。
CREATE PPP=0 OVER=eth0-ANY ↓
- ISPに接続するためのユーザー名とパスワードを指定します。また、ISDN向けの機能であるBAPはオフにします。
SET PPP=0 BAP=OFF USERNAME=user@isp PASSWORD=isppasswd ↓
- リンク状態の監視にLCP Echoパケットを使用するため、LQRを「OFF」、ECHOを「ON」に設定します。
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON ↓
- ISDNコール「BACKUP」上にppp1インターフェースを作成します。ここでは、IDLE(無通信時に切断するまでの時間)を「60」に設定しています。
CREATE PPP=1 IDLE=60 OVER=ISDN-BACKUP ↓
- LQRとBAPを「OFF」に設定します。
SET PPP=1 OVER=ISDN-BACKUP LQR=OFF BAP=OFF ↓
- IPモジュールを有効にします。
- IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。
- LAN側インターフェース(vlan1)にIPアドレス「192.168.20.1/24」を設定します。
ADD IP INTERFACE=vlan1 IPADDRESS=192.168.20.1 MASK=255.255.255.0 ↓
- ppp0インターフェースのIPアドレスを「200.100.20.1/32」に設定します。
ADD IP INTERFACE=ppp0 IPADDRESS=200.100.20.1 MASK=255.255.255.255 ↓
- ppp1インターフェースのIPアドレスを「unnumbered」に設定します。
ADD IP INTERFACE=ppp1 IPADDRESS=0.0.0.0 ↓
- デフォルトルートを設定します。この設定で、ISP宛のパケットをルーティングします。
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INTERFACE=ppp0 NEXT=0.0.0.0 ↓
- ファイアウォール機能を有効にします。
- ファイアウォールポリシーを作成します。ここでは、ポリシー名を「net」としています。
CREATE FIREWALL POLICY=net ↓
- ICMPパケットはPing(Echo/EchoReply)とUnreachableのみ通過させるように設定します。
ENABLE FIREWALL POLICY=net ICMP_FORWARDING=PING,UNREACH ↓
- identプロキシー機能を無効にします。identプロキシーは、FIREWALL有効時に、外部から内部へのident要求に対して代理応答する機能です。無効に設定した場合、ident接続要求に対してRSTを返し、TCPコネクションをただちに終了させます。
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
- ファイアウォール適用対象の各インターフェースを設定します。
ADD FIREWALL POLICY=net INTERFACE=vlan1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp0 TYPE=PUBLIC ↓
- LAN側インターフェース(vlan1)、ppp1インターフェースにENATの設定をします。
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=vlan1 GBLINTERFACE=ppp0 GBLIP=200.100.20.1 ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=ppp1 GBLINTERFACE=ppp0 GBLIP=200.100.20.1 ↓
- ルーターAから受信したIKEパケット(UDP500番ポート)がファイアウォールを通過できるように設定します。
ADD FIREWALL POLICY=net RULE=1 ACTION=ALLOW INTERFACE=ppp0 PROTOCOL=UDP GBLPORT=500 GBLIP=200.100.20.1 PORT=500 IP=200.100.20.1 ↓
- ローカルLAN側からルーターAのLAN側宛のパケットにNATが適用されないように設定します。
ADD FIREWALL POLICY=net RULE=2 ACTION=NON INTERFACE=vlan1 PROTOCOL=ALL IP=192.168.20.1-192.168.20.254 ↓
SET FIREWALL POLICY=net RULE=2 REMOTEIP=192.168.10.1-192.168.10.254 ↓
- ルーターAから着信したIPsecのパケットが破棄されないようにファイアウォールのルールを設定します。以下のコマンドライン中の「ENCAP=IPSEC」を記述することで、IPsecのパケットからオリジナルパケットを取り出した後に、このルールを適用することになります。つまりこのルールは「オリジナルパケットの終点アドレスが192.168.20.1〜192.168.20.254の場合にはNATを適用しない」意味になります。
ADD FIREWALL POLICY=net RULE=3 ACTION=NON INTERFACE=ppp0 PROTOCOL=ALL IP=192.168.20.1-192.168.20.254 ENCAP=IPSEC ↓
- ルーターAのWAN側インターフェース(ppp0)を監視対象としてPingポーリングの設定をします。ここでは、PingポーリングIDを「1」に設定しています。NORMALINTERVALは監視対象機器がUPの時のポーリング間隔(秒)、UPCOUNTは機器の状態が「Down」「Critical Down」から「UP」に戻るのに必要な連続した「応答あり」の数です。SAMPLESIZEは、到達性判断のために保持しておくPingパケットの数です。ここではNORMALINTERVALを「10」、UPCOUNTを「5」、SAMPLESIZEを「10」に設定しています。
ADD PING POLL=1 IPADDRESS=200.100.10.1 NORMALINTERVAL=10 UPCOUNT=5 SAMPLESIZE=10 ↓
- Pingポーリングを有効にします。ここでは、PingポーリングIDを「1」に設定しています。
- ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは、鍵番号を「1」、鍵の値を「secret」に設定します。
CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
Note
- CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド(内蔵スクリーンエディター)などで設定スクリプトファイル(.CFG)にこのコマンドを記述しても無効になりますのでご注意ください。
Note
- CREATE ENCO KEYコマンドで作成された鍵は、ノーマルモードでは、ルーターの再起動によって消去されます。暗号鍵を使用する場合は、必ずセキュリティーモードに移行して鍵が保存されるようにしてください。
- ルーターAとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。KEYとして前の手順で作成した事前共有鍵(鍵番号「1」)、PEERにルーターAのIPアドレスを指定します。
CREATE ISAKMP POLICY="i" PEER=200.100.10.1 KEY=1 SENDN=TRUE HEARTBEATMODE=BOTH ↓
- ISAKMPモジュールを有効にします。
- IPsec通信の使用を定義するSAスペック「1」を作成します。トンネルモード、鍵管理方式「ISAKMP」、プロトコル「ESP」、暗号化方式「DES」、認証方式「SHA」に設定します。
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROTOCOL=ESP ENCALG=DES HASHALG=SHA ↓
- 作成したSAスペック「1」のみを使用して、SAバンドルスペック「1」を構成します。鍵管理方式には「ISAKMP」を指定します。
CREATE IPSEC BUNDLE=1 KEYMAN=ISAKMP STRING="1" ↓
- ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓
Note
- ISAKMPを使用する場合は、必ず最初のIPsecポリシーでISAKMPメッセージを通過させる設定を行ってください。IPsecポリシーは設定順に検索され、最初にマッチしたものが適用されるため、設定順序には注意してください。ポリシーの検索順序はSHOW IPSEC POLICYコマンドで確認できます。また、検索順序を変更するには、SET IPSEC POLICYコマンドのPOSITIONパラメーターを使用します。
- 実際のIPsec通信に使用するIPsecポリシー「vpn」をppp0インターフェースに対して作成します。鍵管理方式に「ISAKMP」、PEERにはルーターAのIPアドレス、バンドルスペックに「1」を指定します。
CREATE IPSEC POLICY="vpn" INTERFACE=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.10.1 ↓
- IPsecポリシー「vpn」に対して実際にIPsec通信を行うIPアドレスの範囲を指定します。コマンドが長くなるため、できるだけ省略形を使用してください。
SET IPSEC POLICY="vpn" LAD=192.168.20.0 LMA=255.255.255.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓
- ISP宛の平文通信を許可するIPsecポリシー「inet」をppp0インターフェースに対して作成します。
CREATE IPSEC POLICY="inet" INTERFACE=ppp0 ACTION=PERMIT ↓
Note
- インターネットにもアクセスする場合は、必ず最後にすべてのパケットを通過させるIPsecポリシーを作成してください。いずれのIPsecポリシーにもマッチしなかったトラフィックはデフォルトで破棄されるため、上記の設定がないとVPN以外との通信ができません。
- IPsecモジュールを有効にします。
- スクリプト「pingd.scp」を作成します。pingd.scpでは、ルーターAのLAN側宛のパケットが、バックアップ回線上のppp1経由で送信されるようスタティックルートを追加します。さらにISAKMPとIPsecを無効にし、再度ISAKMPとIPsecを有効にします。
ADD SCRIPT=pingd.scp TEXT="ADD IP ROUTE=192.168.10.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0" ↓
ADD SCRIPT=pingd.scp TEXT="RESET IPSEC POLICY=vpn" ↓
ADD SCRIPT=pingd.scp TEXT="RESET ISAKMP POLICY=i" ↓
Note
- ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)などを使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。
- スクリプト「pingu.scp」を作成します。pingu.scpでは、バックアップ回線上のppp1側に設定していたルーターAのLAN側宛のスタティックルートを削除します。
ADD SCRIPT=pingu.scp TEXT="DELETE IP ROUTE=192.168.10.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0" ↓
- トリガー機能を有効にします。
- PingポーリングによりデバイスのUPを検出すると、先に作成したスクリプト「pingu.scp」を実行するトリガー「4」を作成します。
CREATE TRIGGER=4 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=pingu.scp ↓
- PingポーリングによりデバイスのDOWNを検出すると、先に作成したスクリプト「pingd.scp」を実行するトリガー「5」を作成します。
CREATE TRIGGER=5 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=pingd.scp ↓
- セキュリティーレベルのユーザーでログインしなおします。
- 動作モードをセキュリティーモードに切り替えます。
ENABLE SYSTEM SECURITY_MODE ↓
Note
- セキュリティーモードでは、Security OfficerレベルでのTelnetログインが原則として禁止されています。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)の設定を行っておいてください(本章末尾のメモを参照)。
- 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。
CREATE CONFIG=router.cfg ↓
SET CONFIG=router.cfg ↓
■ セキュリティーモードに移行すると、Security OfficerレベルでルーターにTelnetログインすることができなくなります。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)コマンドを使ってログインを許可するホストのIPアドレスを指定しておく必要があります。
たとえば、ネットワーク192.168.10.0/24、192.168.20.0/24上のすべてのホストからSecurity OfficerレベルでのTelnetログインを許可する場合は、次のようにします。
ENABLE USER RSO ↓
ADD USER RSO IP=192.168.10.0 MASK=255.255.255.0 ↓
ADD USER RSO IP=192.168.20.0 MASK=255.255.255.0 ↓
■ セキュリティーモードでは、たとえSecurity Officerでログインした場合であっても、セキュリティーコマンドを一定期間入力しないでいると、次回セキュリティーコマンドを入力したときにパスワードの再入力を求められます。このタイムアウト値は、下記コマンドによって変更できますが、IPsecの設定を行うときは、ノーマルモードで設定を行った後、セキュリティーモードに変更することをおすすめします。
■ セキュリティー関連コマンドのタイムアウトは、次のコマンドで変更できます。SECUREDELAYパラメーターには、10〜3600(秒)を指定します。デフォルトは60秒です。
SET USER SECUREDELAY=300 ↓
ルーターAのコンフィグ
[テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
ADD ISDN CALL=BACKUP NUMBER=0612342222 PRECEDENCE=IN ↓
SET ISDN CALL=BACKUP SEARCHCLI=ON ↓
CREATE PPP=0 OVER=eth0-ANY ↓
SET PPP=0 BAP=OFF USERNAME=user@isp PASSWORD=isppasswd ↓
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON ↓
CREATE PPP=1 IDLE=60 OVER=ISDN-BACKUP ↓
SET PPP=1 OVER=ISDN-BACKUP LQR=OFF BAP=OFF ↓
ENABLE IP ↓
ENABLE IP REMOTEASSIGN ↓
ADD IP INTERFACE=vlan1 IPADDRESS=192.168.10.1 MASK=255.255.255.0 ↓
ADD IP INTERFACE=ppp0 IPADDRESS=200.100.10.1 MASK=255.255.255.255 ↓
ADD IP INTERFACE=ppp1 IPADDRESS=0.0.0.0 ↓
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INTERFACE=ppp0 NEXT=0.0.0.0 ↓
ENABLE FIREWALL ↓
CREATE FIREWALL POLICY=net ↓
ENABLE FIREWALL POLICY=net ICMP_FORWARDING=PING,UNREACH ↓
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
ADD FIREWALL POLICY=net INTERFACE=vlan1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp0 TYPE=PUBLIC ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=vlan1 GBLINTERFACE=ppp0 GBLIP=200.100.10.1 ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=ppp1 GBLINTERFACE=ppp0 GBLIP=200.100.10.1 ↓
ADD FIREWALL POLICY=net RULE=1 ACTION=ALLOW INTERFACE=ppp0 PROTOCOL=UDP GBLPORT=500 GBLIP=200.100.10.1 PORT=500 IP=200.100.10.1 ↓
ADD FIREWALL POLICY=net RULE=2 ACTION=NON INTERFACE=vlan1 PROTOCOL=ALL IP=192.168.10.1-192.168.10.254 ↓
SET FIREWALL POLICY=net RULE=2 REMOTEIP=192.168.20.1-192.168.20.254 ↓
ADD FIREWALL POLICY=net RULE=3 ACTION=NON INTERFACE=ppp0 PROTOCOL=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓
ADD PING POLL=1 IPADDRESS=200.100.20.1 NORMALINTERVAL=10 UPCOUNT=5 SAMPLESIZE=10 ↓
ENABLE PING POLL=1 ↓
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
CREATE ISAKMP POLICY="i" PEER=200.100.20.1 KEY=1 SENDN=TRUE HEARTBEATMODE=BOTH ↓
ENABLE ISAKMP ↓
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROTOCOL=ESP ENCALG=DES HASHALG=SHA ↓
CREATE IPSEC BUNDLE=1 KEYMAN=ISAKMP STRING="1" ↓
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓
CREATE IPSEC POLICY="vpn" INTERFACE=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.20.1 ↓
SET IPSEC POLICY="vpn" LAD=192.168.10.0 LMA=255.255.255.0 RAD=192.168.20.0 RMA=255.255.255.0 ↓
CREATE IPSEC POLICY="inet" INTERFACE=ppp0 ACTION=PERMIT ↓
ENABLE IPSEC ↓
ENABLE TRIGGER ↓
CREATE TRIGGER=4 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=pingu.scp ↓
CREATE TRIGGER=5 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=pingd.scp ↓
# LOGIN secoff ↓
# ENABLE SYSTEM SECURITY_MODE ↓
|
スクリプト「pingd.scp」
[テキスト版]
ADD IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0 ↓
RESET IPSEC POLICY=vpn ↓
RESET ISAKMP POLICY=i ↓
|
スクリプト「pingu.scp」
[テキスト版]
DELETE IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0 ↓
|
ルーターBのコンフィグ
[テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
ADD ISDN CALL=BACKUP NUMBER=0312341111 PRECEDENCE=OUT ↓
SET ISDN CALL=BACKUP SEARCHCLI=ON ↓
CREATE PPP=0 OVER=eth0-ANY ↓
SET PPP=0 BAP=OFF USERNAME=user@isp PASSWORD=isppasswd ↓
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON ↓
CREATE PPP=1 IDLE=60 OVER=ISDN-BACKUP ↓
SET PPP=1 OVER=ISDN-BACKUP LQR=OFF BAP=OFF ↓
ENABLE IP ↓
ENABLE IP REMOTEASSIGN ↓
ADD IP INTERFACE=vlan1 IPADDRESS=192.168.20.1 MASK=255.255.255.0 ↓
ADD IP INTERFACE=ppp0 IPADDRESS=200.100.20.1 MASK=255.255.255.255 ↓
ADD IP INTERFACE=ppp1 IPADDRESS=0.0.0.0 ↓
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INTERFACE=ppp0 NEXT=0.0.0.0 ↓
ENABLE FIREWALL ↓
CREATE FIREWALL POLICY=net ↓
ENABLE FIREWALL POLICY=net ICMP_FORWARDING=PING,UNREACH ↓
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
ADD FIREWALL POLICY=net INTERFACE=vlan1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INTERFACE=ppp0 TYPE=PUBLIC ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=vlan1 GBLINTERFACE=ppp0 GBLIP=200.100.20.1 ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INTERFACE=ppp1 GBLINTERFACE=ppp0 GBLIP=200.100.20.1 ↓
ADD FIREWALL POLICY=net RULE=1 ACTION=ALLOW INTERFACE=ppp0 PROTOCOL=UDP GBLPORT=500 GBLIP=200.100.20.1 PORT=500 IP=200.100.20.1 ↓
ADD FIREWALL POLICY=net RULE=2 ACTION=NON INTERFACE=vlan1 PROTOCOL=ALL IP=192.168.20.1-192.168.20.254 ↓
SET FIREWALL POLICY=net RULE=2 REMOTEIP=192.168.10.1-192.168.10.254 ↓
ADD FIREWALL POLICY=net RULE=3 ACTION=NON INTERFACE=ppp0 PROTOCOL=ALL IP=192.168.20.1-192.168.20.254 ENCAP=IPSEC ↓
ADD PING POLL=1 IPADDRESS=200.100.10.1 NORMALINTERVAL=10 UPCOUNT=5 SAMPLESIZE=10 ↓
ENABLE PING POLL=1 ↓
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
CREATE ISAKMP POLICY="i" PEER=200.100.10.1 KEY=1 SENDN=TRUE HEARTBEATMODE=BOTH ↓
ENABLE ISAKMP ↓
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROTOCOL=ESP ENCALG=DES HASHALG=SHA ↓
CREATE IPSEC BUNDLE=1 KEYMAN=ISAKMP STRING="1" ↓
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP ↓
CREATE IPSEC POLICY="vpn" INTERFACE=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.10.1 ↓
SET IPSEC POLICY="vpn" LAD=192.168.20.0 LMA=255.255.255.0 RAD=192.168.10.0 RMA=255.255.255.0 ↓
CREATE IPSEC POLICY="inet" INTERFACE=ppp0 ACTION=PERMIT ↓
ENABLE IPSEC ↓
ENABLE TRIGGER ↓
CREATE TRIGGER=4 MODULE=PING EVENT=DEVICEUP POLL=1 SCRIPT=pingu.scp ↓
CREATE TRIGGER=5 MODULE=PING EVENT=DEVICEDOWN POLL=1 SCRIPT=pingd.scp ↓
# LOGIN secoff ↓
# ENABLE SYSTEM SECURITY_MODE ↓
|
スクリプト「pingd.scp」
[テキスト版]
ADD IP ROUTE=192.168.10.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0 ↓
RESET IPSEC POLICY=vpn ↓
RESET ISAKMP POLICY=i ↓
|
スクリプト「pingu.scp」
[テキスト版]
DELETE IP ROUTE=192.168.10.0 MASK=255.255.255.0 INTERFACE=ppp1 NEXTHOP=0.0.0.0 ↓
|
CentreCOM AR550S 設定例集 2.9 #142
(C) 2005-2014 アライドテレシスホールディングス株式会社
PN: J613-M0710-04 Rev.P
<前頁
次頁>
<<
>>
↑
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))