時には、56kbpsという非常に狭いインターネット帯域幅を使用する必要があります。私のUbuntuデスクトップには、Web上で何かを常にチェックするプログラムが多すぎます。プログラムを1つずつ検索して無効にするのは本当に痛いことです。
私は、メールクライアントを除くすべてのプロセスへのインターネットアクセスを(任意の手段で)拒否できるツールが必要です。
可能ですか?それでは、どうすればいいですか?
これを行う1つの方法は、別のネットワークデバイス(たとえば)を開き、/dev/tap1
それを(私の一般的なインターネットデバイス)にルーティングするように設定し、/dev/wlan0
すべてを保護するためにオンとオフを切り替えることができるカスタムルールを使用することです。iptables
しかし、私はiptablesの専門家ではないので、誰かが私に具体的な指示を与えない限り、このソリューションは役に立ちません。
答え1
また、これを使用して、必要なiptables
インターフェイスでudp / tcpポートを許可/制限することもできます。たとえば、tcp / udpポート143(IMAP)のすべてのトラフィックを許可するために、チェーン内のfilter
テーブルにルールを導入します。OUTPUT
(sudo) iptables -A OUTPUT -o eth0 -p udp --destination-port 143 -j ACCEPT
(sudo) iptables -A OUTPUT -o eth0 -p tcp --destination-port 143 -j ACCEPT
(sudo) iptables -A OUTPUT -o eth0 -j DROP
私の考えでは、IMAPがTCPを通過すると思いますが、もし備えてUDPプロトコルも制限しています。この質問では、インターネットインターフェイスがあり、eth0
メールクライアントがIMAPプロトコルを使用してリモートメールサーバーに接続していると仮定します。自分で試してみましたが、メールサーバーにのみアクセスできました。ルールの順序が重要であることを覚えておいてください。それ以外の場合、期待どおりに動作しません。
編集#1:コメントで質問したように。インターネットトラフィックを復元するには、挿入したルールを削除するだけです。次のようにこれを行うことができます。
行く長さは遠い:
(sudo) iptables -D OUTPUT -o eth0 -p udp --destination-port 143 -j ACCEPT
(sudo) iptables -D OUTPUT -o eth0 -p tcp --destination-port 143 -j ACCEPT
(sudo) iptables -D OUTPUT -o eth0 -j DROP
短い距離:
(sudo) iptables -nvL --line-numbers
上記のコマンドを実行すると、各ルールの前にその番号が表示されるため、ルール全体を書き換えるのではなく、その番号を使用してルールを削除するのに役立ちます。出力例は次のとおりです。
Chain OUTPUT (policy ACCEPT 73 packets, 8766 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp dpt:143
その後、ルールを削除するには、次のコマンドを実行します。
(sudo) iptables -D OUTPUT 1
まだルールも定めておらず、状況がどうなるかよくわからない場合は、近距離もお勧めします。iptables
withパラメータの出力に基づいてルールを再設定することもできます-nvL
。
注:これnon-persistent
使用法は、iptables
システムを再起動してもルールが維持されないことを意味します。ルールが必要な場合のpersistent
最も簡単な方法は、次のコマンドを実行することです。
(sudo) iptables-save > /etc/iptables/rules.v4
現在のルールをに保存/ダンプします/etc/iptables/rules.v4
。その後、再起動後、iptablesはそのファイルから保存された設定を読み込みます。IPv6
この追加ファイルを使用できますrules.v6
。これはDebian
追加のパッケージをインストールする必要がある場合に適用されます。確認してくださいこのガイド上海。私が見つけたUbuntuの場合この他のガイド。他のシステムではインターネットを検索できますが、原則は同じです。You dump your current rules to file and set up a script at boot time to apply those saved rules to the current iptables configuration.
答え2
複数の仮想マシンでプロセスを実行できます。その後、一部の仮想マシンへのネットワークアクセスを終了できますが、他の仮想マシンへのアクセスは終了できません。