Route add não tem efeito com a interface NAT

0

Eu tenho a rede:

Computador A (MacOS) ( 192.168.0.10 ) < - (Wi-Fi) - > Computador B (Ubuntu) ( 192.168.0.15 ).

O computador A tem VM (Kali) com conexão de interface NAT ( 172.16.219.128 ).

Eu quero ping 172.16.219.128 (VM de A) em 192.168.0.15 (B).

Eu adicionei rota em 192.168.0.15 (B):

# route add -net 172.16.219.0 netmask 255.255.255.0 gw 192.168.0.10
# route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    600    0        0 wlp7s0
link-local      *               255.255.0.0     U     1000   0        0 wlp7s0
172.16.219.0    192.168.0.10    255.255.255.0   UG    0      0        0 wlp7s0
192.168.0.0     *               255.255.255.0   U     600    0        0 wlp7s0

# traceroute 172.16.219.128
traceroute to 172.16.219.128 (172.16.219.128), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * *^C

Claro, o ping também não recebe pacotes. Eu acho que o computador B até mesmo envia pacotes através do gateway ... por quê?

Se eu fizer o " ping 172.16.219.128 " do computador A, ele funcionará muito bem.

PS: Quando altero a interface da VM para Adaptador de ponte , o computador B pode fazer ping (claro, com novo IP 192.168.0.20 ) sem adicionar uma rota. / p>     

por Alex Yeremenko 20.11.2016 / 18:11

1 resposta

1

A, rodando OSX é o roteador entre a VM e B, e está fazendo NAT para a VM: isso significa que o IP da VM nunca deve ser visto na conexão (menos) entre A e B. Portanto, com essa configuração B shouldn não tem qualquer conhecimento de 172.16.219.128 em tudo.

Ou:

  • adicione regras nat de reencaminhamento de portas em A (com comandos NAT específicos do MacOS, se A estava executando Linux que seriam principalmente regras DNAT com iptables) para ter todas ou parte de conexões de B para A para serem encaminhadas por porta para a VM e esquecer de usar o IP da VM em B. B irá simplesmente se conectar a A (ou mesmo a um outro IP reservado para a VM, tudo depende das configurações NAT de A). Aqui está uma página falando sobre encaminhamento de porta no MacOS: link . Eu não testei porque não tenho nenhum MacOS. Também parece que a última versão mudou ferramentas (não mais natd):

  • ou altere a configuração da VM para não usar NAT, mas roteamento básico: A, o roteador, conhece as rotas para VM e para B e você explicitamente disse a B a rota para a VM. Então, se apenas esses três sistemas estão preocupados (e não toda a internet), não há NAT necessário para B acessar a VM. Eu não sei se as configurações de Wi-Fi (em vez de ethernet real) em A vão dar um problema.

Na verdade, uma combinação de ambos seria melhor: algumas regras (ainda em A) adicionando exceções ao NAT, para não usar o NAT entre VM e B apenas, porque suponho que a VM ainda precise de internet. Você terá que descobrir isso. Eu diria que, usando o exemplo de apple.stackexchange acima, você poderia substituir "to any" por "para! 192.168.0.15" no arquivo chamado "nat-rules"

    
por 21.11.2016 / 00:31