iptablesで特定のIPを許可し、他のすべての接続をブロックする方法は?
ベストアンサー1
私は書いたデスクトップユーザー向けのデフォルトのIptablesルールに関するブログ投稿ずっと前に、おそらくそれを読む必要があります。そしてそれにリンクされた記事ステートフルファイアウォールの設計。ただし、カーネル2.6.39以前(ipset
ホワイトリストに10個以上のIPがある場合(そのうち10個はランダム))をホワイトリストに追加するためにこの機能を使用できます。
まず、受け入れるか破棄したい状態とインターフェイスを処理します。
iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept
IPでのみ許可したい場合は、ステータスは必要ありません。
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
ただし、これを行う際に問題が発生する可能性があるため、状態を使用して生活を簡単にすることをお勧めします。たとえば、これは許可されておらず、-i lo
一部の-o lo
アプリケーションでは間違いなく問題が発生します。