ฉันจะแสดงชื่อ eth0 เก่าและเปลี่ยนชื่อเน็ตเวิร์กอินเตอร์เฟสใน debian 9 ได้อย่างไร


12

ฉันอยากจะทำ 2 สิ่ง:

1) เปลี่ยนอินเทอร์เฟซกลับไปเป็นชื่อคลาสสิกเก่า: eth0 แทน ens33

2) เปลี่ยนชื่ออินเทอร์เฟซในแบบที่ฉันต้องการตัวอย่างเช่นฉันสามารถเรียกอินเตอร์เฟส eth0 เป็น wan0 หรือกำหนด eth1, eth2 และที่อยู่ mac ที่ฉันต้องการ

คำตอบ:


21

สมมติว่าคุณเพิ่งติดตั้งเดเบียน 9 ยืด

1) สำหรับการคืนค่าชื่อเก่าสำหรับอินเทอร์เฟซทำ:

nano /etc/default/grub

แก้ไขบรรทัดGRUB_CMDLINE_LINUX=""เป็นGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

จากนั้นเรียกใช้grub-mkconfigเพื่อใช้การเปลี่ยนแปลงภายใน bootloader

grub-mkconfig -o /boot/grub/grub.cfg

คุณต้องรีบูตหลังจากนั้น


2) สำหรับการเปลี่ยนชื่ออินเตอร์เฟสให้ใช้:

  • สำหรับการปรับเปลี่ยนชั่วคราวดูที่คำตอบ @xhienne

  • สำหรับการแก้ไขแบบถาวร:

เริ่มต้นด้วยการสร้าง / แก้ไขไฟล์/etc/udev/rules.d/70-persistent-net.rules

nano /etc/udev/rules.d/70-persistent-net.rules

และแทรกบรรทัดภายในเช่น:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# interface with MAC address "00:0c:30:50:48:ab" will be assigned "eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

หากคุณต้องการมอบหมายตัวอย่างชื่อ wan0 ถึง eth0 คุณสามารถใช้ตัวอย่างของฉันได้:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

หลังจากรีบูตครั้งต่อไปหรือใช้บริการเครือข่ายรีสตาร์ทคุณจะเห็นการเปลี่ยนแปลงที่นำไปใช้


พิเศษ:จำไว้ว่าหลังจากการแก้ไขทั้งหมดนี้คุณต้องแก้ไขไฟล์/ etc / network / interfaces ของคุณแทนที่ชื่ออินเตอร์เฟสเก่าด้วยอันใหม่!


พิเศษ:หากคุณต้องการทราบว่า MAC แอดเดรสใดที่อินเตอร์เฟสของคุณมีให้ทำ

ip addr show

และดูที่ลิงค์ /ส่วน


ข้อมูลนี้พบได้ที่ไหนในเอกสารทางการของ Linux?
vfclists

5

สำหรับคำถาม 1) เห็นคำตอบของ user3450548 สำหรับคำถาม 2) คุณสามารถให้ชื่อที่คุณต้องการอินเตอร์เฟซที่มีiproute2:

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0

1
โอ้ดี แต่นี่ไม่ใช่แค่การเปลี่ยนแปลงชั่วคราวจนกว่าจะรีบูตครั้งถัดไปหรือไม่
user3450548

ใช่. แน่นอนคุณสามารถเพิ่มสิ่งนี้ในสคริปต์เริ่มต้น แต่คำตอบของคุณดีกว่าถ้าคุณต้องการบางสิ่งบางอย่างถาวร ฉันไม่ได้สังเกตว่าคุณกำลังตอบคำถามของคุณเอง (คุณอาจยอมรับได้) และเพิ่มสิ่งนี้หากคุณ (หรือใครก็ตาม) ต้องการเปลี่ยนชื่อชั่วคราวเพื่อวัตถุประสงค์ในการทดสอบ
xhienne

ขอบคุณนี่เป็น addon ที่ดีฉันจะชี้ทางออกชั่วคราวให้กับคำตอบของคุณเช่นกัน :)
user3450548

0

สร้างไฟล์ด้านล่างหากไม่มี

nano /etc/udev/rules.d/70-persistent-net.rules

เพิ่มบรรทัดด้านล่าง

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
# KERNEL=="enp3s0" is debians current interface name
# NAME="eth0" is a new ethernet interface name
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp3s0", NAME="eth0"

0

ฉันพบวิธีที่ง่ายมากโดยการเปลี่ยนเพียง/etc/network/interfaces:

rename enp3s0=wan0

แล้วก็

service networking restart

เพื่อเริ่มบริการเครือข่าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.