LINUX.ORG.RU

не поднимается eth0 после обновления на Jessie

 , ,


0

1

Обновил Debian Jessie и отвалилась сеть. Явно видно что саму сетевую карту он видит, но .. подключить не может. Куда копать ?

P.S. дрова тоже есть, вечером смогу выложить подтверждение. Вроде стоит firmware-realtek (0.43).

> lspci | grep Ethernet
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)

> ifconfig
Controller (rev 03)
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:802 errors:0 dropped:0 overruns:0 frame:0
          TX packets:802 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:147174 (143.7 KiB)  TX bytes:147174 (143.7 KiB)

> dmesg | grep r8169
[    0.787318] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    0.787329] r8169 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[    0.787639] r8169 0000:03:00.0: irq 40 for MSI/MSI-X
[    0.787892] r8169 0000:03:00.0 eth0: RTL8168d/8111d at 0xffffc90000644000, 6c:f0:49:b8:d2:e0, XID 083000c0 IRQ 40
[    0.787895] r8169 0000:03:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]

> sudo du /sys/ | grep eth0
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/power
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/queues/rx-0
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/queues/tx-0/byte_queue_limits
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/queues/tx-0
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/queues
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0/statistics
0	/sys/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0

> cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
# add eth0 explicitly
auto eth0

> ifup eth0
Ignoring unknown interface eth0=eth0.

> sudo service networking restart
[warn] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[....] Reconfiguring network interfaces...Ignoring unknown interface eth0=eth0.
Ignoring unknown interface eth0=eth0.
done.

> vim /etc/network/interfaces
> cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
# add eth0 explicitly
# auto eth0

> sudo service networking restart
[warn] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[ ok ] Reconfiguring network interfaces...done.

> ifconfig
Controller (rev 03)
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:802 errors:0 dropped:0 overruns:0 frame:0
          TX packets:802 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:147174 (143.7 KiB)  TX bytes:147174 (143.7 KiB)



Ну так у тебя eth0 и не сконфигурирован же.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
# add eth0 explicitly
# auto eth0
Добавь строки типа
auto eth0
iface eth0 inet dhcp

gasinvein ★★★ ()

Ignoring unknown interface eth0=eth0.

У вас нет теперь интерфейса с именем eth0, теперь есть что-то вроде enp0s3... Если вам нужны старые имена интерфейсов, то добавьте к параметрам ядра параметр net.ifnames=0.

kostik87 ★★★★★ ()

вместо eth0 попробуй eth1

roman77 ★★★★★ ()
Ответ на: комментарий от gasinvein

пробовал, выше есть строки:

> cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
# add eth0 explicitly
auto eth0

> ifup eth0
Ignoring unknown interface eth0=eth0.

sdlm ()
Ответ на: комментарий от anonymous

так а .. почему интерфейс сам не поднялся ? и как мне определить его название и поднять ? куда копать то ?

sdlm ()
Ответ на: комментарий от sdlm

Включи мозг и попробуй сделать именно так, как тебе посоветовали.

Gotf ★★★ ()
Ответ на: комментарий от kostik87

Чушь.

/home/gotf % cat /proc/cmdline
root=UUID=b812b39d-5f90-422d-9e4e-9324e2112cf1 ro quiet add_efi_memmap initrd=EFI\debian\initrd.img
/home/gotf % systemctl --version
systemd 215
+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR
/home/gotf % ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 74:d4:35:5c:86:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 64:66:b3:04:35:08 brd ff:ff:ff:ff:ff:ff
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp 
    inet 10.42.0.59 peer 10.64.64.64/32 scope global ppp0
       valid_lft forever preferred_lft forever

Gotf ★★★ ()

вот нашел похожую проблему https://groups.google.com/forum/#!topic/linux.debian.user/DWEoC-EgV4U

> lshw -class network 
bash: lshw: command not found
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 6c:f0:49:b8:d2:e0 brd ff:ff:ff:ff:ff:ff
> ls -l /sys/class/net 
total 0
lrwxrwxrwx 1 root root 0 Oct 15 20:26 eth0 -> ../../devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eth0
lrwxrwxrwx 1 root root 0 Oct 15 20:25 lo -> ../../devices/virtual/net/lo
> /sbin/ifconfig -a 
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:b8:d2:e0  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

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:130 errors:0 dropped:0 overruns:0 frame:0
          TX packets:130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12538 (12.2 KiB)  TX bytes:12538 (12.2 KiB)
Т.е. интерфейс таки есть, но не поднят.
ifconfig eth0 up
> ifconfig 
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:b8:d2:e0  
          inet6 addr: fe80::6ef0:49ff:feb8:d2e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60 (60.0 B)  TX bytes:258 (258.0 B)

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:392 errors:0 dropped:0 overruns:0 frame:0
          TX packets:392 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:67382 (65.8 KiB)  TX bytes:67382 (65.8 KiB)
