2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Proxmox環境】VyOS間でIPv6 GRE over IPsecを構築してみた記録

Last updated at Posted at 2025-02-08

はじめに

これが初めてのQiitaでの記事になります。
今回は、最近導入したProxmox環境を使用してVyOS間でIPv6 GRE over IPsecを構築したので勉強メモとして記事を書いてみました。

環境

環境は以下の通りです。

OS ホスト名 目的
VyOS 1.5 Vyos-RT1 設定の検証用
VyOS 1.5 Vyos-RT2 設定の検証用
ubuntu22.04 desktop ---------- Wiresharkでパケット見る用

環境構築手順

1.VyOS isoの入手

こちらよりvyos-1.5-rolling-202502030007-generic-amd64.isoを取得します。

2.Proxmoxへのアップロード

以下の順で行います。
まず、isoファイルをアップロードします。

スクリーンショット 2025-02-08 21.51.58.png

3.VM作成

次に、Create VMボタンからVMを作成し、ISO imageはアップロードしたやつを選びましょう。そのほかはデフォルトのままで大丈夫です。

スクリーンショット 2025-02-08 21.53.09.png
スクリーンショット 2025-02-08 21.54.00.png

4.起動

startボタンを押下し、無事に起動できると以下のようになります。
以下でログインします。
login:vyos
pass:vyos

スクリーンショット 2025-02-08 21.59.31.png

その後の設定は以下を参考ください。

5.vmbrの作成

最後にvmbrを作成します。これは、VyOS同士を繋げるケーブルにみたいな認識で大丈夫です。(誰かに怒られそうだな、、、)
とりあえず、このままCreateします。そして、Apply Configurationを押下します。最後に、作成したvmbrをVyOS-RTに割り当てます。これで、VyOS上でeth??として認識されるはずです。(show interfacesで確認可能です)

スクリーンショット 2025-02-08 22.02.19.png

スクリーンショット 2025-02-08 22.07.20.png

論理構成

論理構成は以下の通りです。
スクリーンショット 2025-02-08 17.09.29.png

今回、パケットがIPsecによって暗号化されているかを確認するためにUbuntu(Bridge)を挿入しました。ブリッジ化に使用したコマンド以下の通りです。

ブリッジ化コマンド
sudo ip link add br0 type bridge
sudo ip link set ens19 master br0
sudo ip link set ens20 master br0
sudo ip link set dev ens19 promisc on
sudo ip link set dev ens20 promisc on
sudo ip link set br0 up
sudo ip link set ens19 up
sudo ip link set ens20 up

目的

  • Vyos-RT1<->VyosRT2間でGREトンネルをはり、OSPFv3を使用してULA(ユニークローカルアドレス)の経路を広告し合うこと
  • fd00:1::/64 <-> fd00:2::/64 のパケットをIPsecで暗号化すること

GREの設定

GREの設定をはじめに行い、GREでカプセル化されているかを確認します。設定自体はそれほど難しくありませんが、encapsulation gre ではなく encapsulation ip6gre を行わないと、IPv4アドレスなくないすか?となりますのでご注意ください。
(IPv4でカプセル化したい場合は、IPv4アドレスを設定しgreで指定してください)

Vyos-RT1
#トンネルで使用する実インターフェイスのipv6アドレス
set interfaces tunnel tun1 source-address 2001::1/64
set interfaces tunnel tun1 remote 2001::2/64

#トンネルのipv6アドレス
set interfaces tunnel address fd00::1/64

#gre設定(ipv6使用)
set interfaces tunnel encapsulation ip6gre
Vyos-RT2
set interfaces tunnel tun1 source-address 2001::2/64
set interfaces tunnel tun1 remote 2001::1/64
set interfaces tunnel address fd00::2/64
set interfaces tunnel encapsulation ip6gre
set set protocols static route6 fd00:1::/64 next-hop fd00::1

Vyos-RT1からfd00::2へpingで疎通確認

スクリーンショット 2025-02-08 18.11.43.png
⇧画像より、ICMPv6パケットがGREでカプセル化されていることが確認できる。

IPsec+OSPFv3の設定

ここでは、以下のポリシーに合わせて設定を行いました。
IKEポリシー

設定項目 設定内容
hash sha256
encryption aes256
DH Group 14
authentication preshared-key (pass:vyos)

ESPポリシー

設定項目 設定内容
hash sha256
encryption aes256
Vyos-RT1
##IPsecの設定
#IKE設定
set vpn ipsec ike-group IKE-Policy proposal 1 hash sha256
set vpn ipsec ike-group IKE-Policy proposal 1 encryption aes256
set vpn ipsec ike-group IKE-Policy proposal 1 dh-group 14


