今実行されているものをインストールしましたlinuxmint-19.2-xfce-64bit
。
すべての着信および発信トラフィックをブロックするようにGufwを設定しましたが、私のシステムはまだIPアドレスを受信しています!ソフトウェア管理者はクエリ結果を取得します(ローカルでない場合)、Firefoxは少なくともブロックされます。
それでは、どうすればすべてを止めることができますか?また、プロセスが接続しようとしたときにウィンドウ、ポップアップ、または同様の通知を介して画面に警告を表示したいですか?
答え1
Linuxでは、標準ネットワークスタックはソースIPが0.0.0.0のIPパケット転送を禁止します(カーネル2.2から起動可能)。これはDHCPプロトコルに必要なため、DHCPツールはこの制限を回避する必要があります。
したがって、DHCPクライアントはRAWソケットを使用して送信元IP 0.0.0.0で禁止されたパケットを作成し、実際に初期DHCP交換に使用します。これらのパケットは、iptablesを含むネットワークスタックをバイパスします。
見つけることができる迅速で関連性のあるリンクは次のとおりです。
生ソケット使用ガイド
Red Hat Bugzilla – バグ 1269914 – 生のソケットを介して着信パケットをファイアウォールできません。
ISC - DHCPがrawソケットを使用する方法
とにかく、他の目的に必要でない場合でも、イーサネットブリッジを使用してファイアウォールを設定することが可能です。したがって、ブリッジインターフェイスを作成し、その中に独自のイーサネットインターフェイスを奴隷として設定し(ワイヤレスWi-Fiインターフェイスは通常複雑な設定なしではブリッジでは機能しません)、ブリッジを使用するようにDHCPクライアントを設定できます。元のイーサネットインターフェイス。これにより、DHCPクライアントが送信したパケットが切り替わるため、ブリッジファイアウォールを使用する必要があります。ebtables
(代わりにnftablesを使用することもできます):
ebtables -A OUTPUT -j DROP
受信したパケットにも同様に適用されます。
ebtables -A INPUT -j DROP
それともしたくない場合は、インターフェイスレベルからより低いレベルに行く必要があります。tc
。インターフェイスが呼び出されると仮定しますeth0
(画像を読みにくい)。
クラスを追加するシンプルqdiscはフィルタを接続できます:
tc qdisc add dev eth0 root handle 1: prio
すべて一致を追加/すべてのフィルタとタスクを削除する:
tc filter add dev eth0 parent 1: matchall action drop
これで、インターフェイスから何も出ることはできませんが、必要に応じて着信パケットを表示できます。
(次をtc qdisc del dev eth0 root
使用してすべてを復元できます。
同様に、すべての着信データをブロックできます。
tc qdisc add dev eth0 ingress
tc filter add dev eth0 ingress matchall action drop
(キャンセル使用tc qdisc del dev eth0 ingress
)
簡単に言うことはできませんが、このtc
方法は4つのコマンドで完全なロックを達成し、ブリッジを使用するときに必要となるNetworkManagerなどの他のネットワークツールを再構成する必要はありません(Wi-Fiでも機能します)。