2015年3月14日土曜日

ScreenOSを使った拠点間VPNの設定方法まとめ(本社:グローバルIP、拠点:プライベートIPの場合)

■目的
 いまさらながらScreenOSを使った拠点間VPN構成のまとめを作成する
今回は本社側がグローバルIPを持ったSSG、拠点側はプライベートIPを持ったSSGの構成とする

■前提条件
センター側
・SSG320
・ScreenOS:6.2
・NSRPを使った冗長構成
・固定グローバルIPをインターフェースに持っている

拠点側
・SSG5
・ScreenOS:6.2
・シングル構成
・上位でグローバルIPを終端している装置があるのでインターフェースはプライベートアドレスのみ

■内容
今回拠点側はプライベートアドレスしか持っていないため、Aggressiveモードでの接続を行う。
拠点側からの接続でVPNを構成するのでローカル認証を行う。

イメージ図)


センター側コンフィグ
set interface ethernet0/2 ip 100.100.100.100/24

set zone id 101 "VPN_TEST1"
set zone "VPN_TEST1" tcp-rst 


set interface "tunnel.1" zone "VPN_TEST1"
set interface tunnel.1 ip unnumbered interface ethernet0/0


set ike gateway "TEST1-GW" address 0.0.0.0 id "TEST1-VPN" Aggr local-id "TEST1-VPN" outgoing-interface "ethernet0/2" preshare "xxxxxxx" proposal "pre-g2-3des-sha"
set ike gateway "TEST1-GW" nat-traversal udp-checksum
set ike gateway "TEST1-GW" nat-traversal keepalive-frequency 5
set ike gateway "TEST1-GW" heartbeat hello 1
set ike gateway "TEST1-GW" heartbeat reconnect 60


set vpn "TEST1-IKE" gateway "TEST1-GW" replay tunnel idletime 0 proposal "g2-esp-3des-sha" 
set vpn "TEST1-IKE" monitor source-interface ethernet0/0 destination-ip 10.1.1.254 rekey
set vpn "TEST1-IKE" id 0x1 bind interface tunnel.1
set vpn "TEST1-IKE" proxy-id check
set vpn "TEST1-IKE" proxy-id local-ip 0.0.0.0/0 remote-ip 0.0.0.0/0 "ANY" 



set route 10.1.1.0/24 interface tunnel.1


①はZONEの設定
②でZONEをTunnelインターフェースに割り当てる
 TunnelインターフェースをunnumberdにしてLAN側のインターフェースにバインドさせる
③がPhase1のVPN設定、ここがキモ
 ポイントは宛先SSG5はグローバルアドレスを持たないので0.0.0.0 Aggrモードを指定している
 local-idを指定し、グローバルアドレス側のインターフェースをoutgoingに指定
 後はpreshareキーと暗号化方式を選択する。
 その他nat-traversal指定も行う
④Phase2のVPN設定
 ③で作ったGWを指定する。
  set vpn "TEST1-IKE" id 0x1 bind interface tunnel.1 の0x1はIKE設定の数だけ自動で増えていく値なので
  WEBから作成すると自動的に割り当てられる
  Proxy-IDを使ったチェックの設定をいれる
⑤Tunnelをネクストホップに指定した拠点側アドレス向けルーティング設定

------------------------------------------------------------------------------

■拠点側コンフィグ
set interface ethernet0/9 ip 192.168.54.220/24 ←WAN側
set interface bgroup0/0 ip 10.1.1.254/24 ←LAN側

set zone id 101 "VPN1"
set zone "VPN1" tcp-rst


set interface "tunnel.1" zone "VPN"
set interface tunnel.1 ip unnumbered interface bgroup0/0
set interface tunnel.1 mtu 1442


set ike gateway "TEST1-GW" address 1.1.1.1 Aggr local-id "TEST1-VPN" outgoing-interface "ethernet0/9" preshare "xxxxxxxx" proposal "pre-g2-3des-sha"
set ike gateway "TEST1-GW" nat-traversal
set ike gateway "TEST1-GW" nat-traversal udp-checksum
set ike gateway "TEST1-GW" nat-traversal keepalive-frequency 5
set ike respond-bad-spi 1
set ike gateway "TEST1-GW" heartbeat reconnect 60
set ike ikev2 ike-sa-soft-lifetime 60
unset ike ikeid-enumeration
unset ike dos-protection
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 "TEST1-IKE" gateway "TEST1-GW" replay tunnel idletime 0 proposal "g2-esp-3des-sha"
set vpn "TEST1-IKE" monitor source-interface bgroup0/0 destination-ip 172.16.1.1 rekey
set vpn "TEST1-IKE" id 0x1 bind interface tunnel.1
set vpn "TEST1-IKE" proxy-id check
set vpn "TEST1-IKE" proxy-id local-ip 0.0.0.0/0 remote-ip 0.0.0.0/0 "ANY"


set route 10.0.0.0/8 interface tunnel.1
set route 172.16.0.0/12 interface tunnel.1
set route 192.168.0.0/16 interface tunnel.1


①はZONEの設定
②でZONEをTunnelインターフェースに割り当てる
 TunnelインターフェースをunnumberdにしてLAN側のインターフェースにバインドさせる
 拠点側でPPPoE回線を利用している場合mtu値を設定しておいた方が良い
③がPhase1のVPN設定とデフォルトで入るそれっぽい設定
 1.1.1.1はセンター側のグローバルIPアドレス
 後はセンター側同様
 Aggrモードとセンター側と同じlocal-idを指定し、グローバルアドレス側のインターフェースをoutgoingに指定
 センター側と同じpreshareキーと暗号化方式を選択する。
 その他nat-traversal指定も行う
④Phase2のVPN設定
 ③で作ったGWを指定する。
  set vpn "TEST1-IKE" monitor source-interface bgroup0/0 destination-ip 172.16.1.1 rekey
  の172.16.1.1はセンター側のLAN側Interfaceを指定している
  Proxy-IDを使ったチェックの設定をいれる
⑤Tunnelをネクストホップに指定したセンター側アドレス向けルーティング設定
  デフォルトルートの0.0.0.0をTunnel向けに設定してしまうとVPNをはりに行けなくなってしまうのでこんな感じで設定

------------------------------------------------------------------------------

上記まででVPNが正常に張れるようになる筈
最後にポリシーの設定を忘れないようにする

もしVPNがうまく張れない場合はログを見ながらPhase1を突破しているか等を確認しながら切り分けしていく。

■終わり
 個人的にはインターネットVPNを構成するのはグローバルIP同士でのサイトtoサイトVPNが理想だが、この構成は割りと多いのではないかと思う。
ポイントは
・上位側のルーター等でVPNで使うプロトコル(IKE,ESP)等が通信出来るようになっていること
・MTUの値
に気をつける事。
他のWEBサイトではDPDを利用した接続設定等も見られるがとりあえずこの設定で問題なさそうなので良いかな

私の体験が誰かの生産性向上に役立っていただけることを祈って

0 件のコメント:

コメントを投稿