web-dev-qa-db-ja.com

VM独自のIPアドレスを与える

ホスティングプロバイダーでUbuntuを実行している専用サーバーがあります。私はすでにOpenVPNとVirtualBoxを構成し、VirtualBoxを使用してWindows 7 VMをインストールしました。サーバーには次のインターフェイスがあります。

  • インターフェース eth0にはパブリックIPアドレスが割り当てられます
  • ループバックインターフェイス
  • OpenVPNからのTunインターフェース

Win7-VMでVM範囲(10.8.0.0/24)からIPアドレスを取得することはどういうわけか達成可能ですか?これを可能にして、システムが起動し、パブリックIPから到達できるようにし、VPNに接続してVM、たとえばIP 10.8.0.7

ネットワークブリッジングについて聞いたことがあり、すでにいくつかの構成を試しましたが、それを行うと、サーバー全体に到達できなくなりました。それが現実的で、どのアプローチが最も適しているかを誰かが説明してくれるかもしれません。

ありがとう

1
guest-xyz

ネットワークアダプタの設定をブリッジに変更すると、最初に使用可能なIPアドレスを使用して、VMをホストと同じnewtorkに配置する必要があります。これからは、物理IPの場合と同じように静的IPを構成できます。または、DHCPを使用してVMのMACアドレスをIPアドレスに固定できます(たとえば、ルーターやネームサーバーを使用)。

Network config in VM

お役に立てれば!

2
adam87322

一般に、問題が最も少ない解決策は、ホストから到達可能なネットワーク上にVMを設定し、外部ネットとVMネット間のルーティングを使用することです。

これにより、外部のネットからは見えませんが、ほとんどの制御が可能になります。これにより、たとえば、VMからのdhcpリクエストがホスティングプロバイダーのネットに入る問題や同様の問題を回避できます。

サンプル構成では、たとえばiptablesを使用します。

iptables -t nat -I PREROUTING -i external-net -p tcp --dport 80 -j DNAT --to-destination win7vm # route http traffic into the vm
iptables -t nat -I POSTROUTING -i vmnet-interface -j MASQUERADE # replace vm-ip with external ip
iptables -A FORWARD -j ACCEPT
echo 1 >/proc/sys/net/ipv4/ip_forward

仮想マシンは、インターフェースvmnet-interfaceのホストを(デフォルト)ゲートウェイとして使用する必要がありますが、多くのネットワーク設定を変更しなかった場合は、これがデフォルトになります。

ルーティングを設定するときは、他のインターフェース間の転送を防ぐために、iptablesルールをさらに追加することをお勧めします。

0
allo

OpenVPN構成では、tapデバイスとモードbridgeを使用する必要があります。

次に、OpenVPNで構成されたtapデバイスと、メンバーとしての仮想内部ネットワークアダプターを持つブリッジを作成する必要があります。

ホストのブリッジインターフェイスにホストIPアドレスを割り当てる必要があります。

この後、OpenVPNトンネルと仮想マシンネットワークアダプターは同じサブネットにあり、OpenVPNサーバーに接続すると、同じネットワークに接続されます。

パブリックIPアドレスを持つインターフェイスは現在のままにしておく必要があります。

0
Tero Kilkanen