<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)

CentreCOM AR415S 設定例集 2.9 #180

内部NATを使用した、同一ネットワークアドレスを持つ拠点間のIPsec VPN通信


PPPoEでインターネットに接続され、同一のネットワークアドレス(プライベートアドレス)で運用している拠点間をIPsecにより接続します。

両拠点のネットワークアドレスの衝突を回避するために、パケットがIPトンネルに入るときと、出るときに内部NATを適用します。

内部NATは、ルールNATを利用します。ルールNATでIPアドレスのネットワーク部のみの変換が行なえるため、結果的にNAT前のアドレスとNAT後のアドレスのホスト部が1対1で対応します(NAT前とNAT後のアドレスのサブネットマスクは同一となります)。

内部NATにより、一方の拠点の端末は、もう一方の拠点の端末が内部NATで変換された後のアドレスで存在しているように見えます。

そのため、例えば拠点BのPC2(192.168.1.124)が拠点Aのサーバー(192.168.1.123)にアクセスする場合は、172.16.1.123宛にアクセスします。

PC2から送信されたパケットの送信元アドレス「192.168.1.124」は、ルーターBの内部NAT(vlan1)で「172.16.2.124」に変換された後、ルーターAに届きます。ルーターAの内部NAT(ppp0)は、届いたパケットの宛先アドレス「172.16.1.123」を「192.168.1.123」に変換し、LANに送信します。

また、拠点間の接続だけでなく、各拠点からのインターネット向け通信も可能とします。

表 1:ISPから提供されたインターネット接続情報
 
ルーターA
ルーターB
接続方式 PPPoE PPPoE
PPPユーザー名 user1@isp user2@isp
PPPパスワード password1 password2
PPPoEサービス名 指定なし 指定なし
WAN側IPアドレス(ppp0) 1.1.1.1(固定) グローバルアドレス1個(動的割り当て)

IPsec関連の設定は次のようになります。

表 2:IKEフェーズ1(ISAKMP SAのネゴシエーション)
ルーター間の認証方式 事前共有鍵(pre-shared key)
IKE交換モード Aggressiveモード
事前共有鍵 secret(文字列)
ルーターAの認証ID IPアドレス:1.1.1.1(デフォルト)
ルーターBの認証ID 名前:vpn
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アドレス 172.16.1.0/24 ←→ 172.16.2.0/24
トンネル終端アドレス 1.1.1.1(A)・不定(B)
インターネットとの平文通信 行う

