仮想化・ホストサーバー

Proxmox ネットワーク設定(ブリッジ・ルーティング):追加 /24、MAC バインド、IPv6 をホストノードで構成

6 ステップ 11 分で読めます 75 回閲覧 0
目次

Proxmox VE ホストノード上の VPS で起こる問題の多くはネットワークの問題です。VM がゲートウェイに到達できない、追加した /24 がホストでは使えるのに VM では使えない、IPv6 がまったく応答しない、といったものです。解決方法は、プロバイダーが IP アドレスをどのように提供しているかによって異なります。この記事では、一般的な 2 つの提供方式であるブリッジ型(オンリンク)とルーティング型を説明し、それぞれに対応する /etc/network/interfaces の設定例を示したうえで、MAC バインド IP、追加の /24 ブロック、IPv6 サブネット、設定後の確認とトラブルシューティングを解説します。

ネットワーク設定を誤ると、SSH と Web 管理画面に接続できなくなります。IPMI/KVM コンソールにアクセスできる状態を保ち、編集前に /etc/network/interfaces をバックアップし、コンソールに接続できる状態で ifreload -a を使って変更を適用してください。

ステップ1:IP の提供方式を確認

提供方式特徴VM の接続方法
ブリッジ型 / オンリンクブロック内に専用のゲートウェイがあり(例:203.0.113.0/24 なら 203.0.113.1)、サーバーと同じネットワーク上にあるvmbr0 上の VM がプロバイダーのゲートウェイを直接使用
ルーティング型プロバイダーがブロックをサーバーのメイン IP 宛てにルーティングしており、ブロック内にゲートウェイがないホストがルーターとなり、VM はホストをゲートウェイとして使用
MAC バインドサーバー自身の MAC(または登録済みの仮想 MAC)からしか、その IP の通信を送信できないホストでルーティング構成にするか、VM ごとに登録済みの仮想 MAC を 1 つ使用

サーバーの納品情報には、各 IP ブロックのゲートウェイとネットマスクが記載されています。ブロックがルーティング型かオンリンクかが書かれていない場合は、設定前にサポートへお問い合わせください。推測で設定すると何時間も無駄にしてしまいます。

ステップ2:ブリッジ構成(ブロック内にゲートウェイがある場合)

物理 NIC を vmbr0 のポートにし、ホスト自身の IP をブリッジに移します。vmbr0 に接続した VM は、独立したサーバーのようにプロバイダーのネットワーク上に配置されます。

# /etc/network/interfaces  (main IP 198.51.100.10/24, gateway 198.51.100.1)
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 198.51.100.10/24
    gateway 198.51.100.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

オンリンクで提供される追加ブロック(例:ゲートウェイが 203.0.113.1 の 203.0.113.0/24)は、ホスト側の変更が不要です。vmbr0 上の VM に、そのブロックのアドレスとブロックのゲートウェイを設定します(例:ip=203.0.113.11/24,gw=203.0.113.1)。

ステップ3:ルーティング構成(ブロックがメイン IP 宛てにルーティングされる場合)

プロバイダーが 203.0.113.0/24 をメイン IP 宛てにルーティングしている場合は、物理 NIC に接続しない内部ブリッジにブロックを割り当て、先頭のアドレスを VM のゲートウェイとしてホストに設定し、フォワーディングを有効にします。

# /etc/network/interfaces  (vmbr0 as in Step 2, plus:)
auto vmbr1
iface vmbr1 inet static
    address 203.0.113.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/80-forward.conf
sysctl --system
ifreload -a

VM は vmbr1 に接続し、ゲートウェイ 203.0.113.1 で 203.0.113.2〜254 のアドレスを使用します。ホストが .1 を使用し、ネットワークアドレスとブロードキャストアドレスは予約されたままなので、ルーティングされた /24 で VM に使えるアドレスは 253 個です。通信は VM 自身の送信元 IP のままホストのメインインターフェースから出ていくため、NAT は使用しません。

ステップ4:MAC バインド IP

