5K Views
June 25, 24
スライド概要
Proxmox VEのSDN Simpleで隣接ノード上の仮想マシン同士を SoftEtherを使っておしゃべりさせる話 2024/06/25 @imksoo / Kirino Minato
Proxmox VE良いですよね。 ◆ みんな一家に何台か余ってるマシンをとりあえず並べて仮想化基盤を建ててますよね ◆ VMware ESXiもBroadcomになってから手に入らなったみたいです ◼ (そもそも私はVMware環境ほとんど未履修なので触り方すら知らないけど) ◆ そういうのに、Proxmox VE (PVE)ってめっちゃいいと思うんですよ、無償で使えますし Azure Stack HCIも良いよね……コア数課金じゃ無かったら使ってる ◼ Azure Stack Hub Development Kit (ASDK)も便利だったよね、数ヶ月ごとに入れ直す苦行が無ければ ◼ KubeVirtもそのうち……CephとかNFSとか永続化ストレージをどこまで信用できるか問題があるけど ◼ ◆ PVE 8.1になってからSoftware-Defined Networkの機能が追加されてもっと便利に 今までだったらVLAN作って、L3スイッチ側でポート/トランクを設定して、ルーティング追加して…… ◼ SimpleゾーンだったらPVEの中で完結してサクッと作れてほんと便利 ◼ ↑ただし、別な物理ホスト(隣接ノード)上の仮想マシン同士が接続できない☆ ◼ 2
INTERNET WatchにもPVEの話が ◆ 清水理史の「イニシャルB」 Proxmox VE 8.1で標準搭載になったSDNを試す〜EVPNゾーンを使って仮想マシン間で通信させてみた ◼ https://internet.watch.impress.co.jp/docs/column/shimizu/1585271.html ◼ Simpleゾーンでは、異なるノードの仮想マシン同士は通信できない 3
やりたいこと ◆ PVE 8.1のSoftware-Defined Networkの手軽さを生かしたい 同梱されているIPAMやDHCPの機能はそのまま使いたい ◼ 外向け(インターネット)のデフォルトゲートウェイはそのまま使いたい ◼ – 仮想マシンが動いている、物理ホストのIPアドレスに直接マスカレード(SNAT)されて出て行く構成 仮想マシン同士でそこまでスループット求めないで良い ◼ 外部のネットワーク機器などは頼らない構成にしたい ◼ – 大規模仮想化基盤だとEVPN+VXLANが常道になってるけども、うちのPVEでそこまでは求めてない ◆ SoftEtherの仮想HUB+カスケード接続で仮想的にセグメントを繋げてしまえ! SoftEtherは無償で利用可能 ◼ 物理ノードごとに1台ずつSoftEtherのブリッジサーバーを置くだけ ◼ 4
構成図 ブリッジ接続 NICは2個に分ける SoftEther Local Network (Bridge) VM1 Simple Zone Network (SDN) SoftEther Local Network (Bridge) PVE Node1 VM2 Simple Zone Network (SDN) PVE Node2 SoftEther Local Network (Bridge) VM3 Simple Zone Network (SDN) PVE Node3 Default Gateway向けの通信は SoftEtherでは吸い取らない※ ※次ページに設定の詳細を記載 SoftEther カスケード接続 隣接ノード間の通信は一度必ず上位の SoftEtherのカスケード接続に入ってくる 5
SoftEtherの構成ポイント ◆ SoftEtherサーバーでカスケード接続するNICと、ブリッジ接続するNICは別々に分ける ◆ 既定のままだとデフォルトゲートウェイ向けの通信も吸い取ってしまう ◼ ApplyIPv4AccessListOnArpPacket=1をセットすることで IPv4のアクセスリストの設定に従って、ARPパケットの応答にもフィルタリングがかかるようになる 6
外向けインターネット通信は速いまま ◆ おまけ 7