雑な備忘録が多いブログ

ももクロとエビ中を推している弱いパソコンオタクです

Proxmox VE上でSoftether VPN Serverを建てるときの勘所

RTX1200のVPNの調子があまりよろしくないので何かしらVPNサーバを別で用意したいなー, とか思ってるときにバイトでSoftetherを触る機会があった.

いい機会だと思って検証環境で構築をやってみたんだが, 結構詰まって大変だったのでメモとして残しておく.

構成・環境

Proxmox VE上にCentOS7ホストを建てて, そこにSoftether Serverをいんすこしたという感じ.
サーバ側
- Proxmox VE 7.0-11
- CentOS7.9.2009
- Softether v4.34-9745

ちなみにSoftetherはリージョンロックを外してある. 方法は以下を参照.

mikolabo.net

リージョンロックを外すと, RADIUS認証やAD認証, syslogの外部送信などが出来るようになる. 通常は有償版のPacketiXでしか提供されてないらしい.

管理ツール
- Windows Server 2019
普通にインストーラを落としてきただけ.

一応クライアント側の環境
- Pop!_OS 21.10 (kernel 5.17.5)

勘所

構築の手順は検索すれば山ほど出てくるので割愛.

詰まったのはSecureNATとローカルブリッジ周りの話.
当初, CentOSホストはNICを一枚しか持っていなかった. これをローカルブリッジで仮想HUBとブリッジさせていた.
この状態では, 仮想ホストとの通信までは出来るものの, CentOSホストが存在しているセグメント内の他のホストとの通信が出来なかった.
以下の手順を踏むと, LAN内の他のホストと通信出来るようになった.

  • NICを一枚追加して, そいつのアドレスを0.0.0.0に設定
  • 既存のローカルブリッジ設定を削除, さっき追加したNICと仮想HUBをローカルブリッジする

自分の環境ではRTX1200がDHCPサーバを兼ねているのでSecureNATは切っておく必要がある.
1. クライアントが仮想HUBに接続開始
2. RTX1200がクライアントの仮想NICにアドレスを振る
3. セッション確立
の流れで通信が出来るようになった.

調べてて分かったこと

ESXiやHyper-v, Virtual Box等ではプロミスキャスモードが禁止されている場合が多く, それが原因でローカルブリッジが正常に動作しないことがあるらしい(ローカルブリッジを設定しようとすると注意画面が出てくる).
当初, プロミスキャスモード関連の問題を疑ったが, Proxmoxのスタッフが以下のように述べておりその線は消えた. forum.proxmox.com

setting the bridge-port to promiscous (up /sbin/ip link set enp3s0 promisc on) is not necessary since ifup does this anyways (else the bridge would not get all traffic for other mac-addresses)

この内容からすると, PVE上でSoftether Serverを動かすときはプロミスキャスモードには気を使わなくていい, ということらしい(多分)