まず、システムで実行されているすべてのルールをクリーンアップします。

まず、システムで実行されているすべてのルールをクリーンアップします。

Linuxですべてのインターネット入力/出力をブロックする方法を探しています(選択したアプリケーションを除く)、iptablesコマンドを使用して次のスクリプトを見つけました。

スクリプトを実行する前に、「インターネット」というグループが作成されます(sudo groupadd internet)。

 #!/bin/sh
 # Firewall apps - only allow apps run from "internet" group to run

 # clear previous rules
 sudo iptables -F

 # accept packets for internet group
 sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT

 # also allow local connections
 sudo iptables -A OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT
 sudo iptables -A OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT

 # reject packets for other users
 sudo iptables -A OUTPUT -p tcp -j REJECT

 # open a shell with internet access
 sudo -g internet -s

源泉: https://plus.google.com/+TobyKurien/posts/YZhZJCZmGgm

唯一の問題は、それが私には効果がないようです。スクリプトを実行した後、同じ端末を使用して入力を介してFirefoxを呼び出すと、firefoxブラウザは開きますがインターネットにアクセスできません。私が得るすべてはサーバーが見つかりません。スクリプトを実行する前にインターネットにアクセスできます。

質問:なぜこの問題が発生しますか?実行されるコードは理解していますが、Firefoxブラウザが接続されていない理由はわかりません。

ベストアンサー1

通常、デフォルトでは発信トラフィックを許可しますが、着信SSHトラフィックを制限する標準のCentos / RHEL 6ビルドには次のものがあります。

存在する/etc/sysconfig/iptables

 # Firewall configuration written by system-config-firewall
 # Manual customization of this file is not recommended.
 *filter
 :INPUT DROP [0:0]
 :FORWARD DROP [0:0]
 :OUTPUT ACCEPT [0:0]
 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 -A INPUT -p icmp -j ACCEPT
 -A INPUT -i lo -j ACCEPT
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
 -A INPUT -j REJECT --reject-with icmp-host-prohibited
 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
 COMMIT

おすすめ記事