<前頁
次頁>
<<
>>
↓
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #140
AT-VPN Client(PC)によるリモートアクセス型IPsec VPN(センター側はPPPoEアドレス1個固定)
xDSLやダイヤルアップなどでISPに接続しているPCから、インターネット経由で本製品の背後にあるプライベートネットワークにアクセスさせるリモートアクセス型IPsec VPNの設定例です。本例では、センター側がPPPoEでISPに接続しており、グローバルアドレス1個を固定的に割り当てられている環境を想定しています。PCには、弊社のVPNクライアントソフトウェア「AT-VPN Client for Windows」をインストールしてあります。
ここでは、次のようなネットワーク構成を例に解説します。PC(VPN Client)は、xDSLやダイヤルアップなどでISPに直接接続しており、インターネット経由でルーターとの間にIPsecのトンネルを張り、ルーターのプライベート側ネットワークと安全な通信を行います。PCからインターネットへは通常の通信を行います。
Note
- AT-VPN Clientのインストールおよび設定方法については、同製品のマニュアルをご覧ください。
ルーター側は、ISPから次の情報を提供されているものとします。
表 1:ISPから提供された情報
PPPユーザー名 |
user@ispA |
PPPパスワード |
isppasswdA |
PPPoEサービス名 |
指定なし |
使用できるIPアドレス |
200.100.10.1/32 |
接続形態 |
端末型(アドレス1個固定) |
ルーター側は、ファイアウォールとダイナミックENATを使用した通常の端末型設定(アドレス1個固定)です。
次に、ルーターの基本設定についてまとめます。
表 2:ルーターの基本設定
WAN側物理インターフェース |
eth1 |
WAN側IPアドレス |
200.100.10.1/32(ppp0) |
LAN側IPアドレス |
192.168.10.1/24(eth0) |
IPsec関連の設定は次のとおりです。
表 3:IKEフェーズ1(ISAKMP SAのネゴシエーション)
認証方式 |
事前共有鍵(pre-shared key) + XAUTH |
事前共有鍵 |
secret(文字列) |
VPNクライアントのXAUTHユーザー名 |
vpnclient |
VPNクライアントのXAUTHパスワード |
PasswordX |
Oakleyグループ |
1(デフォルト) |
ISAKMPメッセージの暗号化方式 |
DES(デフォルト) |
ISAKMPメッセージの認証方式 |
SHA1(デフォルト) |
ISAKMP SAの有効期限(時間) |
86400秒(24時間)(デフォルト) |
ISAKMP SAの有効期限(Kbyte数) |
なし(デフォルト) |
起動時のISAKMPネゴシエーション |
行わない |
表 4:IKEフェーズ2(IPsec SAのネゴシエーション)
SAモード |
トンネルモード |
セキュリティープロトコル |
ESP(暗号+認証) |
暗号化方式 |
DES |
認証方式 |
SHA1 |
IPComp |
使わない |
IPsec SAの有効期限(時間) |
28800秒(8時間)(デフォルト) |
IPsec SAの有効期限(Kbyte数) |
なし(デフォルト) |
トンネリング対象IPアドレス |
192.168.10.0/24 ←→ PCのアドレス(不定) |
トンネル終端アドレス |
200.100.10.1(ルーター)・不定(PC) |

