Olá pessoal, tudo bem?
Há alguns meses, tenho enfrentado um problema quando eu uso a VM no meu notebook.
Em parte, sei o que está acontecendo, mas não sei como resolver.
Eu uso um notebook com uma conexão wireless ao roteador.
Quando eu uso a libvirt para instalar e executar VMs nele, o host perde
alguma conectividade com a Internet, e mesmo com os outros computadores na
rede (muito embora, eu seja capaz de acessar este mesmo notebook por meio
de ssh partindo de outro computador. na rede).
Descobri que isto acontece porque a interface inet0 (inet1, inet2...) que
sobe cada vez que eu ligo a VM é configurada com link-local address (IPs da rede 169.254.0.0/16), e em seguida, a tabela de roteamento no notebook é alterada.
Se eu retiro a configuração de IP da interface inet0, eu volto a ter conectividade com a rede local e com a Internet, mas eu gostaria de
encontrar uma solução para isto.
Vou mostrar o resultado dos comandos "ip a" e "ip r" antes e depois da VM subir.
$ ip a # Antes da VM subir:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP group default qlen 1000
link/ether 00:45:e2:de:81:3d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.243/24 brd 192.168.1.255 scope global dynamic
noprefixroute wlp1s0
valid_lft 29072sec preferred_lft 29072sec
inet6 fd1b:630d:a7be::904/128 scope global dynamic noprefixroute
valid_lft 29072sec preferred_lft 29072sec
inet6 fd1b:630d:a7be:0:594c:ab81:5462:68a5/64 scope global
noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::779:de34:7646:eae9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:56:d5:0e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
----//----
$ ip r # antes da VM subir (tabela de roteamento):
default via 192.168.1.1 dev wlp1s0
default via 192.168.1.1 dev wlp1s0 proto dhcp src 192.168.1.243 metric 600 169.254.0.0/16 dev virbr0 scope link metric 1000 linkdown
192.168.1.0/24 dev wlp1s0 proto kernel scope link src 192.168.1.243 metric
600
192.168.1.1 dev wlp1s0 scope link
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
linkdown
====||====
$ ip a # Depois da VM subir:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP group default qlen 1000
link/ether 00:45:e2:de:81:3d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.243/24 brd 192.168.1.255 scope global dynamic
noprefixroute wlp1s0
valid_lft 28365sec preferred_lft 28365sec
inet6 fd1b:630d:a7be::904/128 scope global dynamic noprefixroute
valid_lft 28366sec preferred_lft 28366sec
inet6 fd1b:630d:a7be:0:594c:ab81:5462:68a5/64 scope global
noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::779:de34:7646:eae9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP group default qlen 1000
link/ether 52:54:00:56:d5:0e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:a4:25:89 brd ff:ff:ff:ff:ff:ff
inet 169.254.152.55/16 brd 169.254.255.255 scope global vnet1
valid_lft forever preferred_lft forever
inet6 fe80::fc54:ff:fea4:2589/64 scope link
valid_lft forever preferred_lft forever
----//----
$ ip r # Depois da VM subir:
0.0.0.0 dev vnet1 scope link
default dev vnet1 scope link
default via 192.168.1.1 dev wlp1s0 proto dhcp src 192.168.1.243 metric 600 169.254.0.0/16 dev vnet1 proto kernel scope link src 169.254.152.55 169.254.0.0/16 dev virbr0 scope link metric 1000
192.168.1.0/24 dev wlp1s0 proto kernel scope link src 192.168.1.243 metric
600
192.168.1.1 dev wlp1s0 scope link
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
====||====
Eu pesquisei um pouco, e a melhor resposta que eu encontrei foi esta (ainda não testada):
https://serverfault.com/questions/1074912/host-has-no-internet-access-when-vms-are-running
Achei a solução um pouco estranha.
No meu desktop, que não tem nenhuma interface wifi, essas coisas não acontecem.
Alguém já enfrentou problema parecido?
Atenciosamente,
Atenágoras Souza Silva.
<div dir="ltr"><div>Olá pessoal, tudo bem?</div><div>Há alguns meses, tenho enfrentado um problema quando eu uso a VM no meu notebook.</div><div>Em parte, sei o que está acontecendo, mas não sei como resolver.</div><div><br></div><div>Eu uso um
notebook com uma conexão wireless ao roteador.</div><div>Quando eu uso a libvirt para instalar e executar VMs nele, o host perde alguma conectividade com a Internet, e mesmo com os outros computadores na rede (muito embora, eu seja capaz de acessar este
mesmo notebook por meio de ssh partindo de outro computador. na rede).</div><div><br></div><div>Descobri que isto acontece porque a interface inet0 (inet1, inet2...) que sobe cada vez que eu ligo a VM é configurada com link-local address (IPs da rede <a
href="
http://169.254.0.0/16">169.254.0.0/16</a>), e em seguida, a tabela de roteamento no notebook é alterada.</div><div><br></div><div>Se eu retiro a configuração de IP da interface inet0, eu volto a ter conectividade com a rede local e com a
Internet, mas eu gostaria de encontrar uma solução para isto.</div><div><br></div><div>Vou mostrar o resultado dos comandos "ip a" e "ip r" antes e depois da VM subir.</div><div><br></div><div>$ ip a # Antes da VM subir:</div><div>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<br> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br> inet <a href="
http://127.0.0.1/8">127.0.0.1/8</a> scope host lo<br> valid_
lft forever preferred_lft forever<br> inet6 ::1/128 scope host <br> valid_lft forever preferred_lft forever<br>2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000<br> link/ether
00:45:e2:de:81:3d brd ff:ff:ff:ff:ff:ff<br> inet <a href="
http://192.168.1.243/24">192.168.1.243/24</a> brd 192.168.1.255 scope global dynamic noprefixroute wlp1s0<br> valid_lft 29072sec preferred_lft 29072sec<br> inet6 fd1b:630d:a7be:
:904/128 scope global dynamic noprefixroute <br> valid_lft 29072sec preferred_lft 29072sec<br> inet6 fd1b:630d:a7be:0:594c:ab81:5462:68a5/64 scope global noprefixroute <br> valid_lft forever preferred_lft forever<br> inet6
fe80::779:de34:7646:eae9/64 scope link noprefixroute <br> valid_lft forever preferred_lft forever<br>3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000<br> link/ether 52:54:00:56:
d5:0e brd ff:ff:ff:ff:ff:ff<br> inet <a href="
http://192.168.122.1/24">192.168.122.1/24</a> brd 192.168.122.255 scope global virbr0<br> valid_lft forever preferred_lft forever</div><div>----//----</div><div>$ ip r # antes da VM subir (
tabela de roteamento):</div><div>default via 192.168.1.1 dev wlp1s0 <br>default via 192.168.1.1 dev wlp1s0 proto dhcp src 192.168.1.243 metric 600 <br><a href="
http://169.254.0.0/16">169.254.0.0/16</a> dev virbr0 scope link metric 1000 linkdown <br><a
href="
http://192.168.1.0/24">192.168.1.0/24</a> dev wlp1s0 proto kernel scope link src 192.168.1.243 metric 600 <br>192.168.1.1 dev wlp1s0 scope link <br><a href="
http://192.168.122.0/24">192.168.122.0/24</a> dev virbr0 proto kernel scope link src 192.
168.122.1 linkdown</div><div><br></div><div>====||====</div><div><br></div><div>$ ip a # Depois da VM subir:</div><div>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<br> link/loopback 00:00:00:00:00:
00 brd 00:00:00:00:00:00<br> inet <a href="
http://127.0.0.1/8">127.0.0.1/8</a> scope host lo<br> valid_lft forever preferred_lft forever<br> inet6 ::1/128 scope host <br> valid_lft forever preferred_lft forever<br>2: wlp1s0:
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000<br> link/ether 00:45:e2:de:81:3d brd ff:ff:ff:ff:ff:ff<br> inet <a href="
http://192.168.1.243/24">192.168.1.243/24</a> brd 192.168.1.255 scope
global dynamic noprefixroute wlp1s0<br> valid_lft 28365sec preferred_lft 28365sec<br> inet6 fd1b:630d:a7be::904/128 scope global dynamic noprefixroute <br> valid_lft 28366sec preferred_lft 28366sec<br> inet6 fd1b:630d:a7be:0:
594c:ab81:5462:68a5/64 scope global noprefixroute <br> valid_lft forever preferred_lft forever<br> inet6 fe80::779:de34:7646:eae9/64 scope link noprefixroute <br> valid_lft forever preferred_lft forever<br>3: virbr0: <
BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000<br> link/ether 52:54:00:56:d5:0e brd ff:ff:ff:ff:ff:ff<br> inet <a href="
http://192.168.122.1/24">192.168.122.1/24</a> brd 192.168.122.255 scope global
virbr0<br> valid_lft forever preferred_lft forever<br>5: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN group default qlen 1000<br> link/ether fe:54:00:a4:25:89 brd ff:ff:ff:ff:ff:ff<br>
inet <a href="
http://169.254.152.55/16">169.254.152.55/16</a> brd 169.254.255.255 scope global vnet1<br> valid_lft forever preferred_lft forever<br> inet6 fe80::fc54:ff:fea4:2589/64 scope link <br> valid_lft forever preferred_
lft forever</div><div>----//----</div><div>$ ip r # Depois da VM subir:</div><div>0.0.0.0 dev vnet1 scope link <br>default dev vnet1 scope link <br>default via 192.168.1.1 dev wlp1s0 proto dhcp src 192.168.1.243 metric 600 <br><a href="
http://169.254.0.0/
16">169.254.0.0/16</a> dev vnet1 proto kernel scope link src 169.254.152.55 <br><a href="
http://169.254.0.0/16">169.254.0.0/16</a> dev virbr0 scope link metric 1000 <br><a href="
http://192.168.1.0/24">192.168.1.0/24</a> dev wlp1s0 proto kernel scope link
src 192.168.1.243 metric 600 <br>192.168.1.1 dev wlp1s0 scope link <br><a href="
http://192.168.122.0/24">192.168.122.0/24</a> dev virbr0 proto kernel scope link src 192.168.122.1</div><div><br></div><div>====||====</div><div><br></div><div>Eu pesquisei
um pouco, e a melhor resposta que eu encontrei foi esta (ainda não testada): <a href="
https://serverfault.com/questions/1074912/host-has-no-internet-access-when-vms-are-running">https://serverfault.com/questions/1074912/host-has-no-internet-access-when-
vms-are-running</a></div><div><br></div><div>Achei a solução um pouco estranha.</div><div><br></div><div>No meu desktop, que não tem nenhuma interface wifi, essas coisas não acontecem.</div><div><br></div><div>Alguém já enfrentou problema parecido?<
/div><div><br></div><div>Atenciosamente,</div><div>Atenágoras Souza Silva.<br></div></div>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)