Почему я не могу получить доступ к Интернету, даже если IPv4-адрес выделен провайдером?

У меня есть проводное ADSL-соединение с модемом-маршрутизатором. Обычно я подключаюсь к Интернету с помощью PPPoE, то есть сам маршрутизатор устанавливает соединение с моим провайдером, как только я его включаю. А маршрутизатор, подключенный к моему ПК с помощью кабеля Ethernet, обеспечивает доступ к нему без дополнительной настройки в Ubuntu.

Однако вчера у меня возникли некоторые проблемы с маршрутизатором, поэтому я переключил его в режим DSL (Bridging). Эта настройка требует, чтобы я использовал sudo pppoeconf, чтобы сообщить Ubuntu мое имя пользователя и пароль интернет-провайдера, чтобы он мог установить соединение с провайдером. Интернет был в порядке во время сеанса после внесения изменений.

Но после перезагрузки Ubuntu больше не может получить доступ к Интернету. Итак, я снова переключил мой маршрутизатор в режим PPPoE, и интернет работает нормально на моей двойной загрузке Windows 7, но не на Ubuntu. Даже после внесения этого изменения (то есть возврата к ситуации, которая работала все время), я не могу получить доступ к Интернету с помощью Ubuntu. Тем не менее, я вижу, что мой Интернет-провайдер получил IPv4-адрес.

Ниже приведены некоторые шаги по устранению неполадок (в режиме PPPoE), которые я предпринял:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 94:de:80:34:47:7b
          inet6 addr: fe80::96de:80ff:fe34:477b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:78 (78.0 B)  TX bytes:4642 (4.6 KB)
          Interrupt:18

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:107 errors:0 dropped:0 overruns:0 frame:0
          TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7923 (7.9 KB)  TX bytes:7923 (7.9 KB)

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

$ ping -c 1 www.google.com
ping: unknown host www.google.com

Затем я попытался еще раз запустить sudo pppoeconf, что дало мне следующий вывод (I пробовал это как в PPPoE, так и в режимах Bridging):

output of sudo pppoeconf

Видя, что вывод route был ничем, я запустил:

$ sudo route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Но это не сильно помогло.

$ ping -c 1 www.google.com
ping: unknown host www.google.com

$ ping -c 1 8.8.8.8
connect: Network is unreachable

$ dig @8.8.8.8    
; <<>> DiG 9.9.5-3-Ubuntu <<>> @8.8.8.8
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

Мне кажется, что с серверами имен все в порядке:

$ 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 8.8.8.8
nameserver 8.8.4.4

$ cat /etc/resolvconf/resolv.conf.d/head
# 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 8.8.8.8
nameserver 8.8.4.4

Я пытался получить доступ к странице конфигурации модема на 192.168.1.1, но не смог подключиться к ней. Мне нужно было изменить шлюз модема, используя следующую информацию, чтобы получить к нему доступ (ранее, когда все работало нормально, мне не нужно было вносить какие-либо изменения, чтобы иметь доступ к этой странице):

sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

Выполнение диагностических тестов на моем модеме как в Ubuntu, так и в Windows дает следующий вывод:

Modem's diagnostic tests

Все работает как надо в моей системе с двойной загрузкой Windows 7, но больше не в Ubuntu GNOME 14.04.

Я попытался запустить Ubuntu с помощью Live USB, и интернет тоже работает на нем.

Почему я не могу получить доступ к Интернету, даже если адрес IPv4 был выделен провайдером? Что мне нужно сделать, чтобы иметь доступ к Интернету в Ubuntu?

Мой /etc/networking/interfaces:

#############################################################################
#############################################################################
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0
iface eth0 inet manual

Ниже приведен вывод dmesg при отключении и повторном подключении кабель Ethernet:

$ dmesg | tail -2
[  187.051150] alx 0000:02:00.0 eth0: Link Down
[  214.085755] alx 0000:02:00.0 eth0: NIC Up: 100 Mbps Full

Я отредактировал свой /etc/network/interfaces следующим образом:

$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

#auto dsl-provider
#iface dsl-provider inet ppp
#pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
#provider dsl-provider

#auto eth0
#iface eth0 inet manual

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1

Если я запускаю sudo dhclient -d -v -nw eth0 при каждой перезагрузке, он иногда работает, а на других нет раз. Это очень случайно. Ниже приведены выходные данные, когда он работает:

$ sudo dhclient -d -v -nw eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/94:de:80:34:47:7b
Sending on   LPF/eth0/94:de:80:34:47:7b
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x51e3cec7)
DHCPREQUEST of 192.168.1.8 on eth0 to 255.255.255.255 port 67 (xid=0x51e3cec7)
DHCPOFFER of 192.168.1.8 from 192.168.1.1
DHCPACK of 192.168.1.8 from 192.168.1.1
bound to 192.168.1.8 -- renewal in 18451 seconds.
^C

Следующее - когда это не работает:

$ sudo dhclient -d -v -nw eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/94:de:80:34:47:7b
Sending on   LPF/eth0/94:de:80:34:47:7b
Sending on   Socket/fallback
DHCPREQUEST of 192.168.1.8 on eth0 to 255.255.255.255 port 67 (xid=0x67dfb451)
DHCPACK of 192.168.1.8 from 192.168.1.1
bound to 192.168.1.8 -- renewal in 20076 seconds.
^C

$ sudo cat /var/log/daemon.log | grep Network
cat: /var/log/daemon.log: No such file or directory

Я даже не могу получить доступ к 192.168.1.1, когда эта команда не работает. [тысячу сто сорок одна]

3
задан 20 May 2014 в 03:08

2 ответа

Наиболее вероятная проблема состоит в том, что Ваш маршрутизатор не вручает арендные договоры DHCP, или что Администратор сети не берет их. Используя sudo dhclient -d -v -nw eth0 должен позволить Вам знать, кто преступник. Если это работает, то конфигурация Администратора сети испорчена, и необходимо восстановить его. Если это не делает тогда, необходимо рассмотреть конфигурацию маршрутизатора, в этом случае руководство маршрутизатора необходимо.

Один способ зафиксировать администратора сети, просто откройте интерфейс конфигурирования в "Параметрах сети", выберите желаемую сеть (позволяет, говорят Проводной), ищите кнопку винтика и зафиксируйте конфигурацию, выбирающую "автоматический".

существует также избранная опция, где можно выбрать "Сброс" (, НЕ используют, "Забывают ), и это восстановит значения по умолчанию.

, Конечно, администратор сети не настроит Ваши устройства, если Вам настроят их в Вашем /etc/networking/interfaces. Просто удаляйте/комментируйте те строки, затем попробуйте еще раз.

Эти опции предполагают использование подобной ГНОМУ среды другая среда может иметь подобные опции.

0
ответ дан 20 May 2014 в 03:08

Я решил его путем редактирования файла /etc/network/interfaces.conf

, я оставил только эти две строки:

# Interfaces (5) file used by ifup (8) and ifdown (8)
auto io
iface io inet loopback

Затем я перезапустил Ubuntu.

0
ответ дан 20 May 2014 в 14:08
  • 1
    конечно, но script' s содержание включает команду sudo в ~/.local/bin. @Oli – xiaodongjie 26 November 2015 в 02:01

Другие вопросы по тегам:

Похожие вопросы: