encaminhamento de porta MySQL

0

Estou tentando ajudar um colega a se conectar ao meu servidor MySQL. No entanto, a situação é um pouco especial, e aqui está o porquê (vamos chamá-lo de pessoa A e eu, pessoa B):

A pessoa A tem um PC, no qual ele tem uma máquina virtual, que está na mesma rede que o PC real que ele está executando. No entanto, a pessoa A também está na mesma rede com a pessoa B (uma rede diferente).

Eu quero que o site que mora na VM de A possa se conectar ao servidor MySQL no PC de B. Para isso, pensei que um encaminhamento de porta seria apropriado: de ip-of-person-A:3306 para ip-of-person-B:3306 . Dessa forma, o site se conectaria ao IP do PC em que ele está (não a VM), que encaminharia para o MySQL de A.

Eu já vi vários exemplos de redirecionamento de portas, mas não acho que seja o que eu preciso, pelo que vi, é exatamente o oposto. Então algo assim seria possível?

    
por Eduard Luca 04.12.2012 / 11:46

1 resposta

1

A pessoa A pode usar o encaminhamento de porta com iptables em sua máquina, ele permitirá que conexões feitas para sua máquina 10.0.0.1 sejam encaminhadas para a máquina PersonBs 172.16.0.1

echo "1" > /proc/sys/net/ipv4/ip_forward    

personB=172.16.0.1
personA=10.0.0.1
personA_VM=10.0.0.2
personA_2=172.16.0.2
mysql=3306 # port

### Make all packets from VM to mysql go to Person B
iptables -t nat -I PREROUTING -p tcp --dport $mysql \ 
   -s $personA_VM/32  -d $personA  -j DNAT --to $personB:$mysql

### Make all packets local to PersonBs network.
iptables -t nat -I POSTROUTING -p tcp --dport $mysql \
   -s $personA_VM/32 -d $personB/32  -j MASQUERADE

Mas, como eu digo nos comentários, uma solução melhor é adicionar a VM a ambas as redes

    
por Erik Johansson 04.12.2012 / 12:36