no-image

[strongSwan]autoパラメータの違いについて確認した(add/start/route/ignore)

今回はstrongSwanでのautoパラメータによる挙動について書きたいと思います。

wikiの方にも記載がありますが、autoパラメータでは以下の4つ設定が可能となっています

auto=start/route/add/ignore

1 start サービス起動時にトンネルを張る。
2 route 通信が開始されたときトンネルを張る。
3 add 設定ファイルをロードする。接続は手動で行う。
4 ignore 設定ファイルを無視する。トンネルを意図的に張らないようにする設定。

[参考ページ]: ipsec.conf Reference

さて今回は上記4つの設定を実際に行い、どういった挙動になるのか確認してみたいと思います。

検証環境は前回、ご紹介したこちらの環境にて行いたいと思います。
strongSwanによるIPsec構築(AmazonLinux <-> Amazon Linux)

検証

start(サービス起動時にトンネルを張る)

設定ファイル

auto=start
...

設定反映/確認

# strongswan restart
# strongswan status
Security Associations (1 up, 0 connecting):
      oregon[1]: ESTABLISHED 5 seconds ago, 10.31.1.185[10.31.1.185]...x.x.x.x[10.77.1.210]
      oregon{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: c7cf7e98_i ca49bb0c_o
      oregon{1}:   10.31.0.0/16 === 10.77.0.0/16

route(通信が開始されたと時にトンネルを張る)

設定ファイル

auto=route
...

設定反映/確認

# strongswan restart
# strongswan status
Routed Connections:
      oregon{1}:  ROUTED, TUNNEL, reqid 1
      oregon{1}:   10.31.0.0/16 === 10.77.0.0/16
Security Associations (0 up, 0 connecting):
  none

まだ通信をしていないので、トンネルが張れてない状態です。pingをしてみます。

ping -c 3 10.77.1.210
PING 10.77.1.210 (10.77.1.210) 56(84) bytes of data.
64 bytes from 10.77.1.210: icmp_seq=1 ttl=255 time=103 ms
64 bytes from 10.77.1.210: icmp_seq=2 ttl=255 time=103 ms
64 bytes from 10.77.1.210: icmp_seq=3 ttl=255 time=104 ms

再びトンネルの状態を確認します。

# strongswan status
Routed Connections:
      oregon{1}:  ROUTED, TUNNEL, reqid 1
      oregon{1}:   10.31.0.0/16 === 10.77.0.0/16
Security Associations (1 up, 0 connecting):
      oregon[1]: ESTABLISHED 63 seconds ago, 10.31.1.185[10.31.1.185]...x.x.x.x[10.77.1.210]
      oregon{2}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: cf8176b4_i c8c2e0b9_o
      oregon{2}:   10.31.0.0/16 === 10.77.0.0/16

pingによってICMPパケットが送信されたため、通信が開始されたことになるのでトンネルが張られています。

add(設定ファイルをロードする。接続は手動で行う)

設定ファイル

auto=add
...

設定反映/確認

# strongswan restart
# strongswan status
Security Associations (0 up, 0 connecting):
  none

手動でトンネルを張ります。

最終行に”established successfully”と表示されれば問題なくトンネルが張れています。

# strongswan up oregon
initiating Main Mode IKE_SA oregon[1] to x.x.x.x
generating ID_PROT request 0 [ SA V V V V ]
sending packet: from 10.31.1.185[500] to x.x.x.x[500] (216 bytes)
received packet: from x.x.x.x[500] to 10.31.1.185[500] (136 bytes)
parsed ID_PROT response 0 [ SA V V V ]
received XAuth vendor ID
received DPD vendor ID
received NAT-T (RFC 3947) vendor ID
generating ID_PROT request 0 [ KE No NAT-D NAT-D ]
sending packet: from 10.31.1.185[500] to x.x.x.x[500] (244 bytes)
received packet: from x.x.x.x[500] to 10.31.1.185[500] (244 bytes)
parsed ID_PROT response 0 [ KE No NAT-D NAT-D ]
local host is behind NAT, sending keep alives
remote host is behind NAT
generating ID_PROT request 0 [ ID HASH N(INITIAL_CONTACT) ]
sending packet: from 10.31.1.185[4500] to  x.x.x.x[4500] (108 bytes)
received packet: from  x.x.x.x[4500] to 10.31.1.185[4500] (76 bytes)
parsed ID_PROT response 0 [ ID HASH ]
IKE_SA oregon[1] established between 10.31.1.185[10.31.1.185]...x.x.x.x[10.77.1.210]
scheduling reauthentication in 27899s
maximum IKE_SA lifetime 28439s
generating QUICK_MODE request 2935009511 [ HASH SA No ID ID ]
sending packet: from 10.31.1.185[4500] to x.x.x.x[4500] (204 bytes)
received packet: from x.x.x.x[4500] to 10.31.1.185[4500] (188 bytes)
parsed QUICK_MODE response 2935009511 [ HASH SA No ID ID ]
connection 'oregon' established successfully

トンネル状態

# strongswan status
Security Associations (1 up, 0 connecting):
      oregon[3]: ESTABLISHED 8 seconds ago, 10.31.1.185[10.31.1.185]...x.x.x.x[10.77.1.210]
      oregon{3}:  INSTALLED, TUNNEL, reqid 3, ESP in UDP SPIs: c78d2a71_i cb1cc4e1_o
      oregon{3}:   10.31.0.0/16 === 10.77.0.0/16

ignore(設定ファイルを無視する。トンネルを意図的に張らないようにする設定。)

設定ファイル

auto=ignore
...

設定反映/確認

# strongswan restart
# strongswan status
Security Associations (0 up, 0 connecting):
 none

設定ファイルを読み込まないので、手動でトンネルを張ろうと試みるも、コンフィグが無いと怒られます。

# strongswan up oregon
no config named 'oregon'

 

以上