私は検索して検索しましたが、これを行う方法が見つかりませんでした。私が見つけた答えは、2番目のNICを取得し、それをWindowsゲストに捧げると述べました。私のホストはlinuxmint16です。
ゲスト用のネットワークアダプターを指定する方法はわかりますが、Windowsゲストがインターネットにアクセスできるが、ホストのネットワーク上の他のコンピューターにアクセスできないようにするにはどうすればよいですか。
ゲストのIPアドレスを手動で変更しても、ネットワークの他の部分にアクセスできないようにしたいのです。自分自身(そしておそらくホスト)だけを見る必要があります。
これはVirtualBoxで行うことができます。
iptablesを使用してパケットを制御できる接続を選択する必要があります。したがって、NATもBridgeも、ユーザーがアクセスできるNICを作成しないため、機能しません。代わりにホスト専用ネットワークを使用する必要があります。これにより、ホスト上にユーザーが作成されます-vboxnet0と呼ばれるアクセス可能なインターフェース。
構成するには、[ファイル]-> [設定]-> [ネットワーク]-> [ホストのみのネットワーク]-> [プラス記号]で作成し、[ドライバー]-> [DHCPサーバー]で、DHCPサーバーを有効にします。設定を保存し、VMを起動します。
ここで、ゲストでホストをゲートウェイとして設定する必要があります。ホストのデフォルトIPは192.168.56.1です。 Googleを使用して、Windowsでこれを行う方法の説明を見つけてください。そして、おそらく、DNSサーバーを設定する必要があるかもしれません。
ホストでは、これらのすべての命令はSudoとして:
1)IP転送を有効にします。
echo "1" > /proc/sys/net/ipv4/ip_forward
2)次を発行しますiptablesルール:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP
最初のルールは、VMのインターネットへのアクセスを許可します。 2番目のペアは、ルーターとブロードキャストアドレスを除いて、VMがLANにアクセスすることを禁止します。
上記のルールは、ホストがeth経由で接続され、LANが192.168.1.0/24であり、ルーターとブロードキャストアドレスが192.168.1.1と192.168.1.255であることを前提としています。 、それぞれ。そうでない場合は、それに応じて変更してください。
わかりました。ホストOSに1枚のネットワークカードしか必要としない優れたソリューションを見つけました。
この投稿の助けをありがとう。それは私を正しい方向に導き、Squid3を見つけました。ここでのセットアップ全体は5〜10分かかり、非常に簡単です。
簡単に言うと、VirtualBoxだけでは必要な分離を実現することはできません。 A VMは、常にホストと同じネットワーク可用性を継承します(ブリッジモードまたはNATネットワークモードを想定))。
VirtualBoxには4つのネットワークの選択肢があります。
ブリッジ:ホストのアダプタの1つと接続を共有します。これは、VMとホストがすべて同じスイッチに接続されているかのようになります。 VMは、ホストがアクセスできるすべてのものにアクセスできます。
[〜#〜] nat [〜#〜]:VirtualBoxは、ホストのアダプターと仮想ネットワークの間に仮想NATファイアウォールを配置します。VMは引き続きホストのすべてにアクセスできます。アクセスできます。
ホストのみ:VMはホストコンピューターとのみ通信できます。
内部:VMは分離されたネットワーク上にあり、同じ内部ネットワーク上の他のVMとのみ通信できます。
これらのオプションはいずれも要件を満たしていないため、VirtualBoxだけでは実行できません。前述のように、NICを追加すると、必要な分離を作成するために必要な物理的な分離が提供されます。