IPtables 不适用此规则

IPtables 不适用此规则

我有很多这样的规则:

#!/bin/sh
modprobe ip_conntrack
# Initialiser les tables
iptables -t filter -F

#Vider les règles custom
iptables -t filter -X

#Interdire toutes les connexions entrante et sortantes
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP


#Works perfect
iptables -t filter -A INPUT -p tcp -s myIP --dport 9200 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s 127.0.0.1 --dport 9200 -j ACCEPT

#Don't work
iptables -t filter -A INPUT -p tcp -s myIP --dport 3306 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 3306 -j ACCEPT

我已经多次重新加载 /etc/init.d/firewall,重新启动后什么都没有用,nmap 输出说:

Host is up (0.017s latency).

PORT     STATE    SERVICE
3306/tcp filtered mysql

我检查了 mysql 服务也在运行。我做错了什么?我不明白。谢谢。

答案1

在您的最终规则中,您使用在表格--dport上指定的OUTPUT- 这是传出(服务器到客户端)数据包的目标端口。这不是服务端口 3306 - 这将是客户端的临时端口。相反,如果您希望限制 MySQL 服务的传出数据包,则应考虑使用 ito--sport 3306允许传出 MySQL 数据包。

相关内容