VyOSで任意のVPN接続を削除する方法

2016.12.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちわ。大阪の市田です。
今回は、VyOSのVPN接続で特定の接続だけ削除する設定についてご紹介します。

構成

今回は下記のような構成を例にします。VyOSの検証の為、VPCピアリングは利用せずにVyOSで各VPCをVPN接続しています。

vyos-delete-vpn-dialog

削除手順

今回は、vti0に設定しているxxxx.xxx.25.75へのVPN接続の設定を削除します。 具体的には下記のコマンドで関連した設定も削除されます。

vyos@VyOS-AMI# delete vpn ipsec site-to-site peer xxx.xxx.25.75
vyos@VyOS-AMI# delete interfaces vti vti0
vyos@VyOS-AMI# delete protocols bgp 65000 neighbor 169.254.xxx.xxx

削除したら設定を反映して保存しておきます。反映するだけで削除されますので、既存接続に対する通信断などは発生しません。

vyos@VyOS-AMI# commit
vyos@VyOS-AMI# save

削除の確認

VPN接続が削除されたことを確認してみます。「xxx.xxx.25.75」の接続が無くなりました。
(VPCでは、1つのVPN接続で2つのトンネルが作成されるので、上記の作業で1つのトンネルだけになっています)

vyos@VyOS-AMI:~$ show vpn ip sa |strip-private
Peer ID / IP                            Local ID / IP
------------                            -------------
xxx.xxx.78.116                           xxx.xxx.1.38

    Description: VPC tunnel 2

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    vti     up     11.8K/11.3K    aes128   sha1    no     1888    3600    all

マネジメントコンソールでは削除したコネクションが「DOWN」に変わっています。 01-delete1

この状態ではVPN接続は完全には切れていないため、VPN経由でのアクセスが可能です。
同じように「xxx.xxx.78.116」の設定も削除することで、VPN接続が切れます。

もし恒久的に削除したり変更する場合は、ルートテーブルの設定も更新するようにしましょう。

元に戻す

削除した設定を再度投入します。先程の上記の3つのコマンドを実行すると下記の設定が削除されますので、削除された設定を全て投入し直す必要があります。
実際のコンフィグ内容は、VPCのマネジメントコンソールでダウンロードしたコンフィグを参照してください。同じブロックにまとめて記載されているかと思います。

set interfaces vti vti0 address '169.254.26.250/30'
set interfaces vti vti0 description 'VPC tunnel 1'
set interfaces vti vti0 mtu '1436'

set vpn ipsec site-to-site peer xxx.xxx.25.75 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer xxx.xxx.25.75 authentication pre-shared-secret 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
set vpn ipsec site-to-site peer xxx.xxx.25.75 description 'VPC tunnel 1'
set vpn ipsec site-to-site peer xxx.xxx.25.75 ike-group 'AWS'
set vpn ipsec site-to-site peer xxx.xxx.25.75 local-address '172.16.1.38'
set vpn ipsec site-to-site peer xxx.xxx.25.75 vti bind 'vti0'
set vpn ipsec site-to-site peer xxx.xxx.25.75 vti esp-group 'AWS'

set protocols bgp 65000 neighbor 169.254.xxx.xxx remote-as '10124'
set protocols bgp 65000 neighbor 169.254.xxx.xxx soft-reconfiguration 'inbound'
set protocols bgp 65000 neighbor 169.254.xxx.xxx timers holdtime '30'
set protocols bgp 65000 neighbor 169.254.xxx.xxx timers keepalive '10'

以上で、VPN接続が元に戻りました。実際にマネジメントコンソールでは下記のようにどちらもステータスが「UP」になっていることを確認します。

03-up

VyOS上でも下記のようにVPN接続が2つに戻っていることが確認できます。

vyos@VyOS-AMI:~$ show vpn ip sa |strip-private

Peer ID / IP                            Local ID / IP
------------                            -------------
xxx.xxx.25.75                           xxx.xxx.1.38

    Description: VPC tunnel 1

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    vti     up     33.3K/30.9K    aes128   sha1    no     3563    3600    all


Peer ID / IP                            Local ID / IP
------------                            -------------
xxx.xxx.78.116                           xxx.xxx.1.38

    Description: VPC tunnel 2

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    vti     up     11.8K/11.3K    aes128   sha1    no     1888    3600    all

最後に

一度VPNの設定を行うと、後で変更する機会は少ないかもしれませんが、コスト削減の為や接続先の変更などでこのような作業が発生します。
一般的なルータと同様に、コンフィグ削除&再設定という普通の流れですが、VyOSについてまとめてみました。

以上です。