Por que meu firewall Linux não está abrindo portas?

1

Eu andei me preocupando com a abertura de uma porta simples em um servidor Linux dedicado que está usando o iptables "Linux Firewall".

Eu adicionei a porta (3306) nas tabelas usando o Webmin e o terminal, mas ela ainda não me permite conectar remotamente.

Eu reiniciei o iptables muitas vezes e ele ainda não funcionou.

Aqui está a saída do iptables -L

link

Por favor ajude.

    
por Frankie Laguna 17.11.2009 / 16:44

3 respostas

2

Aposto que sua instância do MySQL não está escutando no IP público, apenas no localhost ou no soquete Unix. Verifique a saída de netstat -ltn de um endereço local que termina em :3306 ; se não houver nenhum, ele está escutando no soquete, remove skip-networking de my.cnf e reinicia; se ele diz 127.0.0.1:3306 , então ele está escutando em localhost, remove bind-address = 127.0.0.1 de my.cnf e reinicia.

Por segurança, é melhor acessar o MySQL através de um túnel SSH, porque o MySQL não criptografa nada e abrir sua instância do MySQL para o mundo é uma péssima idéia. Este artigo da KB do meu trabalho descreve o processo: link

(Ah, e como um aparte, esse firewall não está bloqueando nada de qualquer maneira, já que todas as suas políticas estão definidas como ACCEPT. É um firewall sem propósito).

    
por 17.11.2009 / 16:52
0

Problema de conexão do Mysql?

Eu sei que é estranho, mas eu tenho que perguntar se o mysql está rodando?

no seu my.cnf você pode ter a linha pular rede que bloqueiam a conexão remota.

Verifique também o Daemon que inicia o seu mysql no rc.mysqld (a localização pode variar pode ser / etc / sysconfig / mysqld) não tem o --skip-networking

no seu mysql você pode verificar com um:

mysql > MOSTRE AS VARIÁVEIS COMO 'skip_networking';

Para o iptables eu uso:

iptables -A INPUT -p tcp -s 0/0 --sporte 1024: 65535 -d [Server_IP] --dport 3306 -m state --state NOVO, ESTABELECIDO -j ACCEPT

iptables -A OUTPUT-p tcp -s [Server_IP] --sport 3306 -d 0/0 --dport 1024: 65535 -m estado - state ESTABLISHED -j ACCEPT

    
por 17.11.2009 / 17:00
0

Você tem o selinux em execução no modo de aplicação? Tente cat /selinux/enforce para descobrir - acho que o modo de aplicação padrão bloqueará as conexões de entrada.

    
por 17.11.2009 / 18:26