Sou novo em NAT e iptables, tenho meu servidor físico rodando CentOS 6 com KVM instalado, mais 2 caixas Linux são iniciadas como VM - VM2 e VM3, e seu ip é 192.168.122.2 e 192.168.122.3 respectivamente. Como tenho apenas um IP real, o NAT é usado para encaminhar solicitações externas de porta para o aplicativo da VM, por exemplo, porta 30022 para o ssh da VM3 (porta 22). Após a configuração, tudo funcionou bem, já está funcionando há um mês, mas depois de fazer uma atualização de RAM e reiniciar o servidor, o NAT/port forward não está funcionando novamente.
Mais Informações:
- Iptables rodando no sistema operacional host, mas NÃO em sistemas operacionais convidados.
- Host OS iptables configurou o NAT da seguinte forma:
alvo prot opt origem destino DNAT tcp - em qualquer lugar tcp dpt:30022 to:192.168.122.3:22 DNAT tcp - em qualquer lugar tcp dpt:20022 to:192.168.122.2:22(22)
- Resultado do comando iptables -t nat -L -v -n:
pacotes bytes alvo prot opt in out origem destino 6 304 LOG tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:30022 Sinalizadores LOG 0 nível 4 prefixo ROTA APP3 6 304 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:30022 a:192.168.122.3:22 3 152 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20022 para:192.168.122.2:22
- Isso significa que o pacote é tratado pela regra NAT enquanto tento fazer telnet 30022 do meu PC local (rede separada)
Tive dificuldades por alguns dias..alguma ajuda?
Responder1
Você deve verificar se o encaminhamento de IP está habilitado em seu host usando cat /proc/sys/net/ipv4/ip_forward
. Este comando deve imprimir 1
. Se não estiver habilitado, você deve habilitá-lo usando echo 1 > /proc/sys/net/ipv4/ip_forward
.