Endereço IP incorreto presente ao conectar do localhost ao localhost

0

Eu tenho um servidor Linux com o Ubuntu instalado nele. Quando me conecto a algum serviço (MySQL, apache, icecast, por exemplo) da mesma máquina no endereço 127.0.0.1 , todos mostram que eu conectei do meu endereço local ( 10.10.x.x ) em vez de localhost ( 127.0.0.1 ) . Isso causa problemas na conexão com o banco de dados MySQL (por causa das restrições que permitem a conexão apenas do localhost) e apenas parece feio.

Qual é o motivo deste problema? Como consertar isso?

    
por namikiri 24.04.2015 / 20:56

2 respostas

0

Como de costume, o problema estava escondido em outro lugar do sistema. Eu tinha essa regra para iptables que acabei de copiar de algum manual:

-A POSTROUTING -j MASQUERADE

Esta regra foi definida para permitir que o NAT acesse clientes para a Internet. Essa regra não estava limitada a nenhuma condição, portanto, pedidos de localhost para localhost eram NAT e os aplicativos estavam detectando IP incorreto. Após a adição de algumas condições (endereços IP de origem) a esta regra, obtive o endereço 127.0.0.1 como endereço IP dos clientes:

-A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.3.0/24 -j MASQUERADE
-A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE

Problema resolvido.

    
por 03.05.2015 / 13:11
0

Infelizmente, o MySQL historicamente usa localhost como uma conexão baseada em soquete, ao invés de ip. Você não verá 127.0.0.1 ou localhost até não se conectar por soquete. (Sim está errado)

    
por 02.05.2015 / 11:06