ネトサバ日記

インフラに関する投稿をしていきます

NATでの拠点間VPN

夏休みで地元に帰ったので拠点間のVPNをルーティングプロトコルに対応するという自由研究をしてきました。

現状

  • 拠点間を192.168.x.xを分割したIPsecサブネット方式で接続
  • グローバルアドレスを持つルータを終点とせず、その配下のプライベートアドレスを持つルータ同士を終点としている
  • グローバルアドレスは非固定なのでDDNSでのピア指定

変更点

  • 192.168.x.x以外にも172.16.x.xもトンネリングさせる
  • OSPFに対応
IPsecでルーティングプロトコルに対応させるためには、VTIもしくはGREによるトンネル接続が必要になる。

今回は、ファイアーウォールでの環境制約によってGREが使えないのでVTIで設定

設定は以下の通り


interfaces {
vti vti0 {
address 172.31.x.x/30 ← OSPF用アドレス
}
}
protocols {
ospf {
area 0 {
network 192.168.x.0/24
network 172.31.x.0/30
}
}
}
vpn {
ipsec {
esp-group ESP {
mode tunnel
proposal 10 {
encryption aes128
hash sha1
}
}
ike-group IKE {
key-exchange ikev1
mode main
proposal 10 {
encryption aes128
hash sha1
}
}
ipsec-interfaces {
interface eth0 ← ゲートウェイ向きのインターフェイス
}
nat-networks {
allowed-network 192.168.y.0/24 { ← 対向ネットワーク
}
}
nat-traversal enable
site-to-site {
peer Y.Y.Y.Y { ← 対向のグローバルアドレス
authentication {
id vpnA ← 自局のID
mode rsa
remote-id vpnB ← 対向のID
rsa-key-name vpnA
}
connection-type initiate
default-esp-group ESP
ike-group IKE
local-address 192.168.x.1 ← 自局プライベートアドレス
vti {
bind vti0
}
}
}
}
rsa-keys {
rsa-key-name vpnA {
rsa-key ****************
}
}
}

NAT内部の終端なのでここで書いたとおり共通鍵認証は使えない
こうすることによって勝手にOSPFによってルーティングが更新される

今回、VTIを使った際にpeerをホスト名で指定しようとしたが設定できなかった。
今は、このままで接続できるがそのうち接続できなくなる可能性がある。
なんで、宿題でIPv6で接続できるようにしたい。