ルーターAの設定

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

    Note - Security Officerレベルのユーザーを作成しておかないと、セキュリティーモードに移行できませんのでご注意ください。

  2. WAN側Ethernetインターフェース(eth0)上にPPPインターフェースを作成します。「OVER=eth0-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「ANY」を設定します。


  3. ISPから通知されたPPPユーザー名とパスワードを指定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。


  4. IPモジュールを有効にします。


  5. LAN側(vlan1)インターフェースにIPアドレスを設定します。


  6. WAN側(ppp0)インターフェースにISPから割り当てられたIPアドレスを設定します。


  7. デフォルトルートをppp0に向けて設定します。これは、ルーターAが送信するIPsecパケットの始点アドレスとして、ppp0のアドレスが使われるようにするためです(通常、本製品自身がパケットを送信するときは、送出インターフェースのアドレスを始点アドレスとして使います)。


  8. ファイアウォール機能を有効にします。


  9. ファイアウォールの動作を規定するファイアウォールポリシー「net」を作成します。


  10. ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。

    Note - デフォルト設定では、ICMPはファイアウォールを通過できません。

  11. ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。


  12. ファイアウォールポリシーの適用対象となるインターフェースを指定します。
    o LAN側(vlan1)インターフェースをPRIVATE(内部)に設定します。

    o WAN側(ppp0)インターフェースをPUBLIC(外部)に設定します。


  13. LAN側(vlan1)ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスにはppp0で取得した1.1.1.1を共用します。


  14. 相手ルーターから受信したIKEパケット(UDP500番)がファイアウォールを通過できるように設定します。


  15. 拠点(ルーターB側)からの受信パケットを内部NATするための設定を行います。内部NATは、ルールNATのアドレスの変換パターンを利用して行います。この設定によりIPアドレスのネットワーク部のみの変換が行なえるようになるため、結果的にNAT前のアドレスとNAT後のアドレスのホスト部が1対1になります。以下の設定により、ppp0上で受信した「172.16.1.x」宛のパケットが「192.168.1.x」宛に1対1で変換されます。また、本ルールがIPsec対象パケットにのみ適用されるようにリモートIPを設定します。


  16. 同様に、vlan1インターフェース上で受信したパケットを内部NATするための設定を行います。以下の設定により、vlan1上で受信した、送信元アドレスが「192.168.1.x」のパケットが「172.16.1.x」に1対1で変換されます。また、本ルールがIPsec対象パケットにのみ適用されるようにリモートIPを設定します。


  17. ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは鍵番号を「1」番とし、鍵の値は「secret」という文字列で指定します(ルーターBと同じに設定)。


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

    Note - CREATE ENCO KEYコマンドで作成された鍵は、ノーマルモードでは、ルーターの再起動によって消去されます。暗号鍵を使用する場合は、必ずセキュリティーモードに移行して鍵が保存されるようにしてください。

  18. ルーターBとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。KEYには、前の手順で作成した事前共有鍵(鍵番号「1」)を指定し、HEARTBEATMODEにBOTHを指定して、ISAKMPハートビートを使用します。また、この例では相手のアドレスが不定なため、PEERにANYを、REMOTEIDで相手の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。


  19. IPsec通信の仕様を定義するSAスペック「1」を作成します。トンネルモード(デフォルト)、鍵管理方式「ISAKMP」、プロトコル「ESP」、暗号化方式「DES」、認証方式「SHA」に設定します。


  20. SAスペック「1」だけからなるSAバンドルスペック「1」を作成します。鍵管理方式は「ISAKMP」を指定します。


  21. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。

    Note - ISAKMPを使用する場合は、必ず最初のIPsecポリシーでISAKMPメッセージが通過できるような設定を行ってください。「IPsecポリシー」は設定順に検索され、最初にマッチしたものが適用されるため、設定順序には注意が必要です。検索順はSHOW IPSEC POLICYコマンドで確認できます。また、検索順を変更するには、SET IPSEC POLICYコマンドのPOSITIONパラメーターを使用します。

  22. 実際のIPsec通信に使用するIPsecポリシー「vpn」を、PPPインターフェース「0」に対して作成します。
    鍵管理方式には「ISAKMP」を、BUNDLEにはSAバンドルスペック「1」を指定します。相手のIPアドレスが不定なので、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。


  23. IPsecポリシー「vpn」に対して実際にIPsec通信を行うIPアドレスの範囲を指定します。コマンドが長くなるため、できるだけ省略形を用いてください。


  24. インターネットへの平文通信を許可するIPsecポリシー「inet」をPPPインターフェース「0」に対して作成します。

    Note - インターネットにもアクセスしたい場合は、必ず最後のIPsecポリシーですべてのパケットを通過させる設定を行ってください。いずれのIPsecポリシーにもマッチしなかったトラフィックはデフォルトで破棄されてしまうため、上記の設定がないとVPN以外との通信ができなくなります。

  25. IPsecモジュールを有効にします。


  26. ISAKMPモジュールを有効にします。


  27. Security Officerレベルのユーザーでログインしなおします。


  28. 動作モードをセキュリティーモードに切り替えます。

    Note - セキュリティーモードでは、Security OfficerレベルでのTelnetログインが原則として禁止されています。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)の設定を行っておいてください(本章末尾のメモを参照)。

  29. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。

