SoftEther VPNNEC IX2015を用いて、VPNを張ってみました。

センター側はせっかくJPNEのIPoEで固定のIPv6がある為、それをブランチ側にも割り振ってあげようと思います。

OS標準機能のプロトコルであるMS-SSTPやL2TPでは、IPv4は割り当てられてもIPv6を割り当てることが出来ません。

EtherIP若しくはL2TPv3を利用することでIPv6が割り当てられるので、格安で入手できるIX2015を用いてEtherIPを使用してみました。

IX2015の接続設定

NTT東日本のNGN網でIX2015とSoftEther VPNを使ったEtherIP over IPsecのトンネルを設定します。

UFSキャッシュの設定

フィルタの多段設定、IPSecの複数設定等におけるスケーラビリティを向上設定を行います。

Router(config)# ip ufs-cache enable  
Router(config)# ipv6 ufs-cache enable  

アクセスリストの設定

IPv6の発信元と送信先を全て許可します。
EtherIP over IPsecでの接続確立後はセンター側のルーター設定に依存します。

Router(config)# ipv6 access-list sec-list permit ip src any dest any  

IKEプロポーザルの暗号化・認証アルゴリズム設定

ここではセンターサーバに負荷をかけない為に、暗号化レベルを3DESに落として設定します。 有効時間は自由に設定可能ですが、短過ぎると再度IKEの認証が必要になります。

Router(config)# ike proposal ike-prop encryption 3des hash sha group 1024-bit lifetime 86400  

接続先・事前共有鍵の設定

接続先設定と、事前共有鍵 secret を設定し、接続元がIPoEの固定IPv6アドレスではない場合、mode aggressiveで動的IPとして設定します。

Router(config)# ike policy ike-policy peer 2001::1 key *secret* mode aggressive ike-prop  

IKEのキープアライブ設定

Router(config)# ike keepalive ike-policy 10 2  

ISAKMP Phase1 IDの設定

SoftEther VPN Serverで事前にユーザーと紐付けしたISAKMP Phase1 IDを設定します。
紐付けされたユーザーが設定されている仮想HUBを経由する事になります。

Router(config)# ike local-id ike-policy keyid *ISAKMP Phase1 ID*  

NAT/NAPT環境でのIPsec拡張機能の設定

Router(config)# ike nat-traversal policy ike-policy keepalive 10  

IPSec SAの暗号化・認証アルゴリズム設定

IKEで設定した暗号化・認証アルゴリズムと互換のある設定を行い丸。
有効時間は自由に設定可能ですが、短過ぎると再度IPsecの認証が必要になります。

Router(config)# ipsec autokey-proposal ipsec-prop esp-3des esp-sha lifetime time 86400  
Router(config)# ipsec autokey-map ipsec-map sec-list peer 2001::1 ipsec-prop  

ブリッジ機能の有効化

同じbridge-groupで設定されたインターフェースがブリッジされます。

Router(config)# bridge irb enable  

死活監視の設定

参考サイト

watch-groupは監視などのイベントを定義し、そのイベントとアクションを紐付る事ができます。
watch-group で設定を行います。
下記の場合は、keepaliveという名前で5回連続イベントを行った場合のアクションを設定します。 この設定は、BVI0から10.0.0.100(センター)を監視し、もし10.0.0.100への疎通不能となる場合はIKE/IPsec SAをクリアします。 "restorer"は監視結果がOKである事を意味し、"variance"は監視結果がNGである事を意味します。
"probe-counter"コマンドで監視を行う回数を定義する事ができます。
"restorer, variance, wait"はそれぞれ、"障害が復旧したと見なすまでの連続監視成功回数", "障害が発生していると見なすまでの連続監視失敗回数", "一回の監視で送信するpingの数"を表します。
"probe-timer"コマンドで監視を行う間隔を定義する事ができます。
"restorer, variance, wait"はそれぞれ、"正常な状態の監視間隔", "障害発生時の監視間隔", "Ping監視のタイムアウト時間"を表します。

Router(config)# watch-group keepalive 5  
Router(config-watch-keepalive-5)# event 5 ip unreach-host 10.0.0.100 Tunnel0.0 source BVI0  
Router(config-watch-keepalive-5)# action 5 ipsec clear-sa Tunnel0.0  
Router(config-watch-keepalive-5)# probe-counter restorer 3  
Router(config-watch-keepalive-5)# probe-counter variance 5  
Router(config-watch-keepalive-5)# probe-counter wait 3  
Router(config-watch-keepalive-5)# probe-timer restorer 10  
Router(config-watch-keepalive-5)# probe-timer variance 1  
Router(config-watch-keepalive-5)# probe-timer wait 3  
Router(config-watch-keepalive-5)# network-monitor keepalive enable  

FastEthernet0/0.0の設定

今回は使用しないので停止させます。

Router(config-watch-keepalive-10)# interface FastEthernet0/0.0  
Router(config-FastEthernet0/0.0)# no ip address  
Router(config-FastEthernet0/0.0)# shutdown  

FastEthernet0/1.0の設定

SoftEther VPNに接続するWANになります。
NTTのNGN網内専用のIPv6を自動取得する設定をします。

Router(config-FastEthernet0/0.0)# interface FastEthernet0/1.0  
Router(config-FastEthernet0/1.0)# no ip address  
Router(config-FastEthernet0/1.0)# ipv6 address autoconfig receive-default  
Router(config-FastEthernet0/1.0)# no shutdown  

FastEthernet1/0.0の設定

SoftEther VPN Serverの仮想HUBに接続されるLANポートになります。
bridge-groupの設定で、トンネルインターフェースとブリッジさせます。

Router(config-FastEthernet0/1.0)# interface FastEthernet1/0.0  
Router(config-FastEthernet1/0.0)# no ip address  
Router(config-FastEthernet1/0.0)# bridge-group 1  
Router(config-FastEthernet1/0.0)# no shutdown  

仮想インターフェースの設定

IPsecは定期的な通信がないと切れてしまう為、ICMPの発信元を設定します。
BVIで仮想インターフェースを設定し、監視元のIPを設定します。

Router(config-FastEthernet1/0.0)# interface BVI0  
Router(config-BVI0)# ip address 10.0.0.254/24  
Router(config-BVI0)# bridge-group 1  
Router(config-BVI0)# no shutdown  

トンネルインターフェースの設定

EtherIP + IPsecでトンネル接続する為の設定を行います。
IPsecのポリシー設定で外部に接続できる設定をします。
FastEthernet1/0.0をLANにする為、共通のbridge-groupに設定します。
NTT東日本のMTUと3DESの暗号化設定の為、adjust-mssの設定は1358にします。

Router(config-BVI0)# interface Tunnel0.0  
Router(config-Tunnel0.0)# tunnel mode ether-ip ipsec  
Router(config-Tunnel0.0)# no ip address  
Router(config-Tunnel0.0)# ipsec policy tunnel ipsec-map out  
Router(config-Tunnel0.0)# bridge-group 1  
Router(config-Tunnel0.0)# bridge ip tcp adjust-mss 1358  
Router(config-Tunnel0.0)# no shutdown