Поднялся !
# ping 8.8.8.8
connect: Network is unreachable
Но сети по прежнему нет (
> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
Они там что-то мутили с этим файлом, но я не особо понял что именно.
> cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:f0:49:b8:d2:e0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

sdlm ()
Ответ на: комментарий от Gotf

/home/gotf % cat /proc/cmdline root=UUID=b812b39d-5f90-422d-9e4e-9324e2112cf1 ro quiet add_efi_memmap initrd=EFI\debian\initrd.img

Т.е. мусё не знает прочие способы отключения новых имён интерфейсов systemd?

Вообще, если было обновление системы и до этого стояла версию udev, которая создавала файл /etc/udev/rules.d/70-persistent-net.rules, в котором были прописаны имена интерфейсов eth* или в ручную создан файл /etc/udev/rules.d/70-persistent-net.rules с правилами именования, то имена будут в старом формате.

Так же ещё можно создать пустой файл в /etc/udev/rules.d с именем совпадающим с файлом в /usr/lib/udev/rules.d или /lib/udev/rules.d.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Т.е. мусё не знает прочие способы отключения новых имён интерфейсов systemd?

В моём дистрибутиве их не нужно выключать, их можно только включить. Улавливаешь разницу?

Gotf ★★★ ()
Последнее исправление: Gotf (всего исправлений: 1)
Ответ на: комментарий от Gotf

И что из этого? В моё дистрибутиве (Gentoo) можно вообще всё собрать и настроить как хочется, что дальше-то?

Ну, а то, что в твоём дистрибутиве мантейнеры пакета с udev (systemd) изменили его поведение по умолчанию, так молодцы, что могу ещё сказать.

У тебя Debian? Он консервативен, но подожди будущего релиза, скорее всего там уже оставят по умолчанию «предсказуемые» имена.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Пакет ifupdown и был установлен.

# dpkg -l | grep ifupdo
ii  ifupdown                              0.7.47.2                       amd64        high level tools to configure network interfaces

sdlm ()
Ответ на: комментарий от kostik87

Пробовал удалять файл из /etc/udev/reles.d, не помогло. В /lib/udev/rules.d лежит около 20 файлов, но с именем 70-persistent-net.rules нет файла. Соответственно непонятно какое именно имя нужно присвоить пустому файлу в /etc/udev/reles.d.

sdlm ()
Ответ на: комментарий от kostik87

Мне вообще безразлично с каким именем будет сетевой интерфейс, но .. попробую вечером вот это

У вас нет теперь интерфейса с именем eth0, теперь есть что-то вроде enp0s3... Если вам нужны старые имена интерфейсов, то добавьте к параметрам ядра параметр net.ifnames=0.

sdlm ()
Ответ на: комментарий от sdlm

Да пропиши уже интерфейс в /etc/network/interfaces, оставь в покое udev, он тут ни при чём.

Gotf ★★★ ()
Ответ на: комментарий от kostik87

Так же ещё можно создать пустой файл

Официальный же способ создать симлинк на девнул. Для v208 как-то так:

/lib/udev/rules.d/80-net-name-slot.rules -> /dev/null

redgremlin ★★★★★ ()

Жесть. Сутки уже человек бьется лбом об стену, хотя решение в первом же посте. Вот до чего доводит привычка дрочить инет вместо чтения манов.

Hjorn ()
Ответ на: комментарий от grem
Stable interface names across reboots
Stable interface names even when hardware is added or removed, i.e. no re-enumeration takes place
Stable interface names when kernels or drivers are updated/changed
Stable interface names even if you have to replace broken ethernet cards by new ones
The names are automatically determined without user configuration, they just work
The interface names are fully predictable, i.e. just by looking at lspci you can figure out what the interface is going to be called
Fully stateless operation, changing the hardware configuration will not result in changes in /etc
Compatibility with read-only root
The network interface naming now follows more closely the scheme used for aliasing block device nodes and other device nodes in /dev via symlinks
Applicability to both x86 and non-x86 machines
The same on all distributions that adopted systemd/udev 

(c) http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceN...

redgremlin ★★★★★ ()
Ответ на: комментарий от redgremlin

Круто чо. А ещё можно было сделать UUID 32-символьный. Ваще было бы стейбл на века и foully предиктебл, мля. Слава роботам!

Hjorn ()
Ответ на: комментарий от Hjorn

В общем линупс катится известно куда с первой космической.

Hjorn ()
Ответ на: комментарий от redgremlin

Из этого совершенно непонятно, почему то же самое нельзя было реализовать с использованием старых коротких имён.

grem ★★★★★ ()
Ответ на: комментарий от Hjorn

foully предиктебл

Ага, eth100p500q, могли бы сразу вместо имён mac использовать, чего уж мелочиться. В windows вон как удобно конфигурировать сеть через cmd, когда сетевой интерфейс называется «подключение к локальной сети (1)» - тут тоже никакой путаницы и название набирать удобно.

grem ★★★★★ ()
Ответ на: комментарий от redgremlin

Я верю, что всегда найдутся больные люди, которые воплотили или воплотят мои самые не здоровые фантазии, причём совершенно независимо от меня. Надо бы глянуть, что там у меня в jessie сейчас творится с сетевыми именами.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от redgremlin

А потом при обновлении пакета у тебя этот симлинк заменится на файл и тебе придётся его ещё раз создавать. Это раз. Два ты не внимательно читаешь, я написал:

kostik87

Так же ещё можно создать пустой файл в /etc/udev/rules.d

Правила в /etc/udev/rules.d имеют больший приоритет. Поэтому если создавать файл с именем /etc/udev/rules.d/80-net-name-slot.rules, то в любом случае файл правил /lib/udev/rules.d/80-net-name-slot.rules обрабатываться не будет.

kostik87 ★★★★★ ()
Ответ на: комментарий от redgremlin
> cat /etc/network/interfaces
auto lo
iface eth0 inet dhcp
iface lo inet loopback
> ifconfig eth0 up
> ifconfig 
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:b8:d2:e0  
          inet6 addr: fe80::6ef0:49ff:feb8:d2e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8954 (8.7 KiB)  TX bytes:40865 (39.9 KiB)
> ping 8.8.8.8
connect: Network is unreachable
sdlm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.