最終更新日:2012年4月7日
<サイトに戻る> <資料室に戻る> <IPSecトップへ戻る>
インターネットまたはFletsグループアクセス(CUG)回線などのPPPoE接続で、両側で固定IPを使ったVPN接続環境として、以下の図のような環境を想定します。

この構成では、NATで守られたセキュリティゾーンへはセキュリティゾーン間で IPSecによる相互にアクセスが可能です。 また、インターネット回線を使った場合にはそれぞれのセキュリティゾーン内からはインターネットへのアクスもも可能です。
設定例では次のようなパラメータ値で設定を実施します。 なお、以下のルータAについては説明を簡略化するために、アライドテレシス社の製品にて説明を行い、ルータBは各社のルータにて説明を行う事としますが、基本的にはルータBの設定と
ルータAの設定はIPアドレス以外は差異がない筈ですので他社の製品でルータAを構築しても問題無い筈です。
| VPNルータ-A | VPNルータ-B | ||
| WAN側アドレス | 172.16.1.101/32 | 172.16.1.102/32 | |
| LAN側アドレス | 192.168.10..254/24 | 192.168.20.254/24 | |
| PPPoE接続 ID | site-a@domain.co.jp | site-b@domain.co.jp | |
| PPPoE接続 Passs | isp-pass-a | isp-pass-b | |
| フェーズ1 プロポーサル(IKE Proposal) | |||
| ルータ認証方式 | 事前共通キー方式(Pre-Shared Key :PSK) | ||
| IKE交換モード | Mainモード(両側が固定IP方式) | ||
| 事前共通キー | (文字列)ipsec_pass | ||
| PFSのDiffie-Hellmanグループ | グループ2 (1024bit MODP) | ||
| IKEの暗号化方式 | DES | ||
| IKEの認証用ハッシュアルゴリズム | MD5 | ||
| ISAKMP(フェーズ1)の生存期間 | 28800秒(8時間) | ||
| IKEキープアライブ方式 (注意2) | DPD | ||
| フェーズ2 プロポーサル(IPSec Proposal) | |||
| SAモード | トンネル | ||
| セキュリティプロトコル | ESP | ||
| 暗号方式 | DES | ||
| 認証用ハッシュアルゴリズム | SHA1 | ||
| トンネル対象IPアドレス | 192.168.20.0/24 | 192.168.10.0/24 | |
| PFSの利用 | off(False) | ||
| SA(フェーズ2)の生存期間 | 1800秒(30分) | ||
| MTU値 | 1454 (NTT Flets網を想定) | ||
注意: 上記の設定項目は、プロポーサル(proposal)に関係するもので、暗号方式や認証方法などをお互いのルータ間で取り決めるための規約となります。 このため、これらの規約がお互いに同じになっていないと、VPNの接続で不都合が生じることとなります。
場合によっては、片側のルータでOSに不具合を起こしリブートが発生してしまう事があるので、これらの規約は確実に同じになるように設定を行いましょう。
(因みに、自分はアライドとNECの設定でフェーズ2の生存期間が食い違っていただけで、SAの生成に失敗してアライドのルータがハングアップするという現象を発生させてしまい、その原因調査に手間取りました)
なおプロポーサルで定義している暗号方式やハッシュアルゴリズムは、ルータ間の互換性を考慮して、比較的セキュリティが弱い方式をここでは使用していますが、実際の構築では利用するそれぞれのルータがサポートできる、強固な方式を利用すると良いでしょう。(ex
3DES, sha等)
注意2: IKE(SA)の情報は一定時間の間、それぞれのVPNルータ上のメモリに生存しています。 この時、相手のルータが何らかの理由で再起動などがされたような場合、相手側にはSA情報が無く、こちらだけにSA情報がが残っているという状態になってしまい、結果としてIKE(SA)の生存期間の時間が経過するまで、VPNセッションが利用できない状態になる可能性があります。 これを避けるには、それぞれのルータが相手の生存状態を確認(キープアライブ)して、相手が応答できない状態になった場合には現状のIKE(SA)の情報を廃棄して新たにSAを構築することで、接続障害時間を短縮する事が可能になります。
しかし、SAのキープアライブの実施方法は当初、各ルータベンダー毎にその実現方法にばらつきがあり、このため、SAの廃棄ができないという状態になってしまう事が見受けられました。
最近のルータであれば、DPD(RFC3706で規格化された)方式が提案(フェーズ1 プロポーザル)できるようになってきており、これを使ったキープアライブを実施することで、上記のような問題を避ける事ができます。 本資料では、DPDの利用を前提とした設定を実施しています。 DPDに非対応なルータの場合には、従来のようにkeepaliveを利用の上で、検知時間を短くするなどの工夫でSAの廃棄を行うと良いでしょう。
| 標準PPPoEにおいてのMTU値は『1492』という事になっています。 しかしNTTのFlets (光、ADSL)では、PPPoE接続時のMTU値は『1454』となります。 また、NTTの光プレミアムの場合には『1438』となっています。 通常、MSS値はMTU値-40とした
値となり、このサイズがTCP/IPにおけるパケットフレーム長になります。ただし、PPPoE上でIPSecを実施した場合、実際にはIPSecのため
のヘッダー情報が付加されるために、IPSecでのMSS値をこれより更に小さな値としないと、パケットが細分化(フラグメンテーション)されてしまい、
結果として送受信速度が極端に悪化する結果となります。 MSS値の設定ができるかどうかは、ルータの仕様によるため、すべてのルータで設定できる訳ではありませんが、IPSecでの通信速度が極端に悪い場合には、MSS値の見直しをすることで改善できる可能性があります。 以下の設定例では、MSSに関する設定は原則行っていませんので、必要に応じて各ルータでのMSSの調整を行ってください。 |
| アライド製品におけるIPSecの注意: アライド製品は、企業向けとルータでありながらなIPSecを標準実装したのが遅く、AR450sより前に出荷された製品(AR410以前)では、IPSecを標準では利用できず、追加ライセンスや追加ボードが必要でした。 また、AR450s(前期モデル)においてもIPSecは標準実装されているものの、追加ライセンスを購入しないと暗号方式に3DESが選べなかったり、ハッシュ長が短いものしか使えないという状況(後期型から標準実装されています)で、同じ価格帯の他社製品に比べると見劣りする状態でした。 また、これが原因で他社ルータとのプロポーザルをきちんと揃えて設定を行わないと、結果としてIPSecの接続に失敗してしまい、これが俗にいう「YAMAHAとアライドはつながらない」。「Netscreenとつなぐとハングアップする」的なコメントになっていたりします。: 実際には、プロポーザルを合わせれば接続できるのですが、このあたりをきちんと説明している資料が皆無なことが混乱を助長していると思います。 |
以下の設定で、”option”部分は設定しなくても影響のない部分ですので、利用者にて設定するか判断してください。また、アライドの場合には、コンフィグファイルそのものだけでは、セキュリティモードなどが説明できないので、キーボード入力での設定手順として記載しています。
| AR415S version 2.9.2-01 (DPD) ※ AR410S 以前のモデルは暗号化拡張ボードを別途、購入し ていないとIPSecでの通信はできません(設定はできるみたいです) |
# ********************* # * AR415S での設定手順 * # ********************* # セキュリティ管理者用アカウント作成 add user=admin pass=admin-pass priv=securityOfficer <--- admin/admin-passは任意の文字列 set user securedelay=1800 <---コンソールの使用制限時間を1800秒(30分)に変更(option) # IPSec Share Key create create enco key=1 type=general value="ipsec_pass" <---シェアキーの作成 # セキュリティ管理者で、ログインしなおし。 login admin <---セキュリティ管理者として上記のパスワード"admin-pass"でログイン # セキュリティモード中は、Telnetでのアクセスができないので、特定のアドレスからは出来るように設定(option) add user rso ip=192.168.10.0 mask=255.255.255.0 enable user rso # ASYN configuration set asyn=asyn0 flow=char <--- コンソールのフロー制御(XON/XOFF)指定(option) # PPP configuration create ppp=0 over=eth0-any set ppp=0 bap=off username="site-a@domain.co.jp" password="isp-pass-a" set ppp=0 over=eth0-any lqr=off echo=10 # IP configuration enable ip enable ip remote add ip int=vlan1 ip=192.168.10.254 add ip int=ppp0 ip=172.16.1.101 mask=255.255.255.255 set ip loc ip=192.168.10.254 <--- ルータからの送信パケットのソースアドレスを強制指定(option(注1)) add ip rou=0.0.0.0 mask=0.0.0.0 int=ppp0 next=0.0.0.0 # Firewall configuration enable firewall create firewall policy="net" disable firewall policy="net" identproxy enable firewall policy="net" icmp_f=unre,ping 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=3 ac=allo int=ppp0 prot=udp po=500 ip=172.16.1.101 gblip=172.16.1.101 gblp=500 add firewall poli="net" ru=99 ac=non int=ppp0 prot=ALL ip=192.168.10.1-192.168.10.254 enc=ips add firewall poli="net" ru=2 ac=non int=vlan1 prot=ALL ip=192.168.10.1-192.168.10.254 set firewall poli="net" ru=2 rem=192.168.20.1-192.168.20.254 # NTP configuration (option) enable ntp set ntp utc=+09:00:00 add ntp peer=172.16.1.250 # IPSEC configuration (フェーズ2の設定) create ipsec sas=1 key=isakmp prot=esp enc=des hasha=sha create ipsec bund=1 key=isakmp string="1" expirys=1800 create ipsec pol="vpn" int=ppp0 ac=permit set ipsec pol="vpn" lp=500 rp=500 tra=UDP create ipsec pol="vpn_1" int=ppp0 ac=ipsec key=isakmp bund=1 peer=172.16.1.102 set ipsec pol="vpn_1" lad=192.168.10.0 lma=255.255.255.0 rad=192.168.20.0 rma=255.255.255.0 set ipsec pol="vpn_1" srci=ppp0 create ipsec pol="inet" int=ppp0 ac=permit enable ipsec # ISAKMP configuration (フェーズ1の設定) create isakmp pol="ike_rt" pe=172.16.1.102 srci=ppp0 has=md5 key=1 set isakmp pol="ike_rt" expirys=28800 gro=2 pre=true set isakmp pol="ike_rt" sendn=true set isakmp pol="ike_rt" dpdm=both dpdi=5 enable isakmp # セキュリティモードにしないままで保存した場合には、作成したシェアキーやISAKMP情報が登録され # ないので要注意。 enable system security_mode <---セキュリティモードにする。 create config=ipsec_demo.cfg set config=ipsec_demo.cfg |
アライドのルータのコンフィグを初期状態にするには、
# set config=none
# restart router
とする。
| TZ 170 (DPD) GUIでの設定手順 |
SonicWALLでの設定は、GUIでの設定が基本になります。 なお、SonicWALL自身はDPDに対応している様子なのですが、 AR415との間ではDPD の認識に失敗している様子。 |
SonicWALLの初期化は、リセットボタンの長押し(10秒程度)で実施されます。 その際に、古い型のSonicWALLではファームウェアを必要とする場合があるので予めファームウェアを本体からダウンロードしておくと良いでしょう。 なお、初期化が実施されるとIPアドレスが、192.168.168.168に戻ってしまいます。
| IX2015 Version 7.5.62 (DPD) |
timezone +09 00 ntp ip enable ntp server 172.16.1.250 ntp interval 600 logging buffered 10240 logging subsystem all warn logging timestamp timeofday ip route default FastEthernet0/0.1 ip route 192.168.10.0/24 Tunnel0.0 ip access-list sec-list1 permit ip src any dest any ip access-list sec-list2 permit ip src 192.168.20.0/24 dest any ip access-list ac-all_forward permit ip src any dest any ip ufs-cache enable ike initial-contact always ike proposal ike-pro1 encryption des hash md5 group 1024-bit lifetime 28800 ike policy ike-policy1 peer 172.16.1.101 key ipsec_pass ike-pro1 ike keepalive ike-policy1 60 10 ipsec autokey-proposal ipsec-prop1 esp-des esp-sha lifetime time 1800 ipsec autokey-map auto-map1 sec-list1 peer 172.16.1.101 ipsec-prop1 ipsec local-id auto-map1 192.168.20.0/24 ipsec remote-id auto-map1 192.168.10.0/24 telnet-server ip enable ppp profile vpn authentication myname site-b@domain.co.jp authentication password site-b@domain.co.jp isp-pass-b exit interface FastEthernet1/0.0 ip address 192.168.20.254/24 no shutdown exit interface FastEthernet0/0.1 encapsulation pppoe auto-connect ppp binding vpn ip address 172.16.1.102/32 ip mtu 1454 ip tcp adjust-mss 1414 ip napt enable ip napt translation max-entries 30000 ip napt static FastEthernet0/0.1 udp 500 ip filter ac-all_forward 65000 in ip filter ac-all_forward 65000 out no shutdown exit interface Tunnel0.0 tunnel mode ipsec ip unnumbered FastEthernet0/0.1 ip tcp adjust-mss auto ipsec policy tunnel auto-map1 pre-fragment out no shutdown exit write mem |
IXシリーズでコンフィグファイルを工場出荷時に戻す場合には、スーパーリセットを実施してください。 スーパーリセットの手順は取り扱い説明書の6章を参照してください。
| NetScreen-5XT Rev.5.3.0r10b.0 (DPD) GUIでの設定手順 |
set clock timezone 0 set vrouter trust-vr sharable set vrouter "untrust-vr" exit set vrouter "trust-vr" unset auto-route-export exit set auth-server "Local" id 0 set auth-server "Local" server-name "Local" set auth default auth server "Local" set auth radius accounting port 1646 set admin name "netscreen" set admin password "nKVUM2rwMUzPcrkG5sWIHdCtqkAibn" set admin auth timeout 10 set admin auth server "Local" set admin format dos set zone "Trust" vrouter "trust-vr" set zone "Untrust" vrouter "trust-vr" set zone "VLAN" vrouter "trust-vr" set zone id 100 "VPN-Zone" set zone "Untrust-Tun" vrouter "trust-vr" set zone "Trust" tcp-rst set zone "Untrust" block unset zone "Untrust" tcp-rst set zone "MGT" block set zone "VLAN" block unset zone "VLAN" tcp-rst unset zone "VPN-Zone" tcp-rst set zone "Untrust" screen tear-drop set zone "Untrust" screen syn-flood set zone "Untrust" screen ping-death set zone "Untrust" screen ip-filter-src set zone "Untrust" screen land set zone "V1-Untrust" screen tear-drop set zone "V1-Untrust" screen syn-flood set zone "V1-Untrust" screen ping-death set zone "V1-Untrust" screen ip-filter-src set zone "V1-Untrust" screen land set interface "trust" zone "Trust" set interface "untrust" zone "Untrust" set interface "tunnel.1" zone "VPN-Zone" unset interface vlan1 ip set interface trust ip 192.168.20.254/24 set interface trust nat set interface untrust ip 172.16.1.102/32 set interface untrust route set interface tunnel.1 ip unnumbered interface untrust set interface untrust mtu 1454 set interface tunnel.1 mtu 1500 unset interface vlan1 bypass-others-ipsec unset interface vlan1 bypass-non-ip set interface trust ip manageable unset interface untrust ip manageable set interface trust dhcp server service set interface trust dhcp server auto set interface trust dhcp server option gateway 192.168.1.1 set interface trust dhcp server option netmask 255.255.255.0 set interface trust dhcp server ip 192.168.1.33 to 192.168.1.126 set flow tcp-mss set flow all-tcp-mss 1304 unset flow no-tcp-seq-check set flow tcp-syn-check set hostname ns5xt set pki authority default scep mode "auto" set pki x509 default cert-path partial set ike p1-proposal "ar-pre-g2-des-md5" preshare group2 esp des md5 second 28800 set ike p2-proposal "ar-nopfs-des-sha" no-pfs esp des sha-1 second 1800 set ike gateway "ar-gw" address 172.16.1.101 Main outgoing-interface "untrust" preshare "IPFBOhVSN9lU05sSXGC6N530AnnwFfbYsA==" proposal "ar-pre-g2-des-md5" set ike gateway "ar-gw" dpd interval 10 set ike respond-bad-spi 1 unset ike ikeid-enumeration unset ipsec access-session enable set ipsec access-session maximum 5000 set ipsec access-session upper-threshold 0 set ipsec access-session lower-threshold 0 set ipsec access-session dead-p2-sa-timeout 0 unset ipsec access-session log-error unset ipsec access-session info-exch-connected unset ipsec access-session use-error-log set vpn "ar-vpn" gateway "ar-gw" no-replay tunnel idletime 0 proposal "ar-nopfs-des-sha" set vpn "ar-vpn" monitor source-interface trust destination-ip 192.168.10.254 set vpn "ar-vpn" id 1 bind interface tunnel.1 set vpn "ar-vpn" proxy-id local-ip 192.168.20.0/24 remote-ip 192.168.10.0/24 "ANY" set policy id 1 from "Trust" to "Untrust" "Any" "Any" "ANY" permit set policy id 1 exit set policy id 2 from "Trust" to "VPN-Zone" "Any" "Any" "ANY" permit set policy id 2 exit set policy id 3 from "VPN-Zone" to "Trust" "Any" "Any" "ANY" permit set policy id 3 exit set pppoe name "ISP-B" set pppoe name "ISP-B" username "site-b@domain.co.jp" password "E04Z4SBpNG/Kmvs/UGC9R4HLIonlEuX4Aw==" set pppoe name "ISP-B" idle 0 set pppoe name "ISP-B" interface untrust unset pppoe name "ISP-B" update-dhcpserver set pppoe name "ISP-B" auto-connect 1 set nsmgmt bulkcli reboot-timeout 60 set ssh version v2 set config lock timeout 5 set modem speed 115200 set modem retry 3 set modem interval 10 set modem idle-time 10 set snmp port listen 161 set snmp port trap 162 set vrouter "untrust-vr" exit set vrouter "trust-vr" unset add-default-route set route 192.168.10.0/24 interface tunnel.1 preference 20 exit set vrouter "untrust-vr" exit set vrouter "trust-vr" exit |
NetScreenのコンフィグを初期状態にするには、コンソールから
# unset all
Erase all system config, are you sure y/[n] ? y
# reset
Configuration modified, save? [y]/n n
System reset, are you sure? y/[n] y
とするか、ログインIDとパスワードにそれぞれシリアル番号を入力する。
| YAMAHA RTX1200 Rev.10.01.34 (DPD) |
# RTX1200 Rev.10.01.34 (Mon Sep 5 18:55:00 2011) ip route default gateway pp 1 ip route 192.168.10.0/24 gateway tunnel 1 ip lan1 address 192.168.20.254/24 pp select 1 pp always-on on pppoe use lan2 pp auth accept pap chap pp auth myname site-b@domain.co.jp isp-pass-b ppp lcp mru on 1454 ppp ccp type none ip pp address 172.16.1.102/32 ip pp mtu 1454 ip pp nat descriptor 1 pp enable 1 tunnel select 1 ipsec tunnel 101 ipsec sa policy 101 1 esp des-cbc sha-hmac ipsec ike always-on 1 on ipsec ike duration ipsec-sa 1 1800 ipsec ike duration isakmp-sa 1 28800 ipsec ike encryption 1 des-cbc ipsec ike group 1 modp1024 ipsec ike hash 1 md5 ipsec ike keepalive log 1 off ipsec ike keepalive use 1 on dpd 5 5 ipsec ike local address 1 172.16.1.102 ipsec ike local id 1 192.168.20.0/24 ipsec ike log 1 key-info message-info payload-info ipsec ike payload type 1 2 ipsec ike pre-shared-key 1 text ipsec_pass ipsec ike remote address 1 172.16.1.101 ipsec ike remote id 1 192.168.10.0/24 tunnel enable 1 nat descriptor type 1 masquerade nat descriptor address outer 1 172.16.1.102 nat descriptor address inner 1 192.168.20.1-192.168.20.254 nat descriptor masquerade static 1 1 192.168.20.254 udp 500 nat descriptor masquerade static 1 2 192.168.20.254 esp ipsec use on ipsec auto refresh on save |
RT107eのコンフィグを初期状態にするには、コンソールから
# cold start
とする。
| 古川電工 FITELnet-F100 V02.07.xx (DPD) |
enable configure terminal ip route 0.0.0.0 0.0.0.0 pppoe 1 ! access-list 1 permit 192.168.20.0 0.0.0.255 ! vpn enable vpnlog enable ! ipsec access-list 1 ipsec ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 ipsec access-list 64 bypass ip any any ipsec transform-set p2-policy esp-des esp-sha-hmac ! no service dhcp-server ! mss ipsecif 1 1300 mss ipsec 1300 ! interface lan 1 ip address 192.168.20.254 255.255.255.0 exit interface pppoe 1 crypto map vpn ip address 172.16.1.102 ip nat inside source list 1 interface pppoe server ISP-A pppoe account site-b@domain.co.jp isp-pass-b pppoe type host exit ! crypto isakmp policy 1 authentication prekey encryption des group 2 hash md5 keepalive always-send key ascii ipsec_pass lifetime 28800 negotiation-mode main peer-identity address 172.16.1.101 exit crypto map vpn 1 match address 1 set peer address 172.16.1.101 set security-association ipsec-src-id 192.168.20.0 0.0.0.255 set security-association lifetime seconds 1800 set transform-set p2-policy exit crypto security-association exit ! end save SIDE-A.cfg |
Fitelシリーズでコンフィグファイルを初期状態に戻す場合には、「reset default」コマンドを実施すか
# clear working.cfg
# save ファイル名
とすることでコンフィグファイルの初期化が可能である。
FITELnetのコンフィグは、保存先としてSIDE-A.cfgとSIDE-B.cfgの2つのファイルに保存でき、これらを切り替えてブートができるようになっている。 現在、どちらのコンフィグを使っているかは
> enable
# show version または、show file configuration
とすることで確認できる。 また、コンフィグの切り替えは
# boot configuration ファイル名
とすることで切り替えが可能である。
Si-R 220B, Si-R180B
Si-Rシリーズでコンフィグファイルを工場出荷時に戻す場合には、「reset clear」コマンドを実施するか「ご利用にあたって」の3-3章を参照してください。
| Cisco
1812J (IOS Version 15.1) !動作未検証! |
hostname Router ! boot-start-marker boot-end-marker ! ! no aaa new-model ! ! dot11 syslog ip source-route ! ip cef no ipv6 cef ! multilink bundle-name authenticated ! license udi pid CISCO1812-J/K9 sn FHK10095188 ! crypto ikev2 diagnose error 50 ! crypto isakmp policy 1 hash md5 authentication pre-share group 2 crypto isakmp key ipsec_pass address 172.16.1.101 crypto isakmp keepalive 30 ! crypto ipsec transform-set IPSEC esp-des esp-sha-hmac ! crypto map MAP-IPSEC 1 ipsec-isakmp set peer 172.16.1.101 set transform-set IPSEC match address 100 ! interface BRI0 no ip address encapsulation hdlc shutdown ! interface FastEthernet0 no ip address duplex auto speed auto pppoe enable group global pppoe-client dial-pool-number 1 ! interface FastEthernet1 no ip address shutdown duplex auto speed auto ! interface Vlan1 ip address 192.168.20.254 255.255.255.0 ip nat inside ip virtual-reassembly ! interface Dialer1 ip address 172.16.1.102 255.255.255.0 ip mtu 1454 ip nat outside ip virtual-reassembly encapsulation ppp ip tcp adjust-mss 1414 load-interval 30 dialer pool 1 dialer-group 1 ppp chap refuse ppp pap sent-username site-b@domain.co.jp password 0 isp-pass-b no cdp enable crypto map MAP-IPSEC ! ip forward-protocol nd no ip http server no ip http secure-server ! ! ip nat inside source route-map NO_NAT interface Dialer1 overload ip route 0.0.0.0 0.0.0.0 Dialer1 ! access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 access-list 105 deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 access-list 105 permit ip 192.168.20.0 0.0.0.255 any access-list 110 permit esp host 172.16.1.101 host 172.16.1.102 access-list 110 permit udp host 172.16.1.101 eq isakmp host 172.16.1.102 ! route-map NO_NAT permit 10 match ip address 105 ! control-plane ! line con 0 line aux 0 line vty 0 4 login transport input all ! end write memory |
<TOPに戻る>
