我想在我的服务器上仅允许互联网访问(这对于更新很有用)和 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
开始吧
删除当前规则和链:
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
就是这样了。我想:)