LINUX.ORG.RU
ФорумAdmin

Замена сгоревшей сетевой


0

1

Приветствую Есть следующая проблема. Появилась необходимость замены сгоревшей сетевой карточки в серваке, вставил новый сетевой адаптер включил сервер и с ужасом заметил что нету 70-persistent-net.rules в системе. Пробовал сгенерировать путем команд udevadm trigger и т.д. не получается. Что можно еще сделать? Или как можно прописать новую сетевую карточку в системе? Просто отредактировать конфигурационные файлы ifcfg-ethX пробовал, вроде все применяется и работает но на деле сетевой адаптер подставляется старый.

Спасибо


Какой дистрибутив ? Версия UDEV и установлен ли у вас systemd ?

Вот пример 70-persistent-net.rules:

# This file was automatically generated by the /lib64/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 0x11ab:0x4364 (sky2)
SUBSYSTEM==«net», ACTION==«add», DRIVERS=="?*", ATTR{address}==«**:**:**:**:**:**», ATTR{dev_id}==«0x0», ATTR{type}==«1», KERNEL==«eth*», NAME=«eth1»

# PCI device 0x11ab:0x4364 (sky2)
SUBSYSTEM==«net», ACTION==«add», DRIVERS=="?*", ATTR{address}==«**:**:**:**:**:**», ATTR{dev_id}==«0x0», ATTR{type}==«1», KERNEL==«eth*», NAME=«eth0»

Если у вас Suse Linux, то всё нужно делать через yast. Удалить запись о старой карте и добавить новую.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от mkgeka
rpm -qa | grep udev
libudev-147-2.46.el6.x86_64
udev-147-2.46.el6.x86_64
mkgeka
() автор топика
dmesg
lspci -nnv
ifconfig -a
Deleted
()
Ответ на: комментарий от Deleted

Драйверов хватает, все сетевые одного типа и производителя. ifconfig -a

eth0      Link encap:Ethernet  HWaddr C2:B3:05:31:19:00  
          inet addr:192.168.50.14  Bcast:192.168.50.31  Mask:255.255.255.224
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:75 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5773 (5.6 KiB)  TX bytes:468 (468.0 b)
          Interrupt:246 

eth1      Link encap:Ethernet  HWaddr 6E:FE:15:7E:9E:F4  
          inet addr:192.168.50.1  Bcast:192.168.50.31  Mask:255.255.255.224
          inet6 addr: fe80::6cfe:15ff:fe7e:9ef4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8402882 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15754859 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10057140881 (9.3 GiB)  TX bytes:15221661309 (14.1 GiB)
          Interrupt:245 

eth2      Link encap:Ethernet  HWaddr 46:FF:4A:8E:BB:97  
          inet addr:192.168.50.14  Bcast:192.168.50.31  Mask:255.255.255.224
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:31335 (30.6 KiB)  TX bytes:468 (468.0 b)
          Interrupt:244 
ifconfig
eth1      Link encap:Ethernet  HWaddr 6E:FE:15:7E:9E:F4  
          inet addr:192.168.50.1  Bcast:192.168.50.31  Mask:255.255.255.224
          inet6 addr: fe80::6cfe:15ff:fe7e:9ef4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8404102 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15757141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10061255361 (9.3 GiB)  TX bytes:15221897611 (14.1 GiB)
          Interrupt:245 

Проблема в том что ip 192.168.50.14 по прежнему пингуется и мак у сетевого стоит eth1-го но не как eth0 или eth2. Смотрел через arp таблицу С клиента пинговал 192.168.50.14

C:\Users\Yevgeniy>arp -a | findstr 192.168.50.14
  192.168.50.14         6e-fe-15-7e-9e-f4     динамический

Один раз я уже с таким сталкивался когда бондинг разбивал, проблему решил путем убивания конф файлов сетевых интерфейсов ifcfg-ethX и создание их через system-config-network-tui. Здесь это не сработало.

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

Неужели каждый раз будет такой гиморой при замене сетевой или смене мака. Правда для смены мака есть специальный параметр в настройках сетевой MACADDR кажись называется. Самое интересное то что смоделировал ситуации на виртуалке наткнулся на такие же грабли.

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

Уберите сгоревшую сетевую карту или уберите у неё link (ifconfig down) ну и почистите arp таблицы, хотя они и так долго не живут.

В общем не ясна и ваша проблема, что вас не устраивает ?

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

смущает то что в системе не видится новая сетевая под старым именем eth0. ifconfig -a выдает что она есть но на деле через нее пакеты не ходят а все ходит через eth1. Нужно очистить старые сетевые что б новая заработала.

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

смущает то что в системе не видится новая сетевая под старым именем eth0

Значит создано правило соответствия имени сетевой карты по mac адресу., обычно это /etc/udev/rules.d/70-persistent-net.rules

ifconfig -a выдает что она есть но на деле через нее пакеты не ходят а все ходит через eth1

Правильно, а куда она денется, если она подключена к системе ? Даже если она сгорела, а сгорела, скорее всего, не вся карта, а только аппаратура модуляции, а вся остальная часть рабочая. Значит либо выньте карту из слота либо отключите её в BIOS, после чего отредактируйте файл /etc/udev/rules.d/70-persistent-net.rules, дабы указать новой сетевой карте имя сетевой карты с индексом «0» (eth0).

Возможно правила именования сетевых карт указаны в другом файле правил udev, возможно самописном, смотрите.

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

