2
2

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上にシンプルな好き放題できる検証用のネットワークを用意して使いたいなということで、pfSenseなどを使って試してみました。

(家のネットワークをいじるともし壊してしまったときに困るので、壊しても日常生活に影響を出さないようにしたかった)

今回やりたいこと

以下の画像のようにvmbr0に接続したVMでは家のネットワークの影響を受けてしまうので、影響が少なく、好き放題にできるネットワークを作る。

Proxmox_ネットワーク構成.jpg

作り方

まず、ISOを公式HPからダウンロードする。

とくにこだわりがなければ、「AMD64 ISO IPMI/Virtual Machines」を選択するとISOがダウンロードでき、Proxmoxでも使いやすいと思います。

ダウンロードしたISOを使ってVMを作っていきます。

公式HPには

  • 64 ビット amd64 (x86-64) 互換 CPU
  • 1GB以上のRAM
  • 8 GB 以上のディスクドライブ (SSD、HDD など)
  • 1 つ以上の互換性のあるネットワーク インターフェイス カード
  • 初期インストール用の起動可能なUSBドライブまたは大容量光学ドライブ(DVDまたはBD)

となっているので、参考にしたらいいと思います。

自分は以下のように設定しました。
ネットデバイスは、1つ目にvmbr0のネットワークを、2つ目にvmbr1のネットワークを設定してます。
スクリーンショット 2024-07-04 140346.png

実際のインストール手順は、http: //IPアドレス にアクセスして基本的にそのままでいいですが、WANの設定で以下の設定を無効にすることをお忘れなく。
スクリーンショット 2024-07-06 015221.png

vmbr0のデバイスから設定する場合

vmbr0つまりpfSense的にはWAN側からアクセスすることになるので、そのままではできません。そこで、Proxmoxのコンソールからシェル(8)で以下コマンドを実行することで、一時的にいろいろなフィルタリングを無効にできるので、最初はこれを実行して設定するようにしましょう。(vmbr1にVMおいてやっても何でもいいです。)
スクリーンショット 2024-07-06 013557.png

一時的なフィルタリングの無効化
pfctl -d
フィルタリングの有効化
pfctl -e

一時的にセキュリティが良くない状態になるので気を付けて作業してください。

次に、vmbr0(WAN)側からpfSenseのGUIにアクセスできるようにファイアウォールを設定しましょう。
Firewall > Rules > WANでルールを追加してこんな感じに設定したらいいと思います。(ログとかお好きなようんしてください。)
スクリーンショット 2024-07-06 005218.png

ファイアウォールを設定した後は、設定を反映するのをお忘れなく。
image.png

DNSについてですが、DNSの解決をpfSenseのDNSリゾルバではなく、DNSフォワーダとするように設定を変更していきます。
まず、デフォルトで有効になっているDNSリゾルバを無効にします。

Service > DNS Resolver
スクリーンショット 2024-07-06 005530.png

次にDNSフォワーダを有効にします。
Service > DNS Forwarder
スクリーンショット 2024-07-06 005831.png

これで、vmbr1からインターネットとかいろいろつながるようになったと思います。
細かな設定は各環境に合わせて設定してください。

他にも、vmbr1からvmbr0のマシンにアクセスできないようにしたいときなどは、以下のようにファイアウォールを設定するといいと思います。(一例)
Firewall > Rules > LANでルールを追加
スクリーンショット 2024-07-06 014656.png

素人が書いています。ファイアウォールについては適切に設定してください。

Tailscaleとの併用について

で、実際にこのネットワークを作ったとしてSSHができなくなってしまいます。
それでは本末転倒なので解決していきたいと思います。
vmbr0とvmbr1の両方に接続したVMを用意して踏み台にしてもいいですが、今回は他の方法を紹介したいと思います。(このやり方はとても有名なのでGoogle先生に聞いてみてください。)

作り方

まずはvmbr1にVMを1台なんでもいいので適当に用意してください。

そして、公式サイトにも書いてありますが、

IP転送を有効にする
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

そして、

sudo tailscale up --advertise-routes=192.168.0.0/24

といった感じで、vmbr1のネットワークを指定してあげます。

そして、Tailscaleのコンソールから
image.png
image.png
といった感じで、有効にしてください。そうすると、Tailscaleに接続されているデバイスから、vmbr1のVMを経由して、ネットワーク内のすべてのデバイスにアクセスできるようになります。

(この際、vmbr1のVMにアクセスしたときに接続元IPアドレスが用意したVMのものになることがあるので、設定やファイアウォールの設定ではお気を付けください。(Zabbixとか))

サブネットルーターとトラフィックリレーノードについての公式サイト

Cloudflareとの併用について

で、実際にこのネットワークを作ったとしてWEBサイトの公開ができなくなってしまいます。
そこで、Tailscaleの時と同じように、適当なVMにcloudflaredを設置してあげてください。
そうすると、普通に使えます。

複数ノードについて

複数ノードならどうするかは、あまり検証していないので、参考になりそうな記事を載せておきます。

QEMU-guest-agentについて

ProxmoxのコンソールからIPとか確認するために、ほしいですよね...
以下リンクに沿って設定してください。

参考にさせていただいた記事

2
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?