Как переименовать интерфейс Ethernet?

11

Поскольку моя встроенная сетевая карта не поддерживалась Ubuntu, я был вынужден использовать сетевой адаптер USB для временного подключения к Интернету во время установки.

И USB NIC взял eth0имя, сделав встроенный NIC стать eth1.

Конечно, это на самом деле не имеет значения, но только для «привлекательности» системы, которой я хотел бы eth1стать, eth0чтобы любой вновь подключенный сетевой адаптер стал eth1.

Это возможно?

Иван
источник

Ответы:

10

Это возможно. Пожалуйста, сделай:

gksudo gedit /etc/udev/rules.d/70-persistent-net.rules 

Поменяйте местами eth0 и eth1. Вычитайте внимательно, сохраните и закройте gedit. Используйте любой другой текстовый редактор, если у вас нет gedit. Немедленно перезагрузитесь, и у вас все будет готово.

chili555
источник
7
... и сначала сделайте резервную копию файла
Rinzwind
7
Просто для справки: это верно для 14.04, но 70-persistent-net.rules больше не существует с Ubuntu 15.10. См. Askubuntu.com/questions/689501 для решения, которое работает для Ubuntu 15.10, 16.04 и позже.
richvdh
ну, это может быть правильно для 14.04. В последних выпусках в этой области происходило небольшое изменение.
richvdh
Ты прав. Когда это было опубликовано в 2012 году, это была правильная процедура. Эта процедура, как и многие другие, изменилась в 15.10 et seq.
chili555
11

Это переименует em1 в eth0 для меня в Ubuntu 14.04:

# Note: replace xx:xx... in the rule with the MAC address of your Nic>    
$ sudo vim /etc/udev/rules.d/75-persistent-net-generator.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

# Change "em1" to "eth0" in your interfaces file.
$ sudo vim /etc/network/interfaces

$ sudo reboot

Предоставлено: ответ Билфа здесь: https://bbs.archlinux.org/viewtopic.php?id=156375

К вашему сведению, это было то, что я первоначально видел в журналах:

$ sudo grep eth0 /var/log/dmesg
[    2.976463] e1000e 0000:00:19.0 eth0: registered PHC clock
[    3.003714] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 18:03:73:e9:f2:36
[    3.031177] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    3.058399] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: E041FF-0FF
[    3.153759] systemd-udevd[167]: renamed network interface eth0 to em1

Похоже, systemd-udevd делал негативную работу и переименовывал eth0 в em1. Не уверен, как остановить это, но переименование обратно в eth0, похоже, работает.

Для энтузиастов, которые хотят узнать больше ... http://linux.dell.com/files/whitepapers/consistent_network_device_naming_in_linux.pdf

user79878
источник
1
Большое вам спасибо за это. Кажется, все остальные упускают суть.
Sjas
0

В Ubuntu Server 16.04LTS 70-persistent-net.rules не существует, и многие посты не помогли. После 4 часов поиска я нашел это решение, и к моему шоку оно действительно сработало!

sudo ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules

Затем создайте файл с помощью sudo vi /etc/systemd/network/10-internet.link и добавьте следующее

[Match] Path = pci-0000: (MAC-адрес вашего устройства)

[Ссылка] Имя = eth0 (или как вы хотите назвать это)

: wq чтобы сохранить файл

затем перезагрузите и настройте файл / etc / network / interfaces. затем снова перезагрузите

Надеюсь, это поможет кому-то

Jadey1412
источник
Не работает И не должен, AFAIU.
Jno
Не работает. только что протестировал с 16.04 лтс
Кендрик