этого файла у меня нет

В Internet пишут, что должен быть, но если всё же нет, то создайте, пример я указал в первом посте вместо «**:**:**:**:**:**» впишите mac адрес.

Либо воспользуйтесь другим советом, удалите из системы / отключите «сгоревшую» сетевую карту.

В чём проблема, неужели создать файл или вынуть сетевую карту это сложно ?

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

нет не сложно просто хочу разобраться почему нету этого файла и почему система сама его не создает.

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

Я развернул два центоса 6 на виртуалках, нету там такого файла, значит должен быть другой способ как решать подобные проблемы. Решил написать на форум может кто сталкивался и знает в чем проблема.

Спасибо

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

Я развернул два центоса 6 на виртуалках, нету там такого файла

Я специально скачал CentOS-6.4-i386-minimal.iso, поставил систему в «виртуалку» (VirtualBox), есть этот файл. Переместил, перезагрузил систему, файл создался вновь. Добавил в виртуальную систему ещё одну сетевую карту, в файле появилась запись о второй карте.

значит должен быть другой способ как решать подобные проблемы.

Он есть, написать файл самому. Можно даже под другим именем. Другого способа нет. Кроме как написать правило. Посмотрите может есть другой файл с описанием правил именования сетевых карт. Если файлов с правилами именования сетевых карт нет, то вы можете просто удалить проблемную карту из системы. После запуска системы сетевая карта с более младшим индексом на шине будет eth0. И удостоверьтесь, что есть скрипт, который генерирует правила именования сетевых карт '/lib/udev/write_net_rules'

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

Зря советуете, сейчас будет ответ «Почему тогда нет файла 70-persistent-net.rules».

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

Вот все что есть

[root@ares ~]# ls /etc/udev/rules.d/
60-raw.rules  70-persistent-cd.rules  z10-xen-vcpu-hotplug.rules
Спасибо всем за помощь на выходных попробую докопаться до проблемы если что-то получится отпишусь.

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

да, перезагружал. У меня была ситуация один в один когда нужно было разбить два интерфейса которые в бонтинге стояли. Помогло удаления конф файлов ifcfg-ethX и создание их через system-cinfig-network-tui я думаю нужно копать в эту сторону.

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

Помогло удаления конф файлов ifcfg-ethX и создание их через system-cinfig-network-tui я думаю нужно копать в эту сторону.

Ну нужно. Ещё раз, имена сетевым интерфейсам выдаёт udev. Даже если вы объедините интерфейсы в bonding физические интерфейсы всё равно будут видны. И для того, что бы им сменить имена, нужно написать правило udev. Всё остальное, что вы делаете с интерфейсами не важно.

Вы так и не ответили на вопрос:

kostik87

И удостоверьтесь, что есть скрипт, который генерирует правила именования сетевых карт '/lib/udev/write_net_rules'

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

Вот все что есть

А там, совершенно случайно, systemd не завёлся ? Вообще, в CentOS, вроде бы, рано его ждать, но симптоматично как-то.

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

Ок. Спасибо на выходных буду играться, сейчас не хочу, сервак рабочий, пока сервак работает на запасной сетевушке, до выходных продержится.

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

Тогда полезно ещё посмотреть rpm -qa|grep udev
Не знаю, как там, в CentOS, пакеты именуются, но если, вдруг, есть udev-rule-generator, то должно, по идее, создаваться всё. Если его нет, надо или доустановить, или убедиться, что оно там есть в каком-то другом пакете. /lib/udev/write_net_rules в смысле.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS
rpm -qa | grep udev
libudev-147-2.46.el6.x86_64
udev-147-2.46.el6.x86_64
yum list | grep udev
libudev.x86_64                              147-2.46.el6                @base   
udev.x86_64                                 147-2.46.el6                @base   
libgudev1.i686                              147-2.46.el6                base    
libgudev1.x86_64                            147-2.46.el6                base    
libgudev1-devel.i686                        147-2.46.el6                base    
libgudev1-devel.x86_64                      147-2.46.el6                base    
libudev.i686                                147-2.46.el6                base    
libudev-devel.i686                          147-2.46.el6                base    
libudev-devel.x86_64                        147-2.46.el6                base    
python-gudev.x86_64                         147.1-4.el6_0.1             base    
system-config-printer-udev.x86_64           1.1.16-23.el6               base    
uudeview.x86_64                             0.5.20-2.el6.rf             rpmforge
uudeview-devel.x86_64                       0.5.20-2.el6.rf             rpmforge
uudeview-gui.x86_64                         0.5.20-2.el6.rf             rpmforge
mkgeka
() автор топика
Ответ на: комментарий от mkgeka

А скрипт write_net_rules есть ? Если нет, надо понять, в каком он пакете тогда. Можно попросить кого-то, у кого есть, показать
rpm -qf /lib/udev/write_net_rules, или где он там лежит.

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

Может у вас ещё и файла /lib/udev/rules.d/75-persistent-net-generator.rules нет?

А вобще, это Centos в xen'е и вы хотите, чтобы из виртуалки переименовались сетёвки?

Проверять наличие файла /etc/udev/rules.d/70-persistent-net.rules нужно в системах, установленных на железо или полную виртуалку, а не в правиртуализации.

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

мне помогло полное удаление конфигурационных файлов сетевых интерфейсов и создание их через system-network-config-tiu.

Спасибо

mkgeka
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.