Aviso do MySQL “endereço IP não pôde ser resolvido”

28

Eu tenho a configuração Mestre / Escravo do MySQL e notei os seguintes avisos nos arquivos de log do mysql em ambos os servidores:

[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known

Eu verifiquei e as pesquisas de DNS funcionam bem e a maioria desses IPs são da China.

Estou planejando limitar o acesso na porta 3306 no firewall, mas você poderia me ajudar a entender o que eles estão tentando fazer. Eles estão apenas tentando se conectar ao servidor MySQL. Onde posso procurar mais detalhes.

Obrigado

    
por HTF 30.05.2012 / 10:52

4 respostas

40

Quando você cria um usuário MySQL [email protected] , o MySQL tem que fazer uma pesquisa reversa em cada endereço IP que se conecta a ele para determinar se eles são parte de example.com .

É claro que não há restrição na criação de pesquisas inversas, por isso, posso pedir ao meu provedor que defina a pesquisa inversa do meu endereço IP como google.com se eu quiser ... ou example.com se acontecer de eu sabe que é isso que os usuários do seu banco de dados têm. Isso não me deixa entrar, pois o MySQL faz uma pesquisa direta no domínio retornado para garantir que ele corresponda ao mesmo endereço IP que está se conectando.

Você pode desativar isso com skip_name_resolve no seu my.cnf . Existem muitas boas razões para fazer isso .

O motivo pelo qual você está recebendo este erro é que o endereço IP em questão não tem nenhuma pesquisa reversa.

Você também tem invasores mal-intencionados da China tentando forçar sua entrada no banco de dados. Essa deve ser sua principal prioridade.

    
por 30.05.2012 / 11:15
12

Eu acho uma idéia muito ruim expor seus servidores de banco de dados diretamente na internet.

Se você estiver replicando para um host remoto e precisar de acesso à Internet para conseguir isso, sugiro que você configure uma VPN entre as duas redes e ligue seus servidores MySQL para ouvir apenas a rede local.

Se ambos os seus hosts estiverem na mesma rede local, você estará seguro para vincular seus servidores mysql a essa rede.

    
por 30.05.2012 / 11:15
0

Ao conectar-se ao Mysql remotamente, recebi um erro. Eu tive esse aviso em /var/log/mysqld.log :

[Warning] IP address 'X.X.X.X' could not be resolved: Temporary failure in name resolution

Acabei de adicionar esta linha ao arquivo /etc/hosts :

X.X.X.X some_name

Problema resolvido! sem usar skip-name-resolve , causou alguns erros no meu aplicativo local, ao conectar ao mysql.

    
por 21.05.2016 / 09:56
0

Apenas fui pego por isso também no Amazon RDS. Eu queria apenas conectar-me à minha instância de banco de dados de teste (seguir é definitivamente não recomendado para bancos de dados de produção):

Os grupos de segurança no Amazon RDS funcionam de maneira um pouco diferente das regras normais de firewall para as instâncias do EC2. Se você abrir a porta do MySQL para o IP específico, o IP deve ser reconhecido pelo seu servidor MySQL. Se não, a conexão é recusada. A solução temporária é criar um novo grupo de segurança, por exemplo, anyone_can_connect_to_mysql com apenas um único item - permitir conexão de entrada MySQL / Aurora em qualquer lugar da Internet e anexar este grupo de segurança ao seu banco de dados.

Inbound
-----------------------------------------
| MYSQL/Aurora | TCP | 3306 | 0.0.0.0/0 |
-----------------------------------------

Isso remove a verificação de IP das conexões do cliente para que você esteja livre para se conectar. Não se esqueça de desanexar a política anyone_can_connect_to_mysql do banco de dados depois que os problemas de resolução terminarem.

    
por 24.10.2016 / 10:12