Vyatta(VyOS) IPsec設定 基礎編

スポンサーリンク

Vyatta(VyOS)で、IPsecの設定方法をまとめます。IPsecは「GRE等のトンネルを経由する通信を暗号化する手法」と「VTI(Virtual Tunnel Interfaceを使用する方法」があります。最近では後者の設定例を見る事が多くなりましたが、歴史的な経緯を把握する意味で両者の設定手法を紹介します。

設定まとめ

IKE

以下コマンドでIKEのDHグループ, 暗号化アルゴリズム, ハッシュアルゴリズムを指定できます。

set vpn ipsec ike-group <グループ名> proposal <番号> dh-group <DHグループ>
set vpn ipsec ike-group <グループ名> proposal <番号> encryption <暗号化アルゴリズム>
set vpn ipsec ike-group <グループ名> proposal <番号> hash <ハッシュアルゴリズム>

以下のコマンドでIKEのライフタイムを指定できます。指定省略時は28800秒です。

set vpn ipsec ike-group <グループ名> lifetime <秒指定>

以下のコマンドでIKEをmain modeで動作させるかaggressive modeで動作させるかを指定できます。

main modeはID含めて暗号化されるモードでグローバルIPアドレスが固定の場合に使用可能です。aggressive modeはIDは暗号化されないモードで片方のグローバルIPアドレスが不定の場合に使用できます。指定省略時はmain modeになります。

set vpn ipsec ike-group <グループ名> mode {main|aggressive}

ESP

以下コマンドでESPの暗号化アルゴリズム, ハッシュアルゴリズムを指定できます。

set vpn ipsec esp-group <グループ名> proposal 1 encryption <暗号化アルゴリズム>
set vpn ipsec esp-group <グループ名> proposal 1 hash <ハッシュアルゴリズム>

以下のコマンドでESPのライフタイムを指定できます。指定省略時は3600秒です。

set vpn ipsec esp-group <グループ名> lifetime <秒指定>

IPsecをtunnel modeで動作させるかtransport modeで動作させるかを指定します。tunnel modeは文字通りトンネルとして動作させるモードでルータ間でトンネルを確立します。transport modeはホスト間で暗号化するモードでIPヘッダ含めて暗号化されるメリットがあります。

指定省略時はtunnel modeになります。おそらくVyattaはネットワーク機器間でのVPNを実装する事が多いと思いますので、殆どの場合はtunnel modeになるでしょう。

set vpn ipsec esp-group <グループ名> mode {tunnel|transport}

認証方法

以下のコマンドで、対向機器を認証する方法を指定できます。指定方法は事前共有鍵, RSA, x509から選ぶ事ができます。

set vpn ipsec site-to-site peer <IPアドレス> authentication mode {pre-shared-secret|rsa|x509}

以下のコマンドで、事前共有鍵を指定します。

set vpn ipsec site-to-site peer <対向IPアドレス> authentication pre-shared-secret <鍵文字列>

VTIを使用しない場合の設定例

VTIを使用しない場合は、以下コマンドのように対向とのIPsecを確立します。

set vpn ipsec site-to-site peer <対向IPアドレス> local-address <自身IPアドレス>
set vpn ipsec site-to-site peer <対向IPアドレス> ike-group <IKEグループ名>
set vpn ipsec site-to-site peer <対向IPアドレス> tunnel <番号> esp-group <ESPグループ名>

VTIを使用しない場合は、以下コマンドで暗号化対象を指定できます。対象はIPアドレスやプロトコル番号で指定する事ができます。

set vpn ipsec site-to-site peer <対向IPアドレス> tunnel <番号> local prefix <送信元プレフィックス>
set vpn ipsec site-to-site peer <対向IPアドレス> tunnel <番号> remote prefix <宛先プレフィックス>
set vpn ipsec site-to-site peer <対向IPアドレス> tunnel <番号> protocol <プロトコル>

VTIを使用する場合の設定例

以下コマンドでVTIインターフェースを作成できます。

set interfaces vti <VTIインターフェース名> address <IPアドレス>

VTIを使用する場合は、以下コマンドのように対向とのIPsecを確立します。

set vpn ipsec site-to-site peer <対向IPアドレス> local-address <自身IPアドレス>
set vpn ipsec site-to-site peer <対向IPアドレス> ike-group <IKEグループ名>
set vpn ipsec site-to-site peer <対向IPアドレス> vti esp-group <ESPグループ名>
set vpn ipsec site-to-site peer <対向IPアドレス> vti bind <VTIインターフェース名>

動作確認

動作確認の構成

以下の環境で動作確認を行います。

+-----------------------+
|        host100        |
|                       |
+-----------+-----------+
     ens224 | .100
            | 
            | 192.168.100.0/24
            | 
       eth0 | .1
+-----------+-----------+
|         vy001         |
| Lo:200.1.1.1/32       |
+-----------+-----------+
       eth1 | .1 
            | 
            | 200.0.12.0/24
            | 
       eth0 | .2
+-----------+-----------+
|         vy002         |
| Lo:200.2.2.2/32       |
+-----------+-----------+
       eth1 | .2
            | 
            | 200.0.23.0/24
            | 
       eth0 | .3
+-----------+-----------+
|         vy003         |
| Lo:200.3.3.3/32       |
+-----------+-----------+
       eth1 | .1
            | 
            | 192.168.200.0/24
            | 
     ens224 | .200
+-----------+-----------+
|        host200        |
|                       |
+-----------------------+

初期設定

IPv4アドレスとIPv6アドレスは付与済とします。vy001, vy002, vy003の間はOSPFで互いに経路を交換しているものとします。

host100 : Rocky Linux 8.4
[root@host100 ~]# ip address 

 <omitted>

3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:8e:96:66 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.100/24 brd 192.168.100.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 2001:db8:100::100/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::8813:7d0:ffd3:2c04/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
host200 : Rocky Linux 8.4
[root@host200 ~]# ip address 

 <omitted>

3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:8e:83:9b brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.200/24 brd 192.168.200.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 2001:db8:200::200/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::5fb3:768b:ed49:2f24/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
vy001 : VyOS 1.4
set interfaces ethernet eth0 address '192.168.100.1/24'
set interfaces ethernet eth0 hw-id '00:50:56:8e:74:ec'
set interfaces ethernet eth1 address '200.0.12.1/24'
set interfaces ethernet eth1 hw-id '00:50:56:8e:3a:92'
set interfaces loopback lo address '200.1.1.1/32'
set protocols ospf area 0 network '200.0.12.0/24'
set protocols ospf area 0 network '200.1.1.1/32'
set service ssh
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'vy001'
set system login user vyos authentication encrypted-password '$6$zYTPVWgiXCYwqR4k$VP3ph1IH9VU6eJdSfnfWzKtfobXlS2qXd4YNgYWPKvWoDPdxlgEqP78IvHixH52X7DAtt5blGjTX97eXxVZYb0'
set system ntp server time1.vyos.net
set system ntp server time2.vyos.net
set system ntp server time3.vyos.net
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'
vy002 : VyOS 1.4
set interfaces ethernet eth0 address '200.0.12.2/24'
set interfaces ethernet eth0 hw-id '00:50:56:8e:45:5e'
set interfaces ethernet eth1 address '200.0.23.2/24'
set interfaces ethernet eth1 hw-id '00:50:56:8e:5e:c2'
set interfaces loopback lo address '200.2.2.2/32'
set protocols ospf area 0 network '200.0.12.0/24'
set protocols ospf area 0 network '200.0.23.0/24'
set protocols ospf area 0 network '200.2.2.2/32'
set service ssh
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'vy002'
set system login user vyos authentication encrypted-password '$6$/asgxjH0KMjOXjpU$KW3GLcvtbyNl8o7/KNAvp0XFLq4OQtICnptLCfaDSlaWPbdGwjYvnb8qlYuOm6qNymwh7OApA2ew48v8F3wJp/'
set system ntp server time1.vyos.net
set system ntp server time2.vyos.net
set system ntp server time3.vyos.net
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'
vy003 : VyOS 1.4
set interfaces ethernet eth0 address '200.0.23.3/24'
set interfaces ethernet eth0 hw-id '00:50:56:8e:01:93'
set interfaces ethernet eth1 address '192.168.200.1/24'
set interfaces ethernet eth1 hw-id '00:50:56:8e:fd:95'
set interfaces loopback lo address '200.3.3.3/32'
set protocols ospf area 0 network '200.0.23.0/24'
set protocols ospf area 0 network '200.3.3.3/32'
set service ssh
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'vy003'
set system login user vyos authentication encrypted-password '$6$QxPS.uk6mfo$9QBSo8u1FkH16gMyAVhus6fU3LOzvLR9Z9.82m3tiHFAxTtIkhaZSWssSgzt4v4dGAL8rhVQxTg0oAG9/q11h/'
set system login user vyos authentication plaintext-password ''
set system ntp server time1.vyos.net
set system ntp server time2.vyos.net
set system ntp server time3.vyos.net
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'

動作確認 (1) 暗号化のみのIPsec

IPsecと言うとVPNを想像する方が多いかと思いますが、IPSecは暗号化のみの規格です。実運用ではトンネルとIPsecを併用する事が多いため、VPNとのイメージが広まっている実情があります。まずは、仕様理解のために暗号化のみの設定をしてみましょう。

IKEプロポーザル

IPsecを確立する機器同士で、IKEに使用するパラメタを定義します。互いにパラメタを提案し、一致するものがあれば、IKEが確立されます。

このシナリオでは簡略する化するために、vy001とvy003に同じパラメタを投入します。提案するパラメタには「MyIKEGroup」という名前を付けますが、この名前は分かりやすい任意の名前で差し支えございません。

[vy001:VyOS1.4]
set vpn ipsec ike-group MyIKEGroup proposal 1 dh-group '2'
set vpn ipsec ike-group MyIKEGroup proposal 1 encryption 'aes128'
set vpn ipsec ike-group MyIKEGroup proposal 1 hash 'sha1'

[vy003:VyOS1.4]
set vpn ipsec ike-group MyIKEGroup proposal 1 dh-group '2'
set vpn ipsec ike-group MyIKEGroup proposal 1 encryption 'aes128'
set vpn ipsec ike-group MyIKEGroup proposal 1 hash 'sha1'

ESPプロポーザル

IPsecを確立する機器同士で、ペイロード暗号化に使用するパラメタを定義します。互いにパラメタを提案し、一致するものがあれば、IKEが確立されます。

このシナリオでは簡略する化するために、vy001とvy003に同じパラメタを投入します。提案するパラメタには「MyESPGroup」という名前を付けますが、この名前は分かりやすい任意の名前で差し支えございません。

[vy001:VyOS1.4]
set vpn ipsec esp-group MyESPGroup proposal 1 encryption 'aes128'
set vpn ipsec esp-group MyESPGroup proposal 1 hash 'sha1'

[vy003:VyOS1.4]
set vpn ipsec esp-group MyESPGroup proposal 1 encryption 'aes128'
set vpn ipsec esp-group MyESPGroup proposal 1 hash 'sha1'

IPsecの確立

IPsecを確立するIPアドレスや事前共有鍵などを設定します。

[vy001:VyOS1.4]
set vpn ipsec site-to-site peer 200.0.23.3 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 200.0.23.3 authentication pre-shared-secret 'SomePreSharedKey'
set vpn ipsec site-to-site peer 200.0.23.3 ike-group 'MyIKEGroup'
set vpn ipsec site-to-site peer 200.0.23.3 local-address '200.0.12.1'
set vpn ipsec site-to-site peer 200.0.23.3 tunnel 0 esp-group 'MyESPGroup'

[vy003:VyOS1.4]
set vpn ipsec site-to-site peer 200.0.12.1 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 200.0.12.1 authentication pre-shared-secret 'SomePreSharedKey'
set vpn ipsec site-to-site peer 200.0.12.1 ike-group 'MyIKEGroup'
set vpn ipsec site-to-site peer 200.0.12.1 local-address '200.0.23.3'
set vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 esp-group 'MyESPGroup'

ここまでの設定をすると、IKEとESPのネゴシエーションが開始されます。IKEのネゴシエーションに成功したかどうかを確認するには以下のコマンドを使用します。Stateがupとなっていれば正常です。

[vy001:VyOS1.4]
vyos@vy001:~$ show vpn ike sa 
Peer ID / IP                            Local ID / IP               
------------                            -------------
200.0.23.3 200.0.23.3                   200.0.12.1 200.0.12.1                  

    State  IKEVer  Encrypt      Hash          D-H Group      NAT-T  A-Time  L-Time
    -----  ------  -------      ----          ---------      -----  ------  ------
    up     IKEv2   AES_CBC_128  HMAC_SHA1_96  MODP_1024      no     8       0      

vyos@vy001:~$ 

ESPのネゴシエーションに成功したかどうかを確認するには以下のコマンドを使用します。Stateがupとなっていれば正常です。

[vy001:VyOS1.4]
vyos@vy001:~$ show vpn ipsec sa 
Connection                State    Uptime    Bytes In/Out    Packets In/Out    Remote address    Remote ID    Proposal
------------------------  -------  --------  --------------  ----------------  ----------------  -----------  ------------------------
peer_200-0-23-3_tunnel_0  up       4m15s     0B/0B           0/0               200.0.23.3        N/A          AES_CBC_128/HMAC_SHA1_96
vyos@vy001:~$ 

暗号化対象の定義

IPsecは暗号化する対象を定義する事ができます。全てを暗号化してしまえば負荷上昇にもなりますし、直接接続された機器とのルーティングプロトコルまで暗号化してしまえば疎通不能になります。そのため、暗号化する対象を明示指定する必要があります。

動作確認のため、vy001のloopback(200.1.1.1)とvy003のloopback(200.3.3.3)の間の通信のみを暗号化してみましょう。

[vy001:VyOS1.4]
set vpn ipsec site-to-site peer 200.0.23.3 tunnel 0 local prefix '200.1.1.1/32'
set vpn ipsec site-to-site peer 200.0.23.3 tunnel 0 remote prefix '200.3.3.3/32'

[vy003:VyOS1.4]
set vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 local prefix '200.3.3.3/32'
set vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 remote prefix '200.1.1.1/32'

予めパケットキャプチャを仕込んだ状態で、vy001からvy003へpingを実行します。1つはeth1を送信元とし、もう1つはloopbackを送信元とします。IPsecが正常に効いているならば、後者のみが暗号化されているはずです。

[vy001:VyOS1.4]
vyos@vy001:~$ ping 200.0.23.3 count 3
PING 200.0.23.3 (200.0.23.3) 56(84) bytes of data.
64 bytes from 200.0.23.3: icmp_seq=1 ttl=63 time=0.819 ms
64 bytes from 200.0.23.3: icmp_seq=2 ttl=63 time=0.741 ms
64 bytes from 200.0.23.3: icmp_seq=3 ttl=63 time=0.680 ms

--- 200.0.23.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.680/0.746/0.819/0.056 ms
vyos@vy001:~$ 
vyos@vy001:~$ 
vyos@vy001:~$ ping 200.3.3.3 interface 200.1.1.1 count 3
PING 200.3.3.3 (200.3.3.3) from 200.1.1.1 : 56(84) bytes of data.
64 bytes from 200.3.3.3: icmp_seq=1 ttl=64 time=0.941 ms
64 bytes from 200.3.3.3: icmp_seq=2 ttl=64 time=0.793 ms
64 bytes from 200.3.3.3: icmp_seq=3 ttl=64 time=0.918 ms

--- 200.3.3.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2024ms
rtt min/avg/max/mdev = 0.793/0.884/0.941/0.065 ms
vyos@vy001:~$ 

パケットキャプチャの結果を確認します。前者は平文でicmpと表示され、後者はESPと暗号化されているのが分かります。

Vyatta IPsecの観察

動作確認 (2) GRE over IPSec

一般的にはIPsecはトンネルと併用され、暗号化されたVPNを実現するために使用されるのをよく見ます。以下、GREとの併用例を紹介します。なお、GREは一例であり、カプセル化手法はIPIPやIP6IP6など任意の方法を採用できます。

トンネルの設定

vy001とvy003の間でGREトンネルを確立します。さらに、host100とhost200が互いに疎通可能になるように、ダイナミックルーティングを設定します。

[vy001:VyOS1.4]
set interfaces tunnel tun0 address '192.168.13.1/24'
set interfaces tunnel tun0 encapsulation 'gre'
set interfaces tunnel tun0 remote '200.3.3.3'
set interfaces tunnel tun0 source-address '200.1.1.1'
set protocols bgp address-family ipv4-unicast network 192.168.100.0/24
set protocols bgp local-as '65000'
set protocols bgp neighbor 192.168.13.3 remote-as '65000'

[vy003:VyOS1.4]
set interfaces tunnel tun0 address '192.168.13.3/24'
set interfaces tunnel tun0 encapsulation 'gre'
set interfaces tunnel tun0 remote '200.1.1.1'
set interfaces tunnel tun0 source-address '200.3.3.3'
set protocols bgp address-family ipv4-unicast network 192.168.200.0/24
set protocols bgp local-as '65000'
set protocols bgp neighbor 192.168.13.1 remote-as '65000'

トンネルが確立された事を確認するため、vy001とvy003の間でトンネル経由のping疎通が可能である事を確認します。

[vy001:VyOS1.4]
vyos@vy001:~$ ping 192.168.13.3 count 3
PING 192.168.13.3 (192.168.13.3) 56(84) bytes of data.
64 bytes from 192.168.13.3: icmp_seq=1 ttl=64 time=0.679 ms
64 bytes from 192.168.13.3: icmp_seq=2 ttl=64 time=0.784 ms
64 bytes from 192.168.13.3: icmp_seq=3 ttl=64 time=0.712 ms

--- 192.168.13.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2066ms
rtt min/avg/max/mdev = 0.679/0.725/0.784/0.043 ms
vyos@vy001:~$ 

暗号化対象の定義

実は、以上でVPNの設定が完了しています。しかし、ここでやや便利な設定を紹介します。

前述の設定では、送信元IPアドレスと宛先IPアドレスで暗号化の対象を定義していますが、プロトコルでも暗号化対象を定義する事ができます。以下のようにgreのみを暗号化するように設定すると、設定をシンプル化する事ができます。

[vy001:VyOS1.4]
delete vpn ipsec site-to-site peer 200.0.23.3 tunnel 0 local prefix '200.1.1.1/32'
delete vpn ipsec site-to-site peer 200.0.23.3 tunnel 0 remote prefix '200.3.3.3/32'

[vy003:VyOS1.4]
delete vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 local prefix '200.3.3.3/32'
delete vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 remote prefix '200.1.1.1/32'
set vpn ipsec site-to-site peer 200.0.12.1 tunnel 0 protocol gre

疎通確認

host100からhost200へ疎通可能である事を確認します。

[host100:RockyLinux8.4]
[root@host100 ~]# ping 192.168.200.200 -c 3
PING 192.168.200.200 (192.168.200.200) 56(84) bytes of data.
64 bytes from 192.168.200.200: icmp_seq=1 ttl=62 time=1.77 ms
64 bytes from 192.168.200.200: icmp_seq=2 ttl=62 time=1.53 ms
64 bytes from 192.168.200.200: icmp_seq=3 ttl=62 time=1.65 ms

--- 192.168.200.200 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 1.532/1.649/1.767/0.101 ms
[root@host100 ~]# 

設定削除

次の検証シナリオに備えて、今まで投入した設定を削除します。

[vy001:VyOS1.4]
delete interfaces tunnel
delete protocols bgp
delete vpn ipsec

[vy003:VyOS1.4]
delete interfaces tunnel
delete protocols bgp
delete vpn ipsec

動作確認 (3) VTI(virtual tunnel interface)

IPsecはVTI(virtual tunnel interface)を介した接続が可能です。VTI(virtual tunnel interface)は、IPsecが確立される機器間で確立されるトンネルです。

前述の設定に比べると、トンネル確立の手間や暗号化対象の指定などの設定を省略する事ができ、やや簡潔に設定をする事ができます。

VTIの作成

vy001とvy003にVTIを作成します。

[vy001:VyOS1.4]
set interfaces vti vti10 address 192.168.13.1/24

[vy003:VyOS1.4]
set interfaces vti vti10 address 192.168.13.3/24

IPsec設定

VTIを使用する場合は以下のようにIPsecを設定します。暗号化の対象を定義する必要はなく、トンネルを経由したものが自動的に暗号化されます。

[vy001:VyOS1.4]
set vpn ipsec esp-group MyESPGroup proposal 1 encryption 'aes128'
set vpn ipsec esp-group MyESPGroup proposal 1 hash 'sha1'
set vpn ipsec ike-group MyIKEGroup proposal 1 dh-group '2'
set vpn ipsec ike-group MyIKEGroup proposal 1 encryption 'aes128'
set vpn ipsec ike-group MyIKEGroup proposal 1 hash 'sha1'
set vpn ipsec site-to-site peer 200.0.23.3 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 200.0.23.3 authentication pre-shared-secret 'SomePreSharedKey'
set vpn ipsec site-to-site peer 200.0.23.3 ike-group 'MyIKEGroup'
set vpn ipsec site-to-site peer 200.0.23.3 local-address '200.0.12.1'
set vpn ipsec site-to-site peer 200.0.23.3 vti bind vti10
set vpn ipsec site-to-site peer 200.0.23.3 vti esp-group 'MyESPGroup'

[vy003:VyOS1.4]
set vpn ipsec esp-group MyESPGroup proposal 1 encryption 'aes128'
set vpn ipsec esp-group MyESPGroup proposal 1 hash 'sha1'
set vpn ipsec ike-group MyIKEGroup proposal 1 dh-group '2'
set vpn ipsec ike-group MyIKEGroup proposal 1 encryption 'aes128'
set vpn ipsec ike-group MyIKEGroup proposal 1 hash 'sha1'
set vpn ipsec site-to-site peer 200.0.12.1 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 200.0.12.1 authentication pre-shared-secret 'SomePreSharedKey'
set vpn ipsec site-to-site peer 200.0.12.1 ike-group 'MyIKEGroup'
set vpn ipsec site-to-site peer 200.0.12.1 local-address '200.0.23.3'
set vpn ipsec site-to-site peer 200.0.12.1 vti bind vti10
set vpn ipsec site-to-site peer 200.0.12.1 vti esp-group 'MyESPGroup'

IPsecが確立された事を確認します。

[vy001:VyOS1.4]
vyos@vy001:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP               
------------                            -------------
200.0.23.3 200.0.23.3                   200.0.12.1 200.0.12.1                  

    State  IKEVer  Encrypt      Hash          D-H Group      NAT-T  A-Time  L-Time
    -----  ------  -------      ----          ---------      -----  ------  ------
    up     IKEv2   AES_CBC_128  HMAC_SHA1_96  MODP_1024      no     83      0      

vyos@vy001:~$ 
vyos@vy001:~$ 
vyos@vy001:~$ show vpn ipsec sa
Connection           State    Uptime    Bytes In/Out    Packets In/Out    Remote address    Remote ID    Proposal
-------------------  -------  --------  --------------  ----------------  ----------------  -----------  ------------------------
peer_200-0-23-3_vti  up       2m40s     204B/0B         3/0               200.0.23.3        N/A          AES_CBC_128/HMAC_SHA1_96
vyos@vy001:~$ 

IPsec設定

host100とhost200が互いに疎通可能になるように、ダイナミックルーティングを設定します。

[vy001:VyOS1.4]
set protocols bgp address-family ipv4-unicast network 192.168.100.0/24
set protocols bgp local-as '65000'
set protocols bgp neighbor 192.168.13.3 remote-as '65000'

[vy003:VyOS1.4]
set protocols bgp address-family ipv4-unicast network 192.168.200.0/24
set protocols bgp local-as '65000'
set protocols bgp neighbor 192.168.13.1 remote-as '65000'

疎通確認

host100からhost200へ疎通可能である事を確認します。

[host100:RockyLinux8.4]
[root@host100 ~]# ping 192.168.200.200 -c 3
PING 192.168.200.200 (192.168.200.200) 56(84) bytes of data.
64 bytes from 192.168.200.200: icmp_seq=1 ttl=62 time=1.68 ms
64 bytes from 192.168.200.200: icmp_seq=2 ttl=62 time=1.51 ms
64 bytes from 192.168.200.200: icmp_seq=3 ttl=62 time=1.62 ms

--- 192.168.200.200 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 1.512/1.605/1.682/0.077 ms
[root@host100 ~]# 
タイトルとURLをコピーしました