Conectando através de uma VPN o que é IP do servidor remoto?

1

Estou conectando-me a uma VPN com êxito e agora quero usar o MySQl Administrator para conectar-me ao banco de dados MySQL no servidor. Não sei o que colocar no endereço do host do servidor.

Existe um script PHP no servidor que se conecta usando o host local. Como eu descobriria o que o host local realmente tem sobre a VPN?

Provavelmente estou fazendo essa pergunta de uma maneira realmente estúpida - desculpe por isso. Isso está bem no limite do meu conhecimento.

    
por Alex Andronov 06.07.2009 / 20:37

2 respostas

3

Alex, localhost é o nome que resolve para o adaptador de loopback local presente em qualquer máquina com uma conexão e seu endereço é 127.0.0.1 - portanto, se um cliente se conecta a um serviço em "localhost", isso significa que ele se conecta a uma porta na máquina local.

O servidor também tem um endereço público, que é atribuído ao adaptador de rede "real", digamos 123.123.123.123 - você e o mundo podem acessar seu servidor por meio deste endereço, mas apenas as portas abertas para esse adaptador . Por motivos de segurança, a porta 3306 do mysql é aberta apenas para o adaptador de loopback local 127.0.0.1 por padrão.

Um túnel VPN criará uma conexão virtual mas segura entre sua máquina local e o servidor. Seu servidor e também sua máquina local terão adaptadores de rede virtual adicionais nesse caso. Vamos dizer que seu servidor tem 10.10.10.1 e sua máquina local 10.10.10.2 nas extremidades do túnel.

Se você pingar 10.10.10.1 de sua máquina local, o servidor deve responder. (Neste caso, 10.10.10.1 é o endereço do host, que poderia responder à sua pergunta). Mas a porta mysql provavelmente ainda não está escutando nesta interface, porque ela só escuta 127.0.0.1 - você pode mudar isso nas configurações do servidor mysql, mas tenha certeza que não vai escutar no IP público.

O 10.10.10.x é apenas um exemplo, mas como você descobre o endereço real?

Na sua máquina local e no seu servidor, abra uma janela de terminal. No servidor digite "ifconfig" e no tipo de máquina windows "ipconfig" (a ortografia no segundo caractere) e as máquinas informam os endereços de todos os seus adaptadores. Agora você pode ver qual é o adaptador vpn adicional em ambas as máquinas (eles têm endereços semelhantes).

Se você não quiser alterar a configuração do seridor, você pode "encaminhar" a porta, que é uma técnica diferente e pode ser feita com ssh ou putty. Você terá que fazer uma conexão ssh ou putty de sua máquina local para o servidor e encaminhar a porta 3306 no IP 127.0.0.1 do seu servidor para a sua máquina local.

Se você estiver usando putty, vá para a seção de tunelamento ssh e adicione um encaminhamento de porta local 127.0.0.1:3306 - e se você estiver usando ssh, este é o comando:

ssh -l remoteusername -L 3306: 127.0.0.1: 3306 your.servername.com

Após a conexão ssh ou putty estar ativa você tem que dizer ao seu software de administração mysql para se conectar ao host local (assim você coloca 127.0.0.1 ou a palavra localhost como Host do Servidor), porque a porta é encaminhada e agora presente no seu local máquina em 127.0.0.1 - este é o resultado da technik de encaminhamento de porta que o protocolo ssh pode fazer. Certifique-se de não executar um serviço mysql em sua caixa local ao mesmo tempo.

Você mencionou que perdeu a conexão com o servidor quando criou o encapsulamento. Esta é provavelmente uma restrição de segurança do software de encapsulamento. Mas você ainda deve conseguir se conectar através do túnel com a ferramenta admin do mysql.

    
por 06.07.2009 / 22:37
1

Como você sabe que existe um script PHP usando localhost se você não conhece o IP do servidor? Se você tem acesso ftp / ssh / web ao servidor, use o mesmo IP para conectar ao mysql como o que você usa para ftp / ssh / http. Mas pode ser que o mysql seja apenas localmente, neste caso você precisará se conectar ao servidor usando o ssh e rodar o mysqladmin localmente (ou você pode usar coisas como phpmyadmin)

    
por 06.07.2009 / 20:59

Tags