NIC が1つの Proxmox VE ホストに OpenWrt をインストールする
物理 NIC が1つの PVE ホストで、適切なトポロジーを選べるようになります。
- PVE の管理アドレスを変更しない。
vmbr0で誤って DHCP を配布しない。- バイパスリゾルバー、または内部 LAN の検証環境として使える。
- ルーター VM を停止してもホストにアクセスできる。
- 物理 NIC が1つの Proxmox VE 8.x/9.x。
vmbr0が PVE の管理アドレスと上流ゲートウェイの両方を担います。 - このページは PVE 9.2.2、Realtek RTL8111 1枚、
vmbr0 192.168.50.2/24、ゲートウェイ192.168.50.1を前提に書かれています。 - NIC が1つでは WAN と LAN を物理的に分離できません。 NIC が2つあるガイドの
enp1s0/enp2s0構成をそのまま使わないでください。バイパスサービスか PVE 内部ブリッジを使います。 - 2枚目の NIC や VLAN 対応スイッチがあれば構成は簡単になりますが、そのトポロジーはこのページの対象外です。
2つのトポロジー
Section titled “2つのトポロジー”A. バイパス DNS/ゲートウェイ(変更が最小)
Section titled “A. バイパス DNS/ゲートウェイ(変更が最小)”OpenWrt は vmbr0 上に vNIC を1つ持ち、LAN アドレスは 192.168.50.3/24 で、DHCP は無効です。クライアントは手動でこれを DNS(またはゲートウェイ)に指定し、OpenWrt は 192.168.50.1 経由でインターネットに出ます。
| 物理ポート | PVE ブリッジ | 仮想 NIC | OpenWrt インターフェース | 役割 |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | lan 192.168.50.3 | バイパス DNS/ゲートウェイ |
メインルーターの DHCP に触れずに、DNS、AdGuard Home、OpenClash の DNS/ルールを検証するのに向いています。
B. PVE 内部 LAN の検証環境(ルーティング検証に推奨)
Section titled “B. PVE 内部 LAN の検証環境(ルーティング検証に推奨)”OpenWrt は vNIC を2つ持ちます。net0 は vmbr0 上の WAN(DHCP)、net1 は vmbr1 上の LAN(192.168.1.1/24)です。vmbr1 には物理ポートがなく、テスト用クライアント VM だけが使います。
| 物理ポート | PVE ブリッジ | 仮想 NIC | OpenWrt インターフェース | 役割 |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | wan DHCP | 上流 192.168.50.1 |
| — | vmbr1 | net1 | lan 192.168.1.1 | 内部テストクライアント |
物理 LAN に影響を与えずに、ルーティング、NAT、DHCP、DNS、そして「ルーター VM 停止後もホストに到達できること」を検証できます。
変更を始める前に
Section titled “変更を始める前に”ip -br linkip -br addrcat /etc/network/interfacesbridge linkqm listpvesm statusvmbr0 のアドレス、ゲートウェイ、物理ポート、VM の一覧を控えておきます。NIC が1つのホストでは vmbr0 が唯一の管理経路であり、設定を誤るとロックアウトされる可能性があります。
期待される結果問題が起きても、メモから vmbr0 を復元できる。
モニター/キーボード、IPMI、またはクラウドの VNC を使い、SSH だけに頼らないでください。そのうえで、PVE ホストに OpenWrt x86_64 イメージをダウンロードします。
cd /var/lib/vz/template/isowget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzwget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/sha256sumssha256sum -c sha256sums --ignore-missinggzip -d openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzチェックサムが一致しない場合は先に進まないでください。ファイル名とバージョンは downloads.openwrt.org の最新のものを使います。
期待される結果SSH が切れても PVE に到達できる。
まず一時的なブリッジを作成し、動作を確認してから永続化します。
ip link add name vmbr1 type bridgeip link set vmbr1 upip -br link show vmbr1ip -br addr show vmbr0vmbr1 には物理ポートがないため、家庭内 LAN に DHCP が漏れることはありません。vmbr0 では DHCP サーバーを動かさないでください。
期待される結果vmbr1 が存在して up になっている。vmbr0 のアドレスは変わっていない。
qm create 200 --name openwrt-lab --memory 512 --cores 2 --ostype l26 \ --scsihw virtio-scsi-pci \ --net0 virtio,bridge=vmbr0 \ --net1 virtio,bridge=vmbr1 \ --serial0 socketqm importdisk 200 /var/lib/vz/template/iso/openwrt-25.12.6-x86-64-generic-ext4-combined.img local-lvmqm set 200 --scsi0 local-lvm:vm-200-disk-0qm set 200 --boot order=scsi0qm start 200実際のストレージ ID は pvesm status で確認します。qm importdisk の後は、コマンドの出力でディスク名を確認してください。vm-200-disk-0 になるとは限りません。
期待される結果VM 200 に scsi0 の起動ディスクと net0/net1 がある。
qm terminal 200シリアルに出力がない場合は、PVE の VNC コンソールを使います。OpenWrt 内で次を実行します。
ip link showip addr showuci show networketh0/eth1 の順序が net0/net1 と一致するとは限りません。MAC アドレス、リンク状態、uci show network で確認してください。eth0 が WAN だと決めつけないでください。この検証環境では net0=eth0=WAN、net1=eth1=LAN でしたが、別のホストでは再確認が必要です。
期待される結果どのインターフェースが WAN で、どれが LAN かが分かる。
OpenWrt コンソールで、eth0/eth1 を確認済みのインターフェース名に置き換えて実行します。
uci set network.wan=interfaceuci set network.wan.proto='dhcp'uci set network.wan.device='eth0'uci set network.lan=interfaceuci set network.lan.proto='static'uci set network.lan.device='eth1'uci set network.lan.ipaddr='192.168.1.1'uci set network.lan.netmask='255.255.255.0'uci set dhcp.wan=dhcpuci set dhcp.wan.interface='wan'uci set dhcp.wan.ignore='1'uci commit networkuci commit dhcp/etc/init.d/network reloaddhcp.wan.ignore='1' を必ず確認してください。そうしないと、OpenWrt が上流の vmbr0 で DHCP を配布し、家庭内ネットワークを混乱させる可能性があります。
期待される結果WAN が 192.168.50.1 からアドレスを取得し、LAN は 192.168.1.1 になる。vmbr0 では DHCP を配布しない。
vmbr1 上にテスト VM を作成する(または NIC をそこに接続する)と、OpenWrt の LAN からリースを取得します。その後、次を実行します。
ip routeping 192.168.1.1ping 192.168.50.1nslookup openwrt.orgクライアントがリースを取得できない場合は、vmbr0 を変更する前に、OpenWrt の dhcp.lan と dnsmasq を確認してください。
期待される結果クライアントが 192.168.1.1、上流ゲートウェイ、DNS に到達できる。