#ESP設定
set vpn ipsec esp-group ES-Policy proposal 1 hash sha256
set vpn ipsec esp-group ES-Policy proposal 1 encryption aes256


#事前鍵設定
set vpn ipsec authentication psk Peer-RT2 secret vyos
set vpn ipsec authentication psk Peer-RT2 id 2001::1
set vpn ipsec authentication psk Peer-RT2 id 2001::2


#認証設定
set vpn ipsec site-to-site peer Peer-RT2 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer Peer-RT2 authentication local-id 2001::1
set vpn ipsec site-to-site peer Peer-RT2 authentication remote-id 2001::2

#実インターフェイスのIPv6指定
set vpn ipsec site-to-site peer Peer-RT2 local-address 2001::1
set vpn ipsec site-to-site peer Peer-RT2 remote-addresss 2001::2

#IKEを適用
set vpn ipsec site-to-site peer Peer-RT2 ike-group IKE-Policy

#トンネルへの設定反映
set vpn ipsec site-to-site peer Peer-RT2 tunnel 1 esp-group ES-Policy

#暗号化対象のプリフィックス指定
set vpn ipsec site-to-site peer Peer-RT2 tunnel local prefix fd00:1::/64
set vpn ipsec site-to-site peer Peer-RT2 tunnel remote prefix fd00:2::/64


#OSPFv3の設定
set protocols ospfv3 interface tun1 area 0
set protocols ospfv3 interface lo area 0

Vyos-RT2
##IPsecの設定
#IKE設定
set vpn ipsec ike-group IKE-Policy proposal 1 hash sha256
set vpn ipsec ike-group IKE-Policy proposal 1 encryption aes256
set vpn ipsec ike-group IKE-Policy proposal 1 dh-group 14


#ESP設定
set vpn ipsec esp-group ES-Policy proposal 1 hash sha256
set vpn ipsec esp-group ES-Policy proposal 1 encryption aes256


#事前鍵設定
set vpn ipsec authentication psk Peer-RT1 secret vyos
set vpn ipsec authentication psk Peer-RT1 id 2001::2
set vpn ipsec authentication psk Peer-RT1 id 2001::1


#認証設定
set vpn ipsec site-to-site peer Peer-RT1 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer Peer-RT1 authentication local-id 2001::2
set vpn ipsec site-to-site peer Peer-RT1 authentication remote-id 2001::1

#実インターフェイスのIPv6指定
set vpn ipsec site-to-site peer Peer-RT1 local-address 2001::2
set vpn ipsec site-to-site peer Peer-RT1 remote-addresss 2001::1

#IKEを適用
set vpn ipsec site-to-site peer Peer-RT1 ike-group IKE-Policy

#トンネルへの設定反映
set vpn ipsec site-to-site peer Peer-RT1 tunnel 1 esp-group ES-Policy

#暗号化対象のプリフィックス指定
set vpn ipsec site-to-site peer Peer-RT1 tunnel local prefix fd00:2::/64
set vpn ipsec site-to-site peer Peer-RT1 tunnel remote prefix fd00:1::/64


#OSPFv3の設定
set protocols ospfv3 interface tun1 area 0
set protocols ospfv3 interface lo area 0

結果

IKE SAの確認

show vpn ike sa

show vpn ike saより、ルータ間でIKE SAが確立されていることがわかる。

スクリーンショット 2025-02-08 20.35.53.png

スクリーンショット 2025-02-08 20.39.31.png

IPsec SAの確認

show vpn ipsec sa

show vpn ipsec saより、IPsec SAが確立されていることがわかる。

スクリーンショット 2025-02-08 20.44.08.png

スクリーンショット 2025-02-08 20.43.38.png

GREの確認

show interfaces tuunel tun1

show interfaces tunnel tun1より、GREトンネルが確立されていることがわかる。

スクリーンショット 2025-02-08 20.47.54.png

スクリーンショット 2025-02-08 20.48.29.png

OSPFv3ルート

show ipv6 ospfv3 route

show ipv6 ospfv3 routeより、OSPFv3での経路交換がうまく行っていることがわかる。また、Wiresharkでのキャプチャ結果より、HelloパケットがGREでカプセル化されていることが確認できる。

スクリーンショット 2025-02-08 20.41.02.png

スクリーンショット 2025-02-08 20.42.21.png

スクリーンショット 2025-02-08 21.02.36.png

fd00:1::1/64 から fd00:2::1/64 へping

ping fd00:2::1 source-address fd00:1::1を行った結果より、疎通できていることが確認できた。またWiresharkでのキャプチャ結果より、ICMPv6パケットが暗号化されていることも確認できた。以上より、GRE over IPsecの設定ができていることを確認できる(多分)

スクリーンショット 2025-02-08 20.23.43.png

スクリーンショット 2025-02-08 20.25.06.png

参考資料

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?