Você precisa de duas etapas para que isso funcione:
-
Primeiro, você precisa permitir o encaminhamento IPv4 na máquina Windows. Isso permitirá mover pacotes de uma interface para outra. As instruções para fazer isso dependem da versão do Windows que você está usando, por exemplo, para o XP você pode usar esta referência e para o Windows 10 você pode use esta outra referência . De qualquer forma, o reencaminhamento IPv4 do Windows do Windows para mais informações. Em qualquer caso, é apenas uma questão de alterar uma entrada do Registro do Windows, embora a chave exata mude com a versão do Windows.
-
Você precisa instruir sua máquina Linux para usar o host do Windows como um gateway para o RPI. Isso pode ser feito com o seguinte comando:
ip route add RPI_IP_ADDRESS/32 via WINDOWS_HOST_IP_ADDRESS
Isso garante que os pacotes possam fluir na direção oposta com os cabeçalhos do convidado da VM do Linux: dessa forma, eles são reconhecidos como a resposta pertinente às conversas iniciadas pelo RPI. Se você não usasse isso, os cabeçalhos dos pacotes seriam alterados para refletir o endereço IP do host do Windows, o que significa que o RPI receberia respostas de um endereço diferente daquele em que tinha escrito.
Isso é tudo.
EDITAR :
com referência ao comentário:
dê ao seu convidado Linux um endereço MAC falso, que tenha acesso à sua LAN. Use o RPI para ouvir conversas, com tcpdump -i eth0 -n arp . Isto irá mostrar um número de endereços MAC que estão presentes na sua rede. Altere o endereço MAC do seu convidado Linux com macchanger , dando a ele o que você acabou de aprender. Agora use o adaptador Bridge para o convidado Linux. Vai funcionar como um encanto. Além disso, você pode considerar ter um PC com um sistema operacional real, pois o que você está tentando fazer é bastante sofisticado. O Windows fica aquém disso.
-
roubar um endereço faz não interferir na conectividade do outro cara: os pacotes são numerados, se o seu PC receber um pacote com um número incorreto, ele simplesmente o descartará.
-
você torna-o permanente na inicialização da seguinte forma: na VM (suponho que você esteja no Debian ou derivados Ubuntu / Mint, ..., se não, é uma sincronização para adaptar o que segue ao que você estiver usando), edite / etc / network / interfaces , e cole o seguinte (assumindo que eth1 é a interface para conectar):
auto eth1 iface eth1 inet dhcp pre-up macchanger -m XX:XX:XX:XX:XX:XX eth1
e é isso.