VPNについて設定を確認
対象機器で現在設定されているVPN構成について確認する。ここではレコードが一件表示されているが、すべてのVPN設定について表示される。まずここで対象となるサイトについて構成があるかの存在確認をする。
また対象VPNが使っているGateway、First Proposal, インタフェースが合わせて正しいかも確認する。
Name Gateway Mode RPlay 1st Proposal Monitor Use Cnt Interface --------------- --------------- ---- ----- -------------------- ------- ------- --------------- VPN_SSGXT Gateway_SSGXT tunl No g2-esp-3des-sha on 0 eth0/0 Total Auto VPN: 1 Total Pure Transport Mode IPSEC VPN: 0 Name Gateway Interface Lcl SPI Rmt SPI Algorithm Monitor Tunnel ID ---------- --------------- --------------- -------- -------- ---------------- ------- ---------- Total Manual VPN 0
上記の例では VPN_SSGXTがGateway_SSGXTを使用して設定されていることがわかる。ただしここでわかるのは構成されていることだけであり、実際にセッションを張れているかはわからない。
Phase 1について確認
Phase 1はget ikeコマンドで確認するここでActiveなセッションを確認できればPhase 1は成功している。
ssg5-serial-> get ike cookies | i IKE IKEv1 SA -- Active: 1, Dead: 0, Total 1 ike heartbeat : disabled ike heartbeat last rcv time: 0 ike heartbeat last snd time: 0 IKEv2 SA -- Active: 0, Dead: 0, Total 0
上記はPhase 1が成功している場合である。Active に1と表示されている。 Total が表示されているがActive あるいは Deadのいづれにも表示されていない場合にはPhase 1がおかしい。Deadに表示されている場合にはセッションを上げている途中だが時間がかかっているか、何らかの理由によりPhase 1が完了できないことを示す。
Phase 2について確認
Phase 2ではSAが確立されていれば成功である。
ssg5-serial-> get sa total configured sa: 1 HEX ID Gateway Port Algorithm SPI Life:sec kb Sta PID vsys 00000001< 10.0.0.2 500 esp:3des/sha1 38262a4c 3470 unlim A/U -1 0 00000001> 10.0.0.2 500 esp:3des/sha1 28c376c0 3470 unlim A/U -1 0
下記はリモートIPの10.0.0.2とSAが確立している。 HEX IDを指定してget saを実行するとさらに詳しい情報が取得できる。
sg5-serial-> get sa id 1 index 0, name VPN_SSGXT, peer gateway ip 10.0.0.2. vsys<Root> auto key. tunnel if binding node, tunnel mode, policy id in:<-1> out:<-1> vpngrp:<-1>. sa_list_nxt:<-1>. tunnel id 1, peer id 0, NSRP Local. site-to-site. Local interface is ethernet0/0 <10.0.0.1>. esp, group 2, 3des encryption, sha1 authentication autokey, IN active, OUT active monitor<1>, latency: 32, availability: 100 DF bit: clear app_sa_flags: 0x24001e3 proxy id: local 0.0.0.0/0.0.0.0, remote 0.0.0.0/0.0.0.0, proto 0, port 0 ike activity timestamp: 174748595 DSCP-mark : disabled nat-traversal map not available incoming: SPI 38262a4c, flag 00004000, tunnel info 40000001, pipeline life 3600 sec, 3345 remain, 0 kb, 0 bytes remain anti-replay off, idle timeout value <0>, idled 1 seconds next pak sequence number: 0x0 bytes/paks:1974440/38908; sw bytes/paks:1974440/38908 outgoing: SPI 28c376c0, flag 00000000, tunnel info 40000001, pipeline life 3600 sec, 3345 remain, 0 kb, 0 bytes remain anti-replay off, idle timeout value <0>, idled 1 seconds next pak sequence number: 0x9c bytes/paks:4117640/83111; sw bytes/paks:4117640/83111 --- more ---
Eventの確認
VPNはEventにも表示される。EventはRemote Peer IPを使ってフィルタする。
ssg5-serial-> get event | i 10.0.0.2 2014-07-02 16:39:26 system crit 00040 VPN 'VPN_SSGXT' from 10.0.0.2 is up. 2014-07-02 16:39:25 system info 00536 IKE 10.0.0.2 Phase 2 msg ID 122c646c: 2014-07-02 16:39:25 system info 00536 IKE 10.0.0.2 phase 2:The symmetric
VPNのデバッグ
より詳細な情報が必要であればdebugをする。負荷が高くなるので必要に応じて実行し、完了したら無効にする。
フィルタを追加
ssg5-serial-> set ff src-ip 192.168.1.1 filter added
現在のデバッグ設定をクリアする
ssg5-serial-> undebug all ssg5-serial-> clear db
デバッグを開始する
ssg5-serial-> debug ike basic ssg5-serial-> debug flow basic
デバッグ情報を表示する
ssg5-serial-> get db str
デバッグが完了したら無効にする。
unset ff undebug all clear db get db str
通信を確認
VPN設定が成功し、通信が開始された場合には、Sessionを以下のコマンドで確認できる。
get session
Tips
設定を見直しても問題がないときには同じ操作を実行してみる。例えばphase 2でtunnelインタフェースを選ぶところで一回 noneにしてから何も操作をしないで再度同じインタフェースを選んだら正しくVPNが開始されてことがあった。
参考
- http://www.fir3net.com/Netscreen/troubleshooting-a-netscreen-site-2-site-vpn.html
- http://etherealmind.com/debug-screenos-netscreen-flow-filter-show-packet-flow/
- http://kb.juniper.net/InfoCenter/index?page=content&id=KB9221