次のIPTABLESを実行すると、すべてのネットワークが削除されます。

次のIPTABLESを実行すると、すべてのネットワークが削除されます。

最初の記事ですが、助けてください。 1つのネットワークからのトラフィックのみを許可し、すべてのネットワークを削除したいと思います。私は何が間違っていますか?私のプログラムの結果は、すべての場合にパケットを破棄することです。スクリプトが実行された後は、サイトにアクセスしなくなります。ディストリビューション:Ubuntu 16.04

#Flush old
iptables -F 
iptables -X

#Allow loopback

iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT

#Allow DNS

iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

#Accept IP, use your own IP

iptables -I INPUT -s $(IP) -p tcp --dport 443 -j ACCEPT
iptables -I OUTPUT -s $(IP) -p tcp --dport 443 -j ACCEPT

#Drop rest

iptables -I INPUT -i lo -j REJECT
iptables -I OUTPUT -o lo -j REJECT

拒否と廃棄の両方を使用することはあまり効果的ではありません。

ベストアンサー1

ルールを追加するIのではなく、テーブルに挿入することです。AREJECT

ルールは順次読み取って適用されるため、実際には残りのルールより先に読み取る拒否ルールを挿入することです。

REJECTルールを次に変更してみてください。

iptables -A INPUT -i lo -j REJECT
iptables -A OUTPUT -o lo -j REJECT

代わりに。ぜひ追加してください

iptables-save

スクリプトの最後に

おすすめ記事