После отключения моего клиента openvpn на машине Xenial 16.04 у меня возникли проблемы с подключением к Интернету, и кажется, что мне не хватает маршрута в моей таблице IP-маршрутизации ядра.
На машине, которая не работает Я:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlp4s0
192.168.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp4s0
У меня очень похожая машина, работающая с 16.04, что не работает и возвращается одна и та же команда:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
192.168.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
Я предполагаю, что они настроены автоматически с конфигурациями wifi и dhcp
Может ли кто-нибудь сказать мне, как настроить «нерабочую» машину, чтобы она получала все маршруты?
Следующие команды дают следующие ответы (по запросу в комментариях)
> 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
search Belkin
и
> ping 127.0.1.1
PING 127.0.1.1 (127.0.1.1) 56(84) bytes of data.
64 bytes from 127.0.1.1: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 127.0.1.1: icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from 127.0.1.1: icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from 127.0.1.1: icmp_seq=4 ttl=64 time=0.038 ms
64 bytes from 127.0.1.1: icmp_seq=5 ttl=64 time=0.038 ms
64 bytes from 127.0.1.1: icmp_seq=6 ttl=64 time=0.044 ms
64 bytes from 127.0.1.1: icmp_seq=7 ttl=64 time=0.044 ms
^C
--- 127.0.1.1 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 5997ms
rtt min/avg/max/mdev = 0.035/0.040/0.044/0.006 ms
Хм, я удалил этот маршрут с моей машины и до сих пор могу связаться с Интернетом. Поэтому я не уверен, что это мешает вам «подключиться к Интернету».
Возможно, вы просто не можете разрешать имена? Вы можете проверить это с помощью dig. Вот как dig разрешает www.google.com для меня:
$ dig www.google.com A +short
108.177.126.105
108.177.126.106
108.177.126.99
108.177.126.103
108.177.126.104
108.177.126.147
Edit: Если это не решит, убедитесь, что у вас настроен один или несколько серверов имен и вы можете (IP) достичь хотя бы одного из них:
$ cat /etc/resolv.conf
...
nameserver 10.20.30.41
nameserver 10.20.30.42
В этом примере машины в 10.20.30.41 и 10.20.30.42 настроены для разрешения имен (то есть: копать будут обращаться к тем, машины на порту 53 по умолчанию, чтобы разрешить www.cisco.com на IP-адрес). Таким образом, ожидается, что эти две машины будут доступны и будут обслуживаться службой DNS на порту 53.
Теперь попробуйте выполнить проверку этих двух машин, чтобы проверить, доступны ли они:
$ ping 10.20.30.41
...
64 bytes from 10.20.30.41: icmp_seq=1 ttl=255 time=0.194 ms
64 bytes from 10.20.30.41: icmp_seq=2 ttl=255 time=0.209 ms
64 bytes from 10.20.30.41: icmp_seq=3 ttl=255 time=0.235 ms
^C
Предыдущий вывод показывает, что машина на 10.20.30.41 достижима. Если это не так, вы не увидите никакого выхода (до тех пор, пока вы ^C).
Edit: : В Ubuntu 16.04 файл /etc/resolv.conf содержит запись nameserver 127.0.1.1, которая означает, что на локальном компьютере должен быть DNS-сервер. Действительно, Ubuntu 16.04 запускает dig , который действует как небольшой локальный DNS-сервер. По умолчанию Dnsmasq обрабатывается NetworkManager.
Хм, я удалил этот маршрут с моей машины и до сих пор могу связаться с Интернетом. Поэтому я не уверен, что это мешает вам «подключиться к Интернету».
Возможно, вы просто не можете разрешать имена? Вы можете проверить это с помощью dig. Вот как dig разрешает www.google.com для меня:
$ dig www.google.com A +short
108.177.126.105
108.177.126.106
108.177.126.99
108.177.126.103
108.177.126.104
108.177.126.147
Edit: Если это не решит, убедитесь, что у вас настроен один или несколько серверов имен и вы можете (IP) достичь хотя бы одного из них:
$ cat /etc/resolv.conf
...
nameserver 10.20.30.41
nameserver 10.20.30.42
В этом примере машины в 10.20.30.41 и 10.20.30.42 настроены для разрешения имен (то есть: копать будут обращаться к тем, машины на порту 53 по умолчанию, чтобы разрешить www.cisco.com на IP-адрес). Таким образом, ожидается, что эти две машины будут доступны и будут обслуживаться службой DNS на порту 53.
Теперь попробуйте выполнить проверку этих двух машин, чтобы проверить, доступны ли они:
$ ping 10.20.30.41
...
64 bytes from 10.20.30.41: icmp_seq=1 ttl=255 time=0.194 ms
64 bytes from 10.20.30.41: icmp_seq=2 ttl=255 time=0.209 ms
64 bytes from 10.20.30.41: icmp_seq=3 ttl=255 time=0.235 ms
^C
Предыдущий вывод показывает, что машина на 10.20.30.41 достижима. Если это не так, вы не увидите никакого выхода (до тех пор, пока вы ^C).
Edit: : В Ubuntu 16.04 файл /etc/resolv.conf содержит запись nameserver 127.0.1.1, которая означает, что на локальном компьютере должен быть DNS-сервер. Действительно, Ubuntu 16.04 запускает dig , который действует как небольшой локальный DNS-сервер. По умолчанию Dnsmasq обрабатывается NetworkManager.