web-dev-qa-db-ja.com

Linuxルーターでiptablesを使用するWebサイトを1つだけ許可する

内部ネットワークのルーターとして使用しているLinuxサーバーがあります。 iptablesを使用して1つまたは2つを除くすべてのWebサイトをブロックする必要があります。

どうすればこれを設定できますか?

3
pamchi

ここにあります:

iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -d somewebsite.com --dport 80 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP

これにより、DNSと指定されたドメインへのアクセスが許可されます。 DNSエントリ(--dport 53)を削除したい場合は、サイトのエントリを/ etc/hostsファイルに追加するだけです。コメントでconntrackを見るまで、私はこれをほとんどあきらめました。

追加のサイトを許可するだけで、サイトの行を複製し、それに応じて調整します。それらをすべてDROPの上に置いてください。

また、私の以前のiptables関連の回答の1つがあなたの仕事に役立つかもしれません。 すべての着信トラフィックを受け入れるにはiptablesルールが必要

楽しい

1
Alex Atkinson