なぜビルトインテーブルなのかipchains
?テーブルを追加するとどのような利点がありますかipchains
?テーブルを使用してパフォーマンスを向上させる方法や他の利点を提供する方法を示す簡単なシナリオはありますか?
答え1
iptables -N dmzrules
iptables -A dmzrules -p TCP --dport 22 -j ACCEPT
iptables -A dmzrules -p TCP --dport 80 -j ACCEPT
iptables -A dmzrules -p TCP --dport 443 -j ACCEPT
iptables -A dmzrules -p UDP --dport 53 -j ACCEPT
iptables -A dmzrules -p UDP --dport 123 -j ACCEPT
iptables -A FORWARD -s 10.0.91.0/24 -j dmzrules
iptables -A FORWARD -s 192.168.22.0/24 -j dmzrules
iptables -A FORWARD -s 172.16.33.0/24 -j dmzrules
したがって、上記の例では、許可されたネットワークに対して同じ許可UDP / TCPポートセットの規則を繰り返し作成する必要はありません。したがって、15行ではなく9行があります。各受信パケットが15のルールと一致しようとする必要がないため、パフォーマンスが向上します。代わりに、パケットは3つのINPUTルールと一致し、ソースIPが一致した場合はdmzrulesテーブルの4つのルールと一致しようとします。
単一のボックスにiptablesを使用している場合は、テーブルを使用することはあまり役に立たないと思います。許可されたポートを一度に列挙できますが、デフォルトのルールセットに違反することなくこのリストを更新できるというブラック/ホワイトリストの作成に関するChrisの要点を覚えておいてください。
答え2
「テーブル」が含まれているのは、この概念がLinuxがBSDのIPFWファイアウォールを使用してからipchainにつながったためです。これにより、管理上同じように処理する必要があるIPグループに1つ以上のルールを簡単に適用できます。
私が最もよく見ているのは、ブラックリストまたはホワイトリストを使用するときです。各IPのルールを作成してサーバーをきれいに保つのではなく、Fail2banを使用してサーバーを「攻撃」するIPを自動的にブロックし、遊び心のあるテーブルに追加できます。同様に、ネットワークに異なるIPを持つ一連の「管理」コンピュータがあり、それをテーブルに追加してからSSHを介してサーバーにアクセスできるようにするルールを作成できます。