さらに一歩進んで、EBtables(レイヤ2フィルタリングとルーティングテーブル)をインストールしたいと思います。これは、必要な最小限のエントリ(IPv4とARP)のみを許可することです。テストするために、以下を実行しました。
ebtables -P INPUT DROP
ebtables -P FORWARD DROP
ebtables -P OUTPUT DROP
それからテストをし、ping 8.8.8.8
確かに答えを受けました。いくつかの異なる組み合わせを試して、他のテーブルがないことを確認しましたが、pingはまだ機能しています。 EBtablesがブロック/フィルタリングできない場合は意味がありません。
はいいいえICMPをブロックしようとしてIPv4を除くすべてのエントリをブロックしてみました。 EBtablesをテストするには試験を終えたICMPは使用されますがブロックされません(EBtablesが機能していないことを意味します)。
私は何が間違っていましたか? (Debian Squeeze、iptablesなど、EBtables v2.0.9-2)
答え1
ebtablesはブリッジされたデバイスでのみ使用する必要があるため動作しません(あなたの場合ではないようです)。代わりにiptablesをチェックしてください。
答え2
ebtablesがまったく必要ないようです。 Ebtables は、ブリッジデバイスを介してルーティングされるトラフィックを処理するために使用されます。説明するユースケースはiptablesによって制御されます。
Pingは、iptablesのicmpプロトコルオプションを使用してブロックできるICMPパケットを使用します。
iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
答え3
あなたがebtablesを乱用することについて他の人はすべて正しいです。しかし、あなたの質問に実際に答えると、上記のコマンドを入力しただけでこれがうまくいかないのは、これらのコマンドが「ポリシー」のみを修正するためです。これは ebtables がデータに対して実行するアクションです。パケット変更パッケージがすること。通過するチェーンが存在しないか、パケットがルールによって受信されずにチェーンを通過します。
したがって、ACCEPTルールによって受信されたチェーンを通過するいくつかのパケットがある可能性があります。
「x」テーブルを使用する一般的な方法は、まずすべてのチェーンを消去し、ポリシーを設定してから、チェーンを入力してルールでチェーンを埋めることです。