![Iptables:一些端口虽然被我的 iptables 打开了,但却被关闭了;可能是其他原因吗?](https://linux22.com/image/652133/Iptables%EF%BC%9A%E4%B8%80%E4%BA%9B%E7%AB%AF%E5%8F%A3%E8%99%BD%E7%84%B6%E8%A2%AB%E6%88%91%E7%9A%84%20iptables%20%E6%89%93%E5%BC%80%E4%BA%86%EF%BC%8C%E4%BD%86%E5%8D%B4%E8%A2%AB%E5%85%B3%E9%97%AD%E4%BA%86%EF%BC%9B%E5%8F%AF%E8%83%BD%E6%98%AF%E5%85%B6%E4%BB%96%E5%8E%9F%E5%9B%A0%E5%90%97%EF%BC%9F.png)
初学者的问题。我设置了以下 iptables 规则:
#!/bin/sh
# Réinitialise les règles
sudo iptables -t filter -F
sudo iptables -t filter -X
# Bloque tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP
# Autorise les connexions déjà établies et localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT
sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
# DNS
sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP
sudo iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
# SSL
sudo iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
# FTP
sudo iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
# Mail SMTP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
# Mail POP3
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
# Mail IMAP
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
# NTP (horloge du serveur)
sudo iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
#Flood ou déni de service
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
不幸的是,端口 53、143、443 仍然处于关闭状态。我尝试重启服务器并重新加载规则;但问题仍然存在(我使用的是 OVH VPS)。可以用其他方法关闭端口吗?
答案1
您的策略将一个接一个地应用。您的默认策略应在最后应用,而不是在开始时应用。因此,您应该删除此块:
# Bloque tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP
并在脚本末尾添加以下内容:
# Bloque tout le trafic
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP