Назад | Перейти на главную страницу

Ubuntu по умолчанию использует IPv6, по умолчанию - IPv4.

Ubuntu 16.04.5 с ядром 4.4 работал по назначению: IPv4 по умолчанию. После перехода на ядро ​​(hwe) 4.15 по умолчанию используется IPv6.

Он имеет IPv6, доступный через Tunnelbroker, транслируемый маршрутизатором.

Теперь по умолчанию используется IPv6: curl ifconfig.co возвращает IPv6 машины. Только curl -4 ifconfig.co возвращает желаемый IPv4-адрес. (curl -6 ifconfig.co как и ожидалось, возвращает IPv6)

$ ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

$ ip -6 rule list
0:      from all lookup local
32766:  from all lookup main

$ ip route list
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.x

$ ip -6 route list
2001:470:x:999::9999:f6a dev eth0  proto kernel  metric 256  pref medium
2001:470:x:999::/64 dev eth0  proto kernel  metric 256  expires 42905sec pref medium
fe80::/64 dev eth0  proto kernel  metric 256  pref medium
default via fe80::2ac6:8eff:fe65:d117 dev eth0  proto ra  metric 1024  expires 1505sec hoplimit 64 pref medium

PS: Некоторые провайдеры все еще сообщают IPv4, например curl ipinfo.io/ip. Я давно использую ifconfig.co, поэтому не уверен, изменили ли они свои настройки (что менее вероятно) или обновление ядра заставляет Ubuntu предпочесть IPv6.

Как узнать, почему предпочтение отдается IPv6?

Установите разрешение имен, чтобы предпочесть v4. Для пользователей getaddrinfo glibc: раскомментируйте строку приоритета после комментария «предпочитают IPv4» в /etc/gai.conf. Тот, у кого IPv4 / 96.