ルーターBの設定

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

    Note - Security Officerレベルのユーザーを作成しておかないと、セキュリティーモードに移行できませんのでご注意ください。

  2. WAN側Ethernetインターフェース(eth0)上にPPPインターフェースを作成します。「OVER=eth0-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「ANY」を設定します。


  3. ISPから通知されたPPPユーザー名とパスワードを指定し、接続時にIPアドレス割り当ての要求を行うように設定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。


  4. IPモジュールを有効にします。


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


  6. LAN側(vlan1)インターフェースにIPアドレスを設定します。


  7. WAN側(ppp0)インターフェースにIPアドレス「0.0.0.0」を設定します。ISPとの接続が確立するまで、IPアドレスは確定しません。


  8. デフォルトルートを設定します。


  9. ファイアウォール機能を有効にします。


  10. ファイアウォールの動作を規定するファイアウォールポリシーを作成します。


  11. ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。

    Note - デフォルト設定では、ICMPはファイアウォールを通過できません。

  12. ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。


  13. ファイアウォールポリシーの適用対象となるインターフェースを指定します。
    o LAN側インターフェース(vlan1)をPRIVATE(内部)に設定します。

    o WAN側インターフェース(ppp0)をPUBLIC(外部)に設定します。


  14. LAN側ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには、ppp0のIPアドレスを使用します。


  15. 本社(ルーターA側)からの受信パケットを内部NATするための設定を行います。以下の設定により、ppp0上で受信した「172.16.2.x」宛のパケットが「192.168.1.x」宛に1対1で変換されます。また、本ルールがIPsec対象パケットにのみ適用されるようにリモートIPを設定します。


  16. 同様に、vlan1インターフェース上で受信したパケットを内部NATするための設定を行います。以下の設定により、vlan1上で受信した、送信元アドレスが「192.168.1.x」のパケットが「172.16.2.x」に1対1で変換されます。また、本ルールがIPsec対象パケットにのみ適用されるようにリモートIPを設定します。


  17. ISAKMP用の事前共有鍵(pre-shared key)を作成します。ここでは鍵番号を「1」番とし、鍵の値は「secret」という文字列で指定します(ルーターAと同じに設定)。


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

    Note - CREATE ENCO KEYコマンドで作成された鍵は、ノーマルモードでは、ルーターの再起動によって消去されます。暗号鍵を使用する場合は、必ずセキュリティーモードに移行して鍵が保存されるようにしてください。

  18. ルーターAとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i_」を作成します。KEYには、前の手順で作成した事前共有鍵(鍵番号「1」)を、PEERにはルーターAのIPアドレスを指定します。また、自分のアドレスが不定なため、LOCALIDで自分の認証IDを指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。


  19. IPsec通信の仕様を定義するSAスペック「1」を作成します。トンネルモード(デフォルト)、鍵管理方式「ISAKMP」、プロトコル「ESP」、暗号化方式「DES」、認証方式「SHA」に設定します。


  20. SAスペック「1」だけからなるSAバンドルスペック「1」を作成します。鍵管理方式は「ISAKMP」を指定します。


  21. ISAKMPメッセージを素通しさせるIPsecポリシー「isa」を作成します。ポリシーの適用対象を、ローカルの500番ポートからリモートの500番ポート宛のUDPパケット(ISAKMP)に設定します。

    Note - ISAKMPを使用する場合は、必ず最初のIPsecポリシーでISAKMPメッセージが通過できるような設定を行ってください。「IPsecポリシー」は設定順に検索され、最初にマッチしたものが適用されるため、設定順序には注意が必要です。検索順はSHOW IPSEC POLICYコマンドで確認できます。また、検索順を変更するには、SET IPSEC POLICYコマンドのPOSITIONパラメーターを使用します。

  22. ルーターAとのIPsec通信に使用するIPsecポリシー「vpn」をPPPインターフェース「0」に対して作成します。
    鍵管理方式には「ISAKMP」を、PEERにはルーターAのIPアドレスを、BUNDLEにはSAバンドルスペック「1」を指定します。


  23. IPsecポリシー「vpn_」に対して実際にIPsec通信を行うIPアドレスの範囲を指定します。コマンドが長くなるため、できるだけ省略形を用いてください。


  24. インターネットへの平文通信を許可するIPsecポリシー「inet」をPPPインターフェース「0」に対して作成します。

    Note - インターネットにもアクセスしたい場合は、必ず最後のIPsecポリシーですべてのパケットを通過させる設定を行ってください。いずれのIPsecポリシーにもマッチしなかったトラフィックはデフォルトで破棄されてしまうため、上記の設定がないとVPN以外との通信ができなくなります。

  25. IPsecモジュールを有効にします。


  26. ISAKMPモジュールを有効にします。


  27. Security Officerレベルのユーザーでログインしなおします。


  28. 動作モードをセキュリティーモードに切り替えます。

    Note - セキュリティーモードでは、Security OfficerレベルでのTelnetログインが原則として禁止されています。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)の設定を行っておいてください(本章末尾のメモを参照)。

  29. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。

