私はDebianをゲストOSとして使用して仮想マシンを実行しています(他のディストリビューションを選択できます)。他のソフトウェアで実行されるnginxがあります。
一部のソフトウェアは、送信接続を確立しようとします(たとえば、アップデートの確認や使用情報の送信など)。止めたいです。また、LANまたはマイコンピュータ(ホスト)のみが通信できるように、着信接続をブロックしたいと思います。
インターネットを許可せずに自分のコンピュータとLANのみを許可するようにLinuxまたはハイパーバイザー(VMWare Playerを使用している)をどのように設定しますか?ホストオペレーティングシステムはWindows 7です。
答え1
最も簡単な方法は、デフォルトパスを設定しないことです。静的IPアドレスを設定している場合は、/etc/network/interfaces
「ゲートウェイ」行を編集してコメントアウトしてください。
DHCPを使用している場合は、ゲートウェイを要求しない可能性があります(/etc/dhcp3/dhclient.conf
「ルーター」を要求しないように「要求」を編集および変更しますが、これをテストしませんでした。または後で削除できます。
最後に、iptablesを使用してこれを達成できます。
iptables -P OUTPUT DROP
iptables -A OUTPUT -d 127.0.0.0/8 -j ACCEPT # let it talk to localhost
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT # use LAN range here
iptables -A OUTPUT -d 10.0.0.2 -j ACCEPT # your machine here
DNSサーバーにアクセスすることを忘れないでください。 LANにない場合、名前解決は機能しません。 (iptablesメソッドを使用すると、アクセスを許可するルールを追加するのは簡単です。)
また、http.us.debian.orgにアクセスすることは許可されていないため、apt-getアップデート/アップグレードが機能しないことを覚えておいてください。 iptablesを使用してこの問題を解決できます。
iptables -I OUTPUT -m owner --uid-owner 0 -j ACCEPT # allow root to do anything
サービスがrootとして実行されていないと仮定します。
アップデート/レポートの使用量などを自動的に確認するほとんどのサービスです。しないように構成できます。あなたもこれを行うことができます。
また、必要に応じてiptablesを使用して、LAN以外のコンピュータからの着信トラフィックへの応答を許可することもできます(ステータスストレージトレースを使用)。入力するとman iptables
詳細が表示されます。