Resumo
Você deve verificar o escopo do endereço IP da sua interface de rede. Se for link
, os endereços IP de origem de seus pacotes de saída não locais serão substituídos por 0.0.0.0
. Se for global
, você entrará na Internet como de costume.
O escopo do endereço IP pode ser encontrado na saída do comando ip address show
, na seção da sua interface de rede.
Para alterar o escopo, você pode usar ip address del
para excluir o endereço IP de seu host e, em seguida, usar ip address add
para adicioná-lo novamente com o escopo direito. Se você fizer isso, o gateway padrão será removido da tabela de roteamento. Então você deve adicioná-lo manualmente.
Isso é tudo. Após as etapas listadas acima, a Internet deve funcionar.
Exemplo
Aqui está um exemplo (algumas saídas não relevantes são truncadas, outras são (não) recuadas):
# ip addr
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:d1:09:56 brd ff:ff:ff:ff:ff:ff
inet 169.254.55.3/16 brd 169.254.255.255 scope link dynamic ens33
valid_lft 1596sec preferred_lft 1596sec
# ip addr del 169.254.55.3/16 dev ens33
# ip addr add 169.254.55.3/16 dev ens33 scope global
# ip addr
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:d1:09:56 brd ff:ff:ff:ff:ff:ff
inet 169.254.55.3/16 scope global ens33
valid_lft forever preferred_lft forever
# ip route add default via 169.254.0.34 dev ens33
# ip route
default via 169.254.0.34 dev ens33
169.254.0.0/16 dev ens33 proto kernel scope link src 169.254.55.3
Testado em CDs ao vivo do Fedora 23 e Centos 7.2.
Notas
- Esta solução tem uma grande desvantagem no uso do endereço estático. Não se encaixa bem com LANs e DHCP do hostel.
- Tenho certeza de que há uma linha de configuração simples em algum lugar para instruir o sistema a fornecer escopo global para endereços locais de link (169.254.0.0/16). Mas ainda não encontrei. Deixe-me saber, por favor, se você fizer isso.
- Note que algumas distribuições antigas e maduras não têm esse problema. Por exemplo, o Fedora 12 e o novo Centos 6.8 (todos eles têm o antigo kernel 2.6.32) fornecem escopo global para endereços locais de links.
- Se alguém alterasse o escopo para vincular a esses distors, ele se depararia com o problema discutido: os endereços IP de origem de todos os pacotes IP de saída não locais seriam substituídos por
0.0.0.0
.
- É interessante saber, o que faz isso substituir. Se eu soubesse disso, encontraria a resposta para o item 2.
- Com escopo global , pacotes IP de saída não-locais são roteados perfeitamente pelo roteador NAT construído na recente VMWare Workstation e por uma máquina Linux com o Fedora 12 funcionando como um roteador, apesar dos RFCs.