- セキュリティーモードで各種設定を行なうことのできるSecurity Officerレベルのユーザー「secoff」を作成します。パスワードは「PasswordS」とします。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
Note
- Security Officerレベルのユーザーを作成しておかないと、セキュリティーモードに移行できませんのでご注意ください。
- インターネット経由で接続してくるPC(VPNクライアント)を認証するためのユーザー「vpnclient」を作成します。パスワードは「PasswordX」とします。
ADD USER=vpnclient PASSWORD=PasswordX LOGIN=NO ↓
- WAN側Ethernetインターフェース(eth1)上にPPPインターフェースを作成します。「OVER=eth1-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「any」を設定します。
CREATE PPP=0 OVER=eth1-any ↓
- ISPから通知されたPPPユーザー名とパスワードを指定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。
SET PPP=0 OVER=eth1-any USER=user@ispA PASSWORD=isppasswdA LQR=OFF BAP=OFF ECHO=ON ↓
- IPモジュールを有効にします。
- LAN側(eth0)インターフェースにIPアドレスを設定します。
ADD IP INT=eth0 IP=192.168.10.1 MASK=255.255.255.0 ↓
- WAN側(ppp0)インターフェースにISPから割り当てられたIPアドレスを設定します。
ADD IP INT=ppp0 IP=200.100.10.1 MASK=255.255.255.255 ↓
- デフォルトルートを設定します。
ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXTHOP=0.0.0.0 ↓
- PPPoEセッションを自動再接続するためのトリガースクリプトを作成します。
- ppp0をリセットするスクリプトreset.scpを作成します。
ADD SCRIPT=reset.scp TEXT="RESET PPP=0" ↓
- トリガー「1」を無効状態にするスクリプトup.scpを作成します。
ADD SCRIPT=up.scp TEXT="DISABLE TRIGGER=1" ↓
- トリガー「1」を有効状態にするスクリプトdown.scpを作成します。
ADD SCRIPT=down.scp TEXT="ENABLE TRIGGER=1" ↓
Note
- ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)等を使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。
- トリガー機能を有効にします。
- PPPoEセッションを自動再接続するためのトリガーを作成します。
- 3分ごとにreset.scpを実行する定期トリガー「1」を作成します。このトリガーは、ppp0インターフェースがダウンすると同時に有効になり(トリガー「3」による)、アップすると無効になります(トリガー「2」による)。
CREATE TRIGGER=1 PERIODIC=3 SCRIPT=reset.scp ↓
- ppp0のアップ時にup.scpを実行するインターフェーストリガー「2」を作成します。
CREATE TRIGGER=2 INTERFACE=ppp0 EVENT=UP CP=IPCP SCRIPT=up.scp ↓
- ppp0のダウン時にdown.scpを実行するインターフェーストリガー「3」を作成します。
CREATE TRIGGER=3 INTERFACE=ppp0 EVENT=DOWN CP=IPCP SCRIPT=down.scp ↓
- ファイアウォール機能を有効にします。
- ファイアウォールの動作を規定するファイアウォールポリシーを作成します。
CREATE FIREWALL POLICY=net ↓
- ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACHABLE ↓
Note
- デフォルト設定では、ICMPはファイアウォールを通過できません。
- ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
- ファイアウォールポリシーの適用対象となるインターフェースを指定します。
- LAN側インターフェース(eth0)をPRIVATE(内部)に設定します。
ADD FIREWALL POLICY=net INT=eth0 TYPE=PRIVATE ↓
- WAN側インターフェース(ppp0)をPUBLIC(外部)に設定します。
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
- LAN側ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには、ppp0のIPアドレスを使用します。
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0 GBLINT=ppp0 ↓
- PC(VPN Client)から受信したIKEパケット(UDP500番)がファイアウォールを通過できるように設定します。
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROT=UDP PORT=500 IP=200.100.10.1 GBLIP=200.100.10.1 GBLPORT=500 ↓
- 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が192.168.10.1〜192.168.10.254、つまり、プライベートLANの範囲ならばNATの対象外とする」の意味になります。
ADD FIREWALL POLICY=net RULE=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓
- ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは鍵番号を「1」番とし、鍵の値は「secret」という文字列で指定します(VPNクライアントにも同じ値を設定)。
CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
Note
- CREATE ENCO KEYコマンドは、コンソール上でログインしている場合のみ有効なコマンドです。そのため、EDITコマンド(内蔵スクリーンエディター)等で設定スクリプトファイル(.CFG)にこのコマンドを記述しても無効になりますのでご注意ください。
- PC(VPNクライアント)からのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。
ISAKMPメッセージの暗号化には「DES」(デフォルト)、認証には「SHA」アルゴリズム(デフォルト)、Oakleyグループは「1」(デフォルト)を使用し、ルーターとPC間の認証には前の手順で作成した事前共有鍵(鍵番号「1」)を使います。さらに、PCのIPアドレスが不定なため、PEERにANYを指定し、XAUTHによるユーザー名/パスワード認証を併用します。こちらは認証を要求する側なので、「SERVER」モードとします。
なお、VPN Clientとルーターを接続する場合は、「SETC=TRUE」を必ず指定してください。
CREATE ISAKMP POLICY="i" PEER=ANY KEY=1 XAUTH=SERVER SETC=TRUE SENDN=TRUE ↓
- 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」を作成します。
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT ↓
- IPsecポリシー「isa」の属性を設定します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。
SET IPSEC POLICY="isa" LPORT=500 RPORT=500 TRANSPORT=UDP ↓
Note
- ISAKMPを使用する場合は、必ず最初のIPsecポリシーでISAKMPメッセージが通過できるような設定を行ってください。
Note
- 「IPsecポリシー」は設定順に検索され、最初にマッチしたものが適用されるため、設定順序には注意が必要です。検索順はSHOW IPSEC POLICYコマンドで確認できます。また、検索順を変更するには、SET IPSEC POLICYコマンドのPOSITIONパラメーターを使用します。
- 実際のIPsec通信に使用するIPsecポリシー「vpn」をPPPインターフェース「0」に対して作成します。
鍵管理方式は「ISAKMP」を指定します。PC(VPNクライアント)のIPアドレスが不定のため、PEERにはDYNAMICを指定します。BUNDLEには手順19.で作成した「1」を指定します。
CREATE IPSEC POLICY="vpn" INT=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC ↓
- IPsecポリシー「vpn」に対して実際にIPsec通信を行なうIPアドレスの範囲を指定します。PC(VPNクライアント)のIPアドレスが不定なので、リモート側は「RNAME=vpnclient」のように名前で指定します。
SET IPSEC POLICY="vpn" LAD=192.168.10.0 LMA=255.255.255.0 RNAME=vpnclient ↓
- インターネットへの平文通信を許可するIPsecポリシー「inet」をPPPインターフェース「0」に対して作成します。
CREATE IPSEC POLICY="inet" INT=ppp0 ACTION=PERMIT ↓
Note
- インターネットにもアクセスしたい場合は、必ず最後のIPsecポリシーですべてのパケットを通過させる設定を行ってください。
いずれのIPsecポリシーにもマッチしなかったトラフィックはデフォルトで破棄されてしまうため、上記の設定がないとVPN以外との通信ができなくなります。
- IPsecモジュールを有効にします。
- ISAKMPモジュールを有効にします。
- Security Officerレベルのユーザーでログインしなおします。
- 動作モードをセキュリティーモードに切り替えます。
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 ↓
AT-VPN Clientの設定について説明します。ここでは、PCのインターネット接続設定は完了しているものと仮定しています。また、VPN Clientの設定の詳細については、同製品のマニュアル等をご覧ください。
- ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは鍵番号を「1」番とし、鍵の値は「secret」という文字列で指定します(ルーターと同じ値を設定)。
CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
- ルーターとIKEネゴシエーションを行うためのISAKMPポリシー「i」を作成します。
PEERにはルーターのグローバルIPアドレス、KEYには前の手順で作成した事前共有鍵(鍵番号「1」)を指定します。さらに、ルーターからXAUTHによる追加認証を受けるため、「CLIENT」モードに設定し、自分のユーザー名「vpnclient」とパスワード「PasswordX」を指定します。
なお、VPN Clientとルーターを接続する場合は、「SETC=TRUE」を必ず指定してください。
CREATE ISAKMP POLICY="i" PEER=200.100.10.1 KEY=1 XAUTH=CLIENT XAUTHNAME="vpnclient" XAUTHPASS="PasswordX" ↓
SET ISAKMP POLICY="i" SETC=TRUE SENDN=TRUE ↓
- 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」を作成します。
CREATE IPSEC POLICY="isa" INT=ppp0 ACTION=PERMIT ↓
- IPsecポリシー「isa」の属性を設定します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。
SET IPSEC POLICY="isa" LPORT=500 RPORT=500 TRANSPORT=UDP ↓
- 実際のIPsec通信に使用するIPsecポリシー「vpn」をPPPインターフェース「0」に対して作成します。
鍵管理方式は「ISAKMP」を指定します。PEERにはルーターのグローバルIPアドレスを指定します。BUNDLEには手順19.で作成した「1」を指定します。
CREATE IPSEC POLICY="vpn" INT=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.10.1 ↓
- IPsecポリシー「vpn」に対して実際にIPsec通信を行なうIPアドレスの範囲を指定します。PC(VPNクライアント)のIPアドレスが不定なので、ローカル側は「LNAME=vpnclient」のように名前で指定します。
SET IPSEC POLICY="vpn" LNAME="vpnclient" RAD=192.168.10.0 RMA=255.255.255.0 ↓
- インターネットへの平文通信を許可するIPsecポリシー「inet」をPPPインターフェース「0」に対して作成します。
CREATE IPSEC POLICY="inet" INT=ppp0 ACTION=PERMIT ↓
■ セキュリティーモードに移行すると、Security OfficerレベルでルーターにTelnetログインすることができなくなります。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)コマンドを使ってログインを許可するホストのIPアドレスを指定しておく必要があります。
たとえば、ネットワーク192.168.10.0/24上のすべてのホストからSecurity OfficerレベルでのTelnetログインを許可する場合は、次のようにします。
ENABLE USER RSO ↓
ADD USER RSO IP=192.168.10.0 MASK=255.255.255.0 ↓
■ セキュリティーモードでは、たとえSecurity Officerでログインした場合であっても、セキュリティーコマンドを一定期間入力しないでいると、次回セキュリティーコマンドを入力したときにパスワードの再入力を求められます。このタイムアウト値は、下記コマンドによって変更できますが、IPsecの設定を行うときは、ノーマルモードで設定を行った後、セキュリティーモードに変更することをおすすめします。
■ セキュリティー関連コマンドのタイムアウトは、次のコマンドで変更できます。SECUREDELAYパラメーターには、10〜600(秒)を指定します。デフォルトは60秒です。
SET USER SECUREDELAY=300 ↓
ルーターのコンフィグ
[テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER ↓
ADD USER=vpnclient PASSWORD=PasswordX LOGIN=NO ↓
CREATE PPP=0 OVER=eth1-any ↓
SET PPP=0 OVER=eth1-any USER=user@ispA PASSWORD=isppasswdA LQR=OFF BAP=OFF ECHO=ON ↓
ENABLE IP ↓
ADD IP INT=eth0 IP=192.168.10.1 MASK=255.255.255.0 ↓
ADD IP INT=ppp0 IP=200.100.10.1 MASK=255.255.255.255 ↓
ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXTHOP=0.0.0.0 ↓
ENABLE TRIGGER ↓
CREATE TRIGGER=1 PERIODIC=3 SCRIPT=reset.scp ↓
CREATE TRIGGER=2 INTERFACE=ppp0 EVENT=UP CP=IPCP SCRIPT=up.scp ↓
CREATE TRIGGER=3 INTERFACE=ppp0 EVENT=DOWN CP=IPCP SCRIPT=down.scp ↓
ENABLE FIREWALL ↓
CREATE FIREWALL POLICY=net ↓
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACHABLE ↓
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
ADD FIREWALL POLICY=net INT=eth0 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0 GBLINT=ppp0 ↓
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROT=UDP PORT=500 IP=200.100.10.1 GBLIP=200.100.10.1 GBLPORT=500 ↓
ADD FIREWALL POLICY=net RULE=2 AC=NONAT INT=ppp0 PROT=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC ↓
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
CREATE ISAKMP POLICY="i" PEER=ANY KEY=1 XAUTH=SERVER SETC=TRUE SENDN=TRUE ↓
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 ↓
SET IPSEC POLICY="isa" LPORT=500 RPORT=500 TRANSPORT=UDP ↓
CREATE IPSEC POLICY="vpn" INT=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC ↓
SET IPSEC POLICY="vpn" LAD=192.168.10.0 LMA=255.255.255.0 RNAME=vpnclient ↓
CREATE IPSEC POLICY="inet" INT=ppp0 ACTION=PERMIT ↓
ENABLE IPSEC ↓
ENABLE ISAKMP ↓
# LOGIN secoff ↓
# ENABLE SYSTEM SECURITY_MODE ↓
|
スクリプト「reset.scp」
[テキスト版]
スクリプト「up.scp」
[テキスト版]
スクリプト「down.scp」
[テキスト版]
AT-VPN Clientのコンフィグ
[テキスト版]
CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret" ↓
CREATE ISAKMP POLICY="i" PEER=200.100.10.1 KEY=1 XAUTH=CLIENT XAUTHNAME="vpnclient" XAUTHPASS="PasswordX" ↓
SET ISAKMP POLICY="i" SETC=TRUE SENDN=TRUE ↓
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 ↓
SET IPSEC POLICY="isa" LPORT=500 RPORT=500 TRANSPORT=UDP ↓
CREATE IPSEC POLICY="vpn" INT=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=200.100.10.1 ↓
SET IPSEC POLICY="vpn" LNAME="vpnclient" RAD=192.168.10.0 RMA=255.255.255.0 ↓
CREATE IPSEC POLICY="inet" INT=ppp0 ACTION=PERMIT ↓
|
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #140
(C) 1997 - 2005 アライドテレシスホールディングス株式会社
PN: J613-M0507-00 Rev.H
<前頁
次頁>
<<
>>
↑
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))