Por alguma razão, conexões mysql de um endereço IP específico não são permitidas. Esta é a regra que eu tenho (pegou de iptables-save
):
-A INPUT -s 12.34.56.78/32 -p tcp -m state --state NEW -m multiport --dports 22,80,3306 -j ACCEPT
O que é interessante aqui é que as conexões SSH e as páginas HTTP são carregadas perfeitamente sem problemas. Eu adicionei 3306 para conexões MySQL mais tarde, mas elas parecem ser ignoradas. Por quê?
Estou no CentOS. Eu reiniciei o serviço iptables e configurei o IPTABLES_SAVE_ON_STOP / RESTART para sim.
A execução de netstat -tunelp
mostra-me isto:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 8849593 10712/mysqld
Aqui está minha lista completa de regras de iptables -L
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- 192.168.1.0/24 anywhere state NEW multiport dports ssh,http,mysql
ACCEPT tcp -- some-resolved-hostname-1.com anywhere state NEW multiport dports ssh,http,mysql
ACCEPT tcp -- some-resolved-hostname-2.com anywhere state NEW multiport dports ssh,http,mysql
ACCEPT tcp -- some-resolved-hostname-3.com anywhere state NEW multiport dports ssh,http,mysql
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Observação: não há registros (incluindo logs de erros) no lado do servidor. O erro que recebo ao tentar se conectar é:
D:\>mysql -u username -p -h 12.34.56.78
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '12.34.56.78' (10060)
Além disso (como era de uma máquina Windows tentando se conectar) eu tentei isso:
D:\>telnet 12.34.56.78 3306
Connecting To 12.34.56.78...Could not open connection to the host, on port 3306: Connect failed
Observe também que skip_networking
é para off
.