ネットワークによっては、サーバー自身の MAC アドレスからの通信しか受け付けないことがあります。ブリッジ接続の VM はそれぞれ独自の MAC を持つためパケットが破棄され、設定は正しく見えるのに「ネットワークにつながらない」状態になります。解決方法は 2 つあります。

  • ルーティング構成:ブロックをサーバーのメイン IP 宛てにルーティングするようプロバイダーに依頼し、ステップ3の構成を使用します。これにより、すべての通信がホスト自身の MAC アドレスから送信されます。
  • 仮想 MAC:プロバイダーが提供している場合は、IP ごとに MAC を 1 つ申請し、VM の NIC に設定します(qm set 101 --net0 virtio=02:00:00:AA:BB:CC,bridge=vmbr0)。

ステップ5:VM 用の IPv6 サブネット

IPv6 サブネット(例:/64 や /56)がホストにルーティングされている場合は、ステップ3のルーティング型 IPv4 ブロックとまったく同じように扱います。サブネット内のアドレスを vmbr1 に設定し、IPv6 フォワーディングを有効にして、そのアドレスを VM のゲートウェイとして使用します。

# /etc/network/interfaces: add an IPv6 stanza to vmbr1
iface vmbr1 inet6 static
    address 2001:db8:200::1/64

echo 'net.ipv6.conf.all.forwarding = 1' > /etc/sysctl.d/81-ipv6-forward.conf
sysctl --system
ifreload -a

# VM configuration (cloud-init)
qm set 101 --ipconfig0 ip=203.0.113.11/24,gw=203.0.113.1,ip6=2001:db8:200::11/64,gw6=2001:db8:200::1

フォワーディングを有効にすると、Linux はアップリンクのルーター広告(RA)を無視するようになります。そのため、ホスト自身の IPv6 デフォルトルートは vmbr0 に静的に設定する必要があります(address と gateway を記述した iface vmbr0 inet6 static スタンザ)。

一方、/64 が 1 つだけでアップリンク上でオンリンクになっている場合(プロバイダーのルーターが近隣探索ですべてのアドレスを直接見つけようとする場合)、別のブリッジ上の VM には到達できません。ホストが VM に代わって近隣探索に応答し(NDP プロキシ。例:ndppd)、ルーティングを慎重に調整する必要があります。よりシンプルで確実なのは、ホスト宛てにルーティングされるサブネットをプロバイダーに依頼する方法です。お使いのサーバーがどちらに該当するかは、IMIDC サポートにお問い合わせください。

ステップ6:適用と確認

cp /etc/network/interfaces /root/interfaces.bak.$(date +%F)
ifreload -a

ip -br addr          # addresses on vmbr0 / vmbr1
ip route             # default route via the provider's gateway
bridge link          # which ports and VM taps belong to which bridge

# Watch ARP and traffic for one VM address while it pings out
tcpdump -ni vmbr0 host 203.0.113.11

# From inside the VM
ping -c3 203.0.113.1   # gateway
ping -c3 1.1.1.1       # internet
ping -c3 google.com    # DNS

VM がゲートウェイには到達できるのにインターネットに出られない場合は、上流がその通信を破棄しています(MAC バインド、ルートの欠落、ネットマスクの誤り)。ゲートウェイにもまったく到達できない場合は、ブリッジ、VM の IP とプレフィックス、Proxmox ファイアウォールの IP フィルターがそのアドレスを許可しているかを確認してください。

よくある質問

ブリッジ型とルーティング型のどちらを使うべきですか?

プロバイダーの提供方式に合わせてください。ブロックにオンリンクのゲートウェイがある場合は、ブリッジ型が最も簡単です。ブロックがメイン IP 宛てにルーティングされている場合はルーティング型が必須で、IP が MAC にバインドされている場合もルーティング型が確実な選択です。

1 台のホストでパブリック IP の VM と NAT の VM を混在させられますか?

はい。パブリック IP の VM は vmbr0 または vmbr1 に置き、NAT の VM は別のプライベートブリッジに置きます。Proxmox VE の NAT ネットワークを参照してください。

IMIDC の IP ブロックはブリッジ型とルーティング型のどちらで提供されますか?

ロケーションとサーバーによって異なります。ゲートウェイとネットマスクは納品情報に記載されています。不明な点があればチケットを送信してください。提供方式を確認し、設定をお手伝いします。

上記の手順で解決しない場合は、サポートチケットを送信して IMIDC の 24 時間 365 日対応テクニカルサポートへご連絡ください。ホストサーバーの IP、IP ブロック、/etc/network/interfaces の内容、ip -br addr と ip route の出力を添えていただくと、より迅速に調査できます。

この回答はお役に立ちましたか?

関連チュートリアル