メモ

■ IPsec設定が両側のトンネル終端アドレス固定かつIKE交換モードがMainモードの場合でも、内部NATは設定可能です。

■ セキュリティーモードに移行すると、Security OfficerレベルでルーターにTelnetログインすることができなくなります。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)コマンドを使ってログインを許可するホストのIPアドレスを指定しておく必要があります。
たとえば、ネットワーク192.168.10.0/24、192.168.20.0/24上のすべてのホストからSecurity OfficerレベルでのTelnetログインを許可する場合は、次のようにします。


■ セキュリティーモードでは、たとえSecurity Officerでログインした場合であっても、セキュリティーコマンドを一定期間入力しないでいると、次回セキュリティーコマンドを入力したときにパスワードの再入力を求められます。このタイムアウト値は、下記コマンドによって変更できますが、IPsecの設定を行うときは、ノーマルモードで設定を行った後、セキュリティーモードに変更することをおすすめします。

■ セキュリティー関連コマンドのタイムアウトは、次のコマンドで変更できます。SECUREDELAYパラメーターには、10〜3600(秒)を指定します。デフォルトは60秒です。

まとめ

ルーターAのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASS=PasswordS PRIV=SECURITYOFFICER
CREATE PPP=0 OVER=eth0-ANY
SET PPP=0 BAP=OFF USERNAME="user1@isp" PASSWORD="password1"
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON
ENABLE IP
ADD IP INT=vlan1 IP=192.168.1.1 MASK=255.255.255.0
aDD IP INT=ppp0 IP=1.1.1.1 MASK=255.255.255.255
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0
ENABLE FIREWALL
CREATE FIREWALL POLICY="net"
ENABLE FIREWALL POLICY="net" ICMP_F=UNRE,PING
DISABLE FIREWALL POLICY="net" IDENTPROXY
ADD FIREWALL POLICY="net" INT=vlan1 TYPE=PRIVATE
ADD FIREWALL POLICY="net" INT=ppp0 TYPE=PUBLIC
ADD FIREWALL POLI="net" NAT=ENHANCED INT=vlan1 GBLIN=ppp0 GBLIP=1.1.1.1
ADD FIREWALL POLI="net" RU=1 AC=ALLO INT=ppp0 PROT=UDP PO=500 IP=1.1.1.1 GBLIP=1.1.1.1 GBLP=500
ADD FIREWALL POLI="net" RU=2 AC=NAT INT=ppp0 PROT=ALL IP=192.168.1.0 GBLIP=172.16.1.0 NATM=255.255.255.0 REMOTEIP=172.16.2.1-172.16.2.254
ADD FIREWALL POLI="net" RU=3 AC=NAT INT=vlan1 PROT=ALL IP=192.168.1.0 GBLIP=172.16.1.0 NATM=255.255.255.0 REMOTEIP=172.16.2.1-172.16.2.254
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE=secret
CREATE ISAKMP POL="i" PE=ANY KEY=1 HEARTBEATMODE=BOTH SENDN=TRUE REMOTEID="vpn" MODE=AGGRESSIVE
CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=DES HASHA=SHA
CREATE IPSEC BUND=1 KEY=ISAKMP STRING="1"
CREATE IPSEC POL="isa" INT=ppp0 AC=PERMIT LP=500 RP=500 TRA=UDP
CREATE IPSEC POL="vpn" INT=ppp0 AC=IPSEC KEY=ISAKMP BUND=1 PEER=DYNAMIC
SET IPSEC POL="vpn" LAD=172.16.1.0 LMA=255.255.255.0 RAD=172.16.2.0 RMA=255.255.255.0
CREATE IPSEC POL="inet" INT=ppp0 AC=PERMIT
ENABLE IPSEC
ENABLE ISAKMP
# LOGIN secoff
# ENABLE SYSTEM SECURITY_MODE


ルーターBのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASS=PasswordS PRIV=SECURITYOFFICER
CREATE PPP=0 OVER=eth0-ANY
SET PPP=0 BAP=OFF IPREQUEST=ON USERNAME="user2@isp" PASSWORD="password2"
SET PPP=0 OVER=eth0-ANY LQR=OFF ECHO=ON
ENABLE IP
ENABLE IP REMOTEASSIGN
ADD IP INT=vlan1 IP=192.168.1.1 MASK=255.255.255.0
ADD IP INT=ppp0 IP=0.0.0.0
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=ppp0 NEXT=0.0.0.0
ENABLE FIREWALL
CREATE FIREWALL POLICY="net"
ENABLE FIREWALL POLICY="net" ICMP_F=UNRE,PING
DISABLE FIREWALL POLICY="net" IDENTPROXY
ADD FIREWALL POLICY="net" INT=vlan1 TYPE=PRIVATE
ADD FIREWALL POLICY="net" INT=ppp0 TYPE=PUBLIC
ADD FIREWALL POLI="net" NAT=ENHANCED INT=vlan1 GBLIN=ppp0
ADD FIREWALL POLI="net" RU=1 AC=NAT INT=ppp0 PROT=ALL IP=192.168.1.0 GBLIP=172.16.2.0 NATM=255.255.255.0 REMOTEIP=172.16.1.1-172.16.1.254
ADD FIREWALL POLI="net" RU=2 AC=NAT INT=vlan1 PROT=ALL IP=192.168.1.0 GBLIP=172.16.2.0 NATM=255.255.255.0 REMOTEIP=172.16.1.1-172.16.1.254
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE=secret
CREATE ISAKMP POL="i" PE=1.1.1.1 KEY=1 HEARTBEATMODE=BOTH SENDN=TRUE LOCALID="vpn" MODE=AGGRESSIVE
CREATE IPSEC SAS=1 KEY=ISAKMP PROT=ESP ENC=DES HASHA=SHA
CREATE IPSEC BUND=1 KEY=ISAKMP STRING="1"
CREATE IPSEC POL="isa" INT=ppp0 AC=PERMIT LP=500 RP=500 TRA=UDP
CREATE IPSEC POL="vpn" INT=ppp0 AC=IPSEC KEY=ISAKMP BUND=1 PEER=1.1.1.1
SET IPSEC POL="vpn" LAD=172.16.2.0 LMA=255.255.255.0 RAD=172.16.1.0 RMA=255.255.255.0
CREATE IPSEC POL="inet" INT=ppp0 AC=PERMIT
ENABLE IPSEC
ENABLE ISAKMP
# LOGIN secoff
# ENABLE SYSTEM SECURITY_MODE





CentreCOM AR415S 設定例集 2.9 #180

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

PN: 613-000668 Rev.L

<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)