strongSwanで社内ルータ(RTX)とVPN接続した構築ログ。規格を合わせるまでが一番大変だった話

前回の記事で、さくらのVPSをブリッジ接続してActive Directoryを冗長化した話と、そのリアルな月額費用 について書きました。
今回はその続きで、社内ルータとのVPN接続部分のログです。

この構成は2022年頃に作ったものですが、今もそのまま動き続けています。

構成としてはこんな感じです。

  • さくらVPS(Linux 2vCPU / 1GB)
  • strongSwan
  • 拠点側ルータ(Yamaha RTX系)

Linuxルータは前回の記事で書いた通り、Active Directoryの通信を拠点間で通す用途です。

拠点は10カ所くらいありますが、今のところ大きなトラブルもなく動き続けています。

Linuxルータ自体は さくらのVPS の小さいプランで動かしています。

CPU2 / メモリ1GBですが、VPN用途としては特に問題は出ていません。


strongSwanを使うことにした理由

拠点VPNをどう作るかは、最初かなり悩みました。

さくらのクラウドにはVPC系のサービスもありますし、
クラウドVPNのような構成も考えました。

ただ正直なところ、

  • コストがそれなりに上がる

という印象がありました。

一方で今回の用途は

  • 回線は普通のインターネット回線
  • 拠点側は一般的なルータ
  • 通信の中心はActive Directory

という状況でした。

だったら、

IPsecで普通につながれば十分じゃないか

という判断になりました。

その結果、Linux側は strongSwan を使う構成にしました。


strongSwan側の設定(例)

strongSwan側の設定はこんな感じです。

vi /etc/strongswan/swanctl/conf.d/abcd.conf

connections {
   abcd {
      local_addrs  = 203.0.113.10
      remote_addrs = 198.51.100.25

      local {
         auth = psk
         id = 203.0.113.10
      }

      remote {
         auth = psk
         id = 192.168.20.1
      }

      children {
         abcd {
            local_ts  = 192.168.10.0/24
            remote_ts = 192.168.20.0/24
            esp_proposals = aes128-sha1
         }
      }

      version = 1
      mobike = no
      proposals = aes128-sha1-modp1024
   }
}

secrets {
   ike-abcd {
      id = 198.51.100.25
      secret = "PassSakura"
   }
}

認証は PSK(事前共有鍵)
暗号は AES
ハッシュは SHA という、比較的よくあるIPsecの組み合わせです。


RTX側の設定との対比

拠点側ルータはYamaha RTX系なので、設定はこんな感じになります。

tunnel select 5
 tunnel name SAKURA_OSA
 ipsec tunnel 15
  ipsec sa policy 15 5 esp aes-cbc sha-hmac
  ipsec ike encryption 5 aes-cbc
  ipsec ike group 5 modp1024
  ipsec ike hash 5 sha
  ipsec ike keepalive use 5 on dpd 20 5
  ipsec ike local address 5 192.168.20.1
  ipsec ike local id 5 192.168.20.0/24
  ipsec ike pre-shared-key 5 text PassSakura
  ipsec ike remote address 5 203.0.113.10
  ipsec ike remote id 5 192.168.10.0/24
  ipsec auto refresh 5 on
 ip tunnel tcp mss limit auto
 tunnel enable 5

ip route 203.0.113.10 gateway pp 1
ip route 192.168.10.0/24 gateway tunnel 5

strongSwan側と見比べると分かりますが、

  • 暗号方式
  • ハッシュ
  • DHグループ

などを 完全に一致させる必要があります。

このあたりがズレていると、VPNは張れません。


一番苦労したのは「規格合わせ」

strongSwanとルータVPNの接続は、

正直に言うと

設定を書けば動くものではない

という印象でした。

IKE
ESP
ハッシュ
DHグループ

このあたりが少しでもズレると、

  • IKEが張れない
  • SAが確立しない
  • 接続してもすぐ落ちる

といった状態になります。

ログを見ながら

  • strongSwan側を調整
  • ルータ側を調整

という作業をひたすら繰り返しました。

最初の1拠点がつながるまでが、
正直一番大変だったと思います。


今ならIKEv2で作ると思う

この環境は IKEv1 で作っています。

当時はRTXの設定例や資料がIKEv1中心だったので、
それに合わせた形でした。

ただ、今作るなら

IKEv2で構築すると思います。

strongSwanもIKEv2の方が情報が多い印象です。

とはいえ、この構成でも
数年間止まらず動いているので、

実務用途としては特に問題は感じていません。


今のスタンス

拠点VPNというと

  • SD-WAN
  • クラウドVPN
  • マネージドサービス

のような話になることも多いですが、

実際のところ

  • 回線が普通のインターネット
  • トラフィックがそこまで多くない
  • Active Directoryなど業務通信中心

という環境なら、

strongSwan + ルータVPNでも
十分運用できています。

構築の最初はかなり苦労しましたが、

一度安定するとほとんど手がかからない構成です。

今も拠点を10カ所くらいつないでいますが、
Active Directory用途の通信としては特に問題なく動き続けています。

さくらのクラウドにはVPCなどのサービスもありますが、
このくらいの構成でも十分実用になるし、
コストもかなり抑えられるというのが、今の正直な感想です。

※追記(運用メモ)

この記事の構成で一度は安定して接続できていましたが、
その後しばらく運用しているとVPNが切れることがありました。

SA lifetime と DPD 設定を調整して解消したため、
そのログは次の記事に残しています。

strongSwan × RTX830 VPN構築後、しばらくすると切れる問題。SA寿命を合わせて安定した実務ログ
前回の記事で、strongSwanで社内ルータ(RTX)とVPN接続した構築ログ を書きました。一度は問題なく接続できて、「これでいけそうだな」と思っていたのですが、数時間後に確認すると通信が止まっていることがありました。再接続するとまたつ...

この環境の構成まとめ

さくらのVPSでActive Directoryを冗長構成した実録まとめ|ブリッジ接続・strongSwan VPN・ルーティングまでの構築ログ
社内のActive Directoryを冗長化したいと思ったとき、「オンプレ2台」ではなく クラウドを使う方法を試してみました。今回はさくらのVPSを使ってADを冗長構成にした一連の実務ログをまとめます。実際には・リージョンを分けてサーバー...