Udev: mengubah nama antarmuka jaringan saya


20

Saya baru saja menginstal RHEL 6.3 pada server Dell 1950. Server ini sebagai dua port GBit, Gb0 dan Gb1.

Untuk beberapa alasan yang tidak jelas, udevpilih nama Gb0 eth1 dan Gb1 eth0 . Ini jelas bukan temuan yang bagus untuk saya dan hanya memberikan kebingungan.

Jadi saya memodifikasi konfigurasi di /etc/udev/rules.d/70-persistent-net.rules:

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:c0",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:be",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Saya baru saja mengubah bidang "NAME" pada file untuk mencerminkan apa yang saya inginkan. Saya reboot server dan tidak berhasil.

Dalam dmesglog saya bisa membaca yang berikut ini:

udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0

Adakah yang tahu apa yang salah di sini? Kenapa udevberalih seperti ini? Saya memiliki server serupa lainnya, di mana saya tidak memiliki masalah ini.


jadi apa tugasnya sekarang? masih Gb0 == eth1 & Gb1 == eth0?
umläute

sekali periksa grep -R 'rename5' /etc/udev/rules.d/karena dalam log mengapa ini menunjukkan rename5apakah ada aturan lain yang sama?
Rahul Patil

Saya telah melakukan hal yang sama untuk antarmuka jaringan dan itu menunjukkan hal seperti itu di log (jika Anda mengikuti logika di dalamnya, itu hanya memberikan nama palsu ke eth1 asli sehingga dapat mengubah nama eth0 asli ke eth1). Jadi menurut log semuanya harus ok. Apakah Anda yakin nama-nama tersebut belum ok?
zagrimsan

Tugasnya masih salah: Gb0 == eth1 & Gb1 == eth0. Ini seperti perubahan yang saya buat dalam file tidak diterapkan. Saya tidak memiliki jejak rename5 di /etc/udev/rules.d/. Yang saya mengerti adalah ketika kernel boot eth0 dan eth1 boot tetapi udev mengubahnya. eth0 => eth1 dan eth1 => eth0
Hugo

Sudahkah Anda menemukan solusinya? Saya juga berjuang dengan masalah ini. Pada boot normal, saya berakhir dengan p1p1 dan p1p2. Tetapi karena saya telah memasang kabel jaringan pada p1p2, pada beberapa boot (tidak semua, yang aneh), saya berakhir dengan p1p1 dan rename3!?!? Udev mengganti nama eth1 menjadi rename3 bukan p1p2 untuk alasan apa pun. Ini tentu saja mematahkan konfigurasi jaringan i / f dan firewall X- (Bukan berarti saya di Ubuntu
Huygens

Jawaban:


9

Meskipun ini agak terlambat, saya memperbaiki masalah saya dengan menghapus

KERNEL="eth*",

bagian dari aturan dalam /etc/udev/rules.d/70-persistent-net.rulesfile. Ini berfungsi karena, setelah UDEV mengganti nama perangkat menjadi "rename *", bagian ini akan menghentikan pencocokan aturan. Jadi, menghapusnya memungkinkan nama yang tepat untuk ditugaskan ke perangkat yang benar terlepas dari apa yang disebut UDEV untuk sementara.


Ini menyelesaikannya untuk saya juga di ubuntu 14.04. Perilaku yang sama persis seperti OP (kecuali bahwa mengubah nama itu menjadi pXpY).
ndemou

9

Dalam kasus saya, masalahnya berasal dari fakta bahwa alamat mac untuk setiap antarmuka diatur dalam tiga file:

/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1

Kami membutuhkan konsistensi antara file ifcfg dan net.rules untuk alamat mac.


1
/etc/sysconfigada di linux redhat / centos. Di Ubuntu, file-file itu akan berada di bawah/etc/network/if-up.d
nmgeek

6

Saya dapat menyelesaikan ini hanya dengan menghapus /etc/udev/rules.d/70-persistent-net.rulesdan me-reboot.


1

Sudahkah Anda mencoba membuat yang kosong /etc/udev/rules.d/80-net-name-slot.rules?

sejak Udev v197, udev telah mengimplementasikan nama antarmuka jaringan yang dapat diprediksi, dengan membuat file kosong di jalur itu lalu me-reboot, Anda harus mengembalikan nama antarmuka Anda ke nama semula.

saya menjawab pertanyaan serupa di: Creating eth0 with consistent network device naming


1
Ini memperbaiki dua dari tiga perangkat jaringan saya. Alih-alih file kosong, saya membuat tautan ke / dev / null. Saya berharap pendekatan mana pun akan berhasil.
MrMas

Sepertinya ini adalah perubahan sekitar v210 bahwa file telah dihapus dari systemd jika saya membaca ini dengan benar: github.com/systemd/systemd/commit/…
nhed

0

Ini juga mungkin terjadi karena eth0, eth1, wlan0, wlan1 dll adalah nama kernel standar (dalam kasus penamaan skema non-persisten). Dalam dokumentasi udev dikatakan:

NAMA

Nama yang akan digunakan untuk antarmuka jaringan. Lihat systemd.link (5) untuk mekanisme tingkat yang lebih tinggi untuk mengatur nama antarmuka. Nama node perangkat tidak dapat diubah oleh udev, hanya symlink tambahan yang dapat dibuat.

Jadi jangan pernah menggunakan nama eth *, wlan * dll untuk aturan udev.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.