No Windows 10 eu tenho um VirtualBox do Ubuntu em execução e tenho duas interfaces Ethernet no host do Windows:
- "Ethernet"
- "WLAN"
Agora quero conectar esses dois dispositivos Ethernet reais no host com duas interfaces virtuais no convidado do Ubuntu. Para isso defino dois adaptadores bridge na configuração do VirtualBox para conectar-se a "Ethernet" (Adapter2) e "WLAN" (Adapter3):
Dentro do convidado do VirtualBox eu defino a configuração de rede no arquivo /etc/netplan/01-network-manager-all.yaml
da seguinte forma:
# Let NetworkManager manage all devices on this system
network:
version: 2
ethernets:
enp0s8:
link-local: []
dhcp4: yes
enp0s9:
link-local: []
dhcp4: no
addresses:
- 192.168.200.100/24
gateway4: 192.168.200.220
A saída ip addr show
então mostra esta configuração (incorreta/inválida):
2: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 08:00:27:64:6a:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.200.243/24 brd 192.168.200.255 scope global dynamic enp0s8
valid_lft 43151sec preferred_lft 43151sec
3: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:ee:d0:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.100/24 brd 192.168.200.255 scope global enp0s9
valid_lft forever preferred_lft forever
QUESTÕES:
- Como descobrir qual adaptador na configuração do VirtualBox corresponde a qual interface no host do Ubuntu? Corresponde
Adapter2
aenp0s8
ou aenp0s9
? Como descobrir? - Como "consertar" a configuração da interface que está conectada ao adaptador "WLAN" do Windows para que o Ubuntu convidado realmente se conecte ao adaptador "WLAN" do Windows e à Internet externa? Porque não consigo executar ping em 8.8.8.8, ou seja, o sistema convidado do Ubuntu não parece ter conexão externa com a Internet. Também estranho é que as duas interfaces no convidado do Ubuntu estão na mesma sub-rede
192.168.200
. Isso não parece certo e pode ser o problema de o convidado do Ubuntu não conseguir acessar a Internet externa através do adaptador "WLAN" do Windows. Como consertar isto? - Posso ter um terceiro adaptador Ethernet que se conecta à Internet a cabo
- Não sou especialista em redes. Por exemplo, eu realmente não sei o que significa "gateway" quando definido para um adaptador nas configurações de rede.
- Quero me desculpar se esqueci alguma coisa, se tiver dúvidas. Como mencionei anteriormente, não sou especialista em redes. Idealmente, a resposta conterá algumas explicações gerais sobre como isso funciona.
Compare por endereço MAC. Ele é atribuído pelo VirtualBox, então você pode vê-lo
▶ Advanced
nas configurações do adaptador da VM e comparar com a saída do arquivoip -br link
.Na verdade, você pode usar diretamente o endereço MAC como uma condição de correspondência em sua configuração Netplan ou systemd-networkd, evitando totalmente nomes de interface (ou atribuindo nomes personalizados). A configuração padrão no Ubuntu Desktop usaria NetworkManager, mas pelas postagens anteriores parece que você decidiu usar o Netplan, então você pode configurá-lo como:
(Evite usar
ethXXX
nomes personalizados.)Com o NetworkManager, o mesmo pode ser conseguido configurando
ethernet.mac-address
os perfis de conexão.Não pule etapas. Corrija o problema nº 1 primeiro – ou seja, determine qual interface vai para onde – sem isso, qualquer IP estático ou configuração de gateway que você tiver não terá sentido e tentar corrigi-lo é discutível.
Depois de classificar as interfaces e ter certeza de que cada uma tem a configuração que deveria (por exemplo, o 192.168.200.100 estático está na verdade na interface que pertence a 192.168.200 e assim por diante), geralmente deve funcionar.
Se ainda não funcionar depois disso, observe sua tabela de roteamento usando
ip route
, especificamente nasdefault
rotas. Essas rotas correspondem diretamente aos gateways que você especifica para cada interface, e a rota 'padrão' com a métrica mais baixa é a que o Linux usará para obter acesso à Internet.O comando
ip route get 8.8.8.8 fibmatch
é uma maneira simples de verificar a escolha da rota padrão pelo kernel - se ele retornar a interface errada, então essa interface provavelmente não deveria ter um gateway especificado.Por exemplo, se a interface "estática" não tiver acesso à Internet (por exemplo, o acesso à Internet passa pela interface "DHCP"), então deverá remover o parâmetro 'gateway' da interface "estática" para que não gere um padrão passar por ele.
Mais especificamente, quando uma interface está conectada a apenas uma única sub-rede (e não vai além), então ela não precisa de um gateway, pois os gateways (roteadores) não lidam com comunicações locais – o único propósito de um gateway ( padrão ou não) é fornecer um caminho além da sub-rede local.
(Entretanto, uma interface que leva apenas a um conjunto limitado de redes – mais do que apenas uma única sub-rede, mas menos do que acesso total à Internet – ainda não precisaria de um gateway padrão ; em vez disso, teria gateways para rotas mais específicas. )
Bom, um deles está na sub-rede porque você o definiu estaticamente via Netplan, então o outro deve ter recebido seu endereço via DHCP. Isso provavelmente significa que as duas interfaces precisam ser trocadas – aquela que obteve o endereço 192.168.200 do DHCP é provavelmente aquela que deveria ter a configuração estática e vice-versa.
Pareceu muito longo para um comentário. Adicione detalhes se isso não responder às suas perguntas.
Sua máquina Windows 10 possui 2 NICs
WLAN Ethernet
Sua máquina Windows 10 possui um host virtual Linux
você conectou Ethernet ao Adaptador2 você conectou WLAN ao Adaptador3
você empregou esta configuração de rede
você é eth8 é 192.168.200.243
você é eth9 é 192.168.200.100 gw 192.168.200.220
A recompensa lista 2 perguntas. A pergunta lista 5 perguntas:
enp0s8 tem endereço mac 08:00:27:64:6a:fb enp0s9 tem endereço mac 08:00:27:ee:d0:c4
se você voltar para a página de configurações do adaptador de rede da caixa virtual e clicar na seta avançada, haverá um endereço MAC lá. você pode então correlacionar qual é enp0s8 e qual é enp0s9.
2.Como "consertar" a configuração da interface que está conectada ao adaptador "WLAN" do Windows para que o Ubuntu convidado realmente se conecte ao adaptador "WLAN" do Windows e à Internet externa? Porque não consigo executar ping em 8.8.8.8, ou seja, o sistema convidado do Ubuntu não parece ter conexão externa com a Internet. Também estranho é que as duas interfaces no convidado do Ubuntu estão na mesma sub-rede 192.168.200. Isso não parece certo e pode ser o problema de o convidado do Ubuntu não conseguir acessar a Internet externa através do adaptador "WLAN" do Windows. Como consertar isto?
As 2 interfaces do Ubuntu estão na mesma sub-rede .200 porque você está usando o modo de ponte, que tratará essas interfaces virtuais como se estivessem conectadas no mesmo nível de rede do host do Windows 10, que presumo que também esteja na sub-rede .200 . caso contrário, você pode não querer o modo bridge.
Se o que você está tentando transmitir é que o adaptador enp0s8 no seu convidado virtual Linux é aquele que você deseja usar para usar a internet, acho que você está fazendo errado
Sua intenção é tornar seu convidado virtual acessível a partir de outros computadores da sua rede ou apenas poder usar a internet a partir de sua máquina virtual. qual conexão de internet você deseja que sua máquina virtual use para acessar a internet, ela precisa usar 1, 2, 3 ou mais?
4 Não sou especialista em redes. Por exemplo, eu realmente não sei o que significa "gateway" quando definido para um adaptador nas configurações de rede.
uma placa de rede é um objeto físico que permite que dispositivos conversem em uma rede conectada. eles têm um endereço físico chamado endereço MAC que os torna únicos. é hexadecimal e se parece com isto 08:00:27:64:6a:fb.
quando uma placa de rede em um computador é conectada a um dispositivo de rede, como um roteador, esse dispositivo de rede pode conversar em uma camada de rede superior e atribuir endereços virtuais a cada máquina, estes são endereços IP. eles se parecem com este 192.168.1.1.
os endereços IP são agrupados logicamente em grupos menores chamados redes. Todas as redes possuem um gateway padrão e vários hosts. é como as máquinas da rede sabem qual dispositivo pedir para continuar fazendo solicitações para máquinas mais distantes dela
por exemplo, a rede 192.168.200.1/24 contém todos os ips de 200.0 a 200.254. normalmente, o roteador que distribui ips DHCP aos dispositivos seria .1 e os dispositivos listariam 192.168.200.1 como seu gateway.
todas as máquinas têm 1 gateway padrão ou dispositivo de rede padrão.
pela configuração mostrada, posso presumir que o seu roteador é 192.168.200.20 (se não for, remova esta configuração do gateway da configuração da sua rede, ele enviará o tráfego desta máquina virtual para este host)
que atribuiu 192.168.200.243 ao adaptador de rede em que você ativou o dhcp, você mesmo atribuiu 102.168.200.100 ao outro e disse que seu gateway é .220
Se o objetivo agora é fazer com que a configuração em ponte funcione, vá em sua máquina Linux e digite
netstat -rn
Isso listará o endereço do gateway padrão. Certifique-se de que essas configurações estejam corretas.
Se você consegue acessar a Internet a partir do host, mas não consegue fazer ping, verifique os filtros que podem estar no seu adaptador de rede no nível do Windows.