Conectando-se ao soquete da VM remota

0

Isso pode vir a ser bastante básico, mas estou no dilema agora sobre isso. Eu tenho uma máquina virtual no KVM que tem algum servidor de soquete. Eu sou capaz de se conectar a esta máquina via localhost, ou seja, usando um cliente na máquina host, mas o que eu quero fazer é ser capaz de se conectar remotamente. Por remotamente quero dizer de outro PC.

Neste momento, nem sequer consegui fazer o ping destas máquinas. O ip atribuído a esta máquina por padrão é 192.168.122.122 e o ip do meu host quando se conecta à rede da Universidade é algo como 10.5.135.* . Existe alguma maneira de me conectar remotamente ao meu aplicativo? De preferência, sem ter que mudar o ip da VM, pois há muita configuração, eu precisarei mudar. Estou disposto a criar um hot-spot com algum ip estático, se for necessário.

Aprecie qualquer ajuda que eu possa obter a esse respeito.

    
por Usama Zafar 30.12.2017 / 20:43

1 resposta

2

Você pode configurar o encaminhamento de porta no host para determinadas portas TCP e UDP. Parece ser impossível fazer o DNAT com o ICMP.

As alternativas são configurar um encapsulamento criptografado (SSH, OpenVPN, IPsec) ou de texto não criptografado do sistema remoto para o host e configurar o roteamento para o (s) endereço (s) da VM através deste túnel no sistema remoto.

encaminhamento de porta SSH

host_ip='10.5.135.42'
vm_ip='192.168.122.122'
vm_port=42
# on the remote system
ssh -L "127.0.0.1:1234:${vm_ip}:${vm_port}" user@$host_ip

Quando esta conexão SSH estiver ativa, você poderá se conectar no sistema remoto à porta 1234 e alcançar a porta desejada na VM:

telnet localhost 1234

DNAT com iptables

No host:

vm_ip='192.168.122.122'
vm_port=42
iptables -t nat -A PREROUTING -p tcp --dport "$vm_port" -j DNAT --to-destination "$vm_ip"
iptables -t nat -A POSTROUTING -p tcp -d "$vm_ip" --dport "$vm_port" -j MASQUERADE

Em seguida, você pode se conectar à porta no host e o pacote é redirecionado para a VM. Como a VM vê o pacote vindo do host (e não do sistema remoto devido ao mascaramento), isso funciona.

    
por 30.12.2017 / 21:16

Tags