qm status 200が running であり、qm config 200でnet0がvmbr0、net1がvmbr1にあること。- OpenWrt 内の
ip addr showで、WAN が192.168.50.x、LAN が192.168.1.1/24であること。 - テストクライアントのデフォルトゲートウェイが
192.168.1.1で、192.168.50.1に ping でき、openwrt.orgを名前解決できること。 - ホスト:
ssh [email protected]と PVE の Web UI が引き続き使えること。 - ルーター VM を停止(
qm stop 200)してもホストの管理が使え、qm start 200で元に戻ること。
失敗時の分岐と復旧
Section titled “失敗時の分岐と復旧”ホストに SSH で接続できない
Section titled “ホストに SSH で接続できない”ネットワークの変更を中止します。モニター/キーボード、IPMI、またはクラウドコンソールを使って確認します。
ip -br addr show vmbr0cat /etc/network/interfacesbridge link/etc/network/interfaces を編集した直後であれば、バックアップを復元して再読み込みします。
cp /etc/network/interfaces.bak.YYYY-MM-DD /etc/network/interfacesifreload -a一時的な vmbr1 だけが原因の場合は、まず他の VM が使っていないことを確認します。
grep -R "vmbr1" /etc/pve/qemu-serverこのコマンドが何も出力しない場合にのみ削除します。
ip link set vmbr1 downip link del vmbr1OpenWrt に WAN アドレスがない
Section titled “OpenWrt に WAN アドレスがない”qm config 200qm terminal 200OpenWrt 内で ip link show、uci show network、logread を確認します。net0 が vmbr0 にあり、nic0 が up であることを確認してください。vmbr0 に2つ目の DHCP サーバーを追加しないでください。
テストクライアントが 192.168.1.x のリースを取得できない
Section titled “テストクライアントが 192.168.1.x のリースを取得できない”OpenWrt の dhcp.lan と dnsmasq が動作しているかを確認し、テスト VM が実際に vmbr1 に接続されていることを確認します。検証環境を「直す」ために vmbr0 のアドレスやゲートウェイを変更しないでください。
ルーター VM を停止してもホストに到達できるか
Section titled “ルーター VM を停止してもホストに到達できるか”これが復旧の判定基準です。qm stop 200 の後、別のマシンから https://192.168.50.2:8006 を開き、SSH で接続します。到達できない場合は、管理経路が OpenWrt に依存しています。先に進む前に修正してください。
E2 検証結果(2026-10-20)
Section titled “E2 検証結果(2026-10-20)”- 環境: PVE 9.2.2、Realtek RTL8111 1枚、
vmbr0 192.168.50.2/24。OpenWrt 25.12.6 x86_64 VM 200、512MB/2 vCPU。 - OpenWrt の WAN
eth0は192.168.50.1から DHCP で192.168.50.77を取得。LANeth1は192.168.1.1/24。 - 内部
vmbr1上の netns クライアントは DHCP で192.168.1.191を取得し、192.168.1.1をデフォルトルートとして使い、openwrt.orgを名前解決して HTTP 200 を得た。 qm stop 200の後も、新しい SSH 接続で PVE ホストに接続でき、vmbr0は192.168.50.2/24のままだった。- 未検証: 物理 LAN のクライアント、NIC 2枚構成、長時間の安定性、PPPoE/IPv6 の上流。これらはこの E2 の結果の対象外です。
情報源とレビュー
Section titled “情報源とレビュー”- このページは E2 の検証結果であり、E1 だけの草稿ではありません。ただし、独立したレビューや物理 LAN での検証は行っていません。
- レシピ:
tests/recipes/pve-single-nic-25.12.md。イメージの SHA-256、qm config 200、クライアントの結果を記録しています。 - NIC 1つは NIC 2つとは異なります。2枚目の NIC や VLAN スイッチなしに、これを「WAN/LAN を物理的に分離する」ガイドへ書き換えないでください。
出典
独立した OpenWrt の実践ノートです。各ページにファームウェア、デバイス、パッケージマネージャー、元に戻す手順を明記しています。
アイコン:Solar by 480 Design, CC BY 4.0