web-dev-qa-db-ja.com

iptablesでsshとインターネットアクセスのみを許可する方法は?

サーバーでインターネットアクセス(更新に便利)とsshのみを許可したい。私はこのルールのセットを見つけました:

  Sudo iptables -P INPUT DROP
  Sudo iptables -P OUTPUT DROP
  Sudo iptables -A INPUT -i lo -j ACCEPT
  Sudo iptables -A INPUT -p tcp -m tcp --dport [port number] -j ACCEPT
  Sudo iptables -A OUTPUT -o lo -j ACCEPT
  Sudo iptables -A OUTPUT -p tcp --sport [port number] -m state --state ESTABLISHED -j ACCEPT
  Sudo service iptables save
  Sudo netfilter-persistent reload

これはうまく機能していますが、システムを更新したり、インターネットにアクセスしたりできません。発信インターネット接続を許可するには、どのルールを追加する必要がありますか?

1
dmx

始めましょう

現在のルールとチェーンを削除する

Sudo iptables --flush
Sudo iptables --delete-chain

ループバックを許可する

Sudo iptables -A INPUT -i lo -j ACCEPT
Sudo iptables -A OUTPUT -o lo -j ACCEPT

ICMPを削除します

Sudo iptables -A INPUT -p icmp --icmp-type any -j DROP
Sudo iptables -A OUTPUT -p icmp -j DROP

確立された接続を許可する

Sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

SSHを許可

Sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

デフォルトポリシー

Sudo iptables -P INPUT DROP
Sudo iptables -P OUTPUT ACCEPT

セーブ

Sudo iptables-save

これです。おもう :)

5
2707974