IPv6 работает, но IPv4 не работает
У меня есть новый ноутбук под управлением Ubuntu 16.04, который пару недель работал как шарм, но теперь потерял аппетит для подключения к интернету через Wi-Fi. Я знаю, что это не проблема с моим маршрутизатором или интернет-провайдером, потому что я пишу эту статью, используя свой старый ноутбук с Windows в той же домашней сети, к которой ноутбук Ubuntu не будет подключаться.
Я успешно подключаюсь к роутеру и работаю nmcli dev
показывает, что я подключен к своему устройству Wi-Fi (wlp2s0) и к беспроводной сети.
Прошлой ночью я смог открыть некоторые страницы (Google, Facebook, YouTube), но не другие (ubuntu.com, riken.jp). В то время я подозревал, что IPv6 работал, а IPv4 - нет. Теперь, однако, ничего не работает. Хром, пинг, wget, копать - ничего. /etc/resolv.conf/
вообще ничего не содержит (кроме строк комментариев, говорящих мне не редактировать его), а таблица возвращается route
пустой.
ОБНОВЛЕНИЕ 1: я использовал ipconfig /all
на моей машине Windows, чтобы выяснить, какие DNS-серверы он использовал (75.75.75.75, 75.75.76.76., 2001:558:feed::1, 2001:558:feed::2), затем использовал сетевые подключения, чтобы добавить их как DNS-серверы для моей домашней сети. cat /etc/resolv.conf
теперь дает мне nameserver 127.0.1.1
; Я не совсем уверен, что это значит, но я думаю, что это какой-то псевдоним, верно? nmcli dev show | grep DNS
показывает, что я использую два DNS-сервера IPv6 (2001:558:feed::1 и 2001:558:feed::2).
я могу получить wget
работать с URL-адресами, которые разрешаются в адрес IPv6, например так:
craig@craig-XPS-13-9370:~$ wget www.google.com
--2018-04-14 13:06:17-- http://www.google.com/
Resolving www.google.com (www.google.com)... 2607:f8b0:4004:808::2004,
172.217.13.68
Connecting to www.google.com
(www.google.com)|2607:f8b0:4004:808::2004|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.5’
index.html.5 [ <=> ] 10.41K --.-KB/s in 0.003s
2018-04-14 13:06:17 (3.36 MB/s) - ‘index.html.5’ saved [10659]
Я не могу получить wget
запрос на работу с URL-адресами, которые разрешают использовать адрес IPv4:
craig@craig-XPS-13-9370:~$ wget www.ubuntu.com
--2018-04-14 13:06:28-- http://www.ubuntu.com/
Resolving www.ubuntu.com (www.ubuntu.com)... 91.189.89.118
Connecting to www.ubuntu.com (www.ubuntu.com)|91.189.89.118|:80... failed:
Network is unreachable.
Добавление -4
флаг для wget
чтобы заставить использование IPv4 получить похожий результат:
craig@craig-XPS-13-9370:~$ wget -4 www.google.com
--2018-04-14 13:06:41-- http://www.google.com/
Resolving www.google.com (www.google.com)... 172.217.13.68
Connecting to www.google.com (www.google.com)|172.217.13.68|:80... failed:
Network is unreachable.
Так же, ping www.google.com
не работает, но ping6 www.google.com
делает. Так что довольно ясно, что с IPv4 что-то не так, но я не уверен, что...
ОБНОВЛЕНИЕ 2: Я думал, что моя проблема выглядела почти как этот вопрос, но предложенное там решение (отключение IPv4 через сетевые подключения), похоже, ни на что не повлияло. Это дало мне некоторые идеи о том, чем полезно поделиться с другими, хотя:
Выход из cat /etc/network/interfaces
:
craig@craig-XPS-13-9370:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Выход из ifconfig
:
craig@craig-XPS-13-9370:~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:13526 errors:0 dropped:0 overruns:0 frame:0
TX packets:13526 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1031920 (1.0 MB) TX bytes:1031920 (1.0 MB)
wlp2s0 Link encap:Ethernet HWaddr 9c:b6:d0:8b:4b:c5
inet6 addr: fe80::1f3b:5545:508:919a/64 Scope:Link
inet6 addr: 2601:140:8600:e0:d64b:9272:665f:3734/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19665 errors:0 dropped:0 overruns:0 frame:0
TX packets:10262 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14731745 (14.7 MB) TX bytes:1722860 (1.7 MB)
Выход из iwconfig
:
craig@craig-XPS-13-9370:~$ iwconfig
lo no wireless extensions.
wlp2s0 IEEE 802.11abgn ESSID:"MOTOROLA-ABD39"
Mode:Managed Frequency:2.447 GHz Access Point: 34:1F:E4:E4:35:D0
Bit Rate=1 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=55/70 Signal level=-55 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:39 Missed beacon:0
Выход из cat /etc/resolv.conf
:
craig@craig-XPS-13-9370:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
Выход из route -n
:
craig@craig-XPS-13-9370:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
Выход из route -6 -n
:
craig@craig-XPS-13-9370:~$ route -6 -n
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2601:140:8600:e0::/64 :: U 600 0 0 wlp2s0
2601:140:8600:e0::/60 fe80::361f:e4ff:fee4:35cf UG 600 0 0 wlp2s0
fe80::/64 :: U 256 0 0 wlp2s0
::/0 fe80::361f:e4ff:fee4:35cf UG 600 2 4 wlp2s0
::/0 :: !n -1 1 1495 lo
::1/128 :: Un 0 7 46 lo
2601:140:8600:e0:d64b:9272:665f:3734/128 :: Un 0 2 150 lo
fe80::1f3b:5545:508:919a/128 :: Un 0 2 4 lo
ff00::/8 :: U 256 7 99 wlp2s0
::/0 :: !n -1 1 1495 lo
Выход из ip neigh
:
craig@craig-XPS-13-9370:~$ ip neigh
fe80::361f:e4ff:fee4:35cf dev wlp2s0 lladdr 34:1f:e4:e4:35:cf router REACHABLE
6 ответов
Не уверен, что это постоянное решение, но мне удалось снова заставить работать, освободив и обновив мой IP-адрес: sudo dhclient -r wlp2s0 sudo dhclient wlp2s0
Теперь я вижу inet addr
линия, когда я бегу ifconfig
(который никогда не был там раньше) и cat /etc/resolv.conf
добавила сервер имен IPv4 и строку поиска для моего провайдера (search hsd1.va.comcast.net). Задача решена!
Иногда это может быть вызвано неправильным системным временем. Если ваше системное время слишком далеко, вы не будете арендовать IPv4 по DHCP - только IPv6.
Вы можете проверить настройки системного времени, запустив timedatectl
в терминале.
Если вам нужно перенастроить системное время и / или часовой пояс, запустите sudo dpkg-reconfigure tzdata
в терминале.
Назначение статического IP/ шлюза /DNS также может работать независимо, но некоторые веб-сайты будут жаловаться.
В моем случае (в Ubuntu 20.04 FWIW) сетевая карта не была настроена на использование DHCP. я должен был обновить
/etc/netplan/00-installer-config.yaml
с
network:
ethernets:
enp5s0: # new interface
dhcp4: true
а затем запустить
netplan apply
Я не могу вспомнить, приходилось ли мне также бежать
dhclient -r enp5s0
чтобы заставить его снова получить DHCP.
Потратив целый день на устранение неполадок на ноутбуке, изменение моего мобильного APN с ipv6 на ipv4/ipv6 наконец-то помогло.
У меня разорвалось проводное соединение после запуска брандмауэра: sudo ufw enable
После этого отключение брандмауэра все еще не устранило проблему.
Посмотрев на конфигурацию сети через графический интерфейс (Проводное подключение -> Настройки проводной сети), я смог увидеть, что IPv4 не был включен автоматически.
Щелкните значок конфигурации (шестеренка), выберите "Автоматическое подключение". Затем щелкните вкладку IPv4 и выберите "Автоматически (DHCP)".
Подождите немного, и это сработало.
У меня та же проблема. И все вышеперечисленные решения у меня не работают. После борьбы полдня. Я обнаружил, что это проблема времени BIOS. Если вы не найдете возможного решения. Пожалуйста, проверьте правильность времени вашего BIOS. По крайней мере у меня после исправления времени биоса все ок.