web-dev-qa-db-ja.com

ゲストの保護VMインターネットアクセスを提供するが、ホストLANへのアクセスをブロックする

LinuxゲストがいるVM Windowsホストで実行しています。ネットワークモードをNATに設定すると、ゲストはインターネットアクセスを取得できますが(必要な場合)、ホストのLANにもアクセスできます(私はしません)。

さまざまな理由から、ゲストにインターネットアクセスを提供するためだけに別のネットワークを設定することはできません。

Windowsファイアウォールまたは一部のルーティングソフトウェアを使用して、ゲストにインターネットアクセスを許可し、他のすべてのアクセスをブロックすることはできますか?

編集-virtualboxフォーラムから解決策を得ました:ゲストをブロックするには、WindowsファイアウォールでNATを使用します。

私の間違いは、(プログラム=すべて、ローカルIP =ゲストIP範囲)であるホストにルールを設定しようとしていたことです。 NATはファイアウォールに到達する前に既に発生しているため、実際には(ローカルIP =すべて、program = virtualbox.exe)のルールにする必要があります。

5
Francis Appa

解決策-ホストにファイアウォールルールを追加します:ブロック(ローカルIP =すべて、program = virtualbox.exe、リモートIP = {ブロックする範囲})

3
Francis Appa

Linuxと言うので、IPtablesがインストールされていると思います。ポート80(HTTP)、ポート443(HTTPS)、およびアウトバウンドDNSでのみインバウンド/アウトバウンドトラフィックを許可できます。私はこれらのルールをテストしていないので、自己責任で使用してください。また、それを行うときは、自分が物理マシンであることを確認してください。リモートで接続している場合は、自分自身を切断し、マシンに戻ることができない場合があります。

#delete all rules
iptables -F

#change default policy to drop everything
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#add rules for port 80 and 443 to only allow this traffic
iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

#allow outbound DNS
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

#allow loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

リストルール:

iptables -L
2
Travis

私は私の接続をブリッジしました。これでも機能しませんでしたが、ケーブル接続ボックス(下の画像で丸で囲まれています)をチェックすると、ネットワーク接続が修正されました。理由はよくわかりません。

enter image description here

0
scottyseus

使用している仮想化プラットフォームを指定していないため、アドバイスを与えるのは難しいです。 Virtualboxを使用している場合は、ネットワークタイプをホストのみのアダプターに設定できます。これにより、インターネットアクセスが可能になり、Virtualboxを実行しているホストにアクセスできますが、残りのネットワークにはアクセスできません。

0
GeoSword