Làm cách nào tôi có thể hiển thị tên eth0 cũ và cũng đổi tên giao diện mạng trong debian 9 kéo dài?


12

Tôi muốn làm 2 việc:

1) Hoàn nguyên các giao diện về tên cổ điển cũ: eth0 thay vì ske33.

2) Đổi tên các giao diện theo cách tôi muốn để ví dụ tôi có thể gọi giao diện eth0 là wan0 hoặc gán eth1, eth2, v.v. theo địa chỉ mac tôi muốn.

Câu trả lời:


21

Giả sử rằng bạn vừa cài đặt debian 9 của bạn.

1) Để hoàn nguyên tên cũ cho các giao diện, hãy:

nano /etc/default/grub

chỉnh sửa dòng GRUB_CMDLINE_LINUX=""thànhGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

sau đó khởi chạy grub-mkconfig để áp dụng các thay đổi bên trong bộ nạp khởi động

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

Bạn cần khởi động lại sau đó.


2) Để đổi tên các giao diện sử dụng:

  • Để chỉ sửa đổi tạm thời, hãy xem câu trả lời @xhienne.

  • Đối với một sửa đổi vĩnh viễn:

Bắt đầu bằng cách tạo / chỉnh sửa tệp /etc/udev/rules.d/70-persistent-net.rules .

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

Và chèn các dòng bên trong như:

# 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"

Nếu bạn muốn gán ví dụ một tên như wan0 cho eth0, bạn có thể sử dụng ví dụ của tôi:

# 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"

Sau lần khởi động lại tiếp theo hoặc sử dụng dịch vụ khởi động lại mạng, bạn sẽ thấy những thay đổi được áp dụng.


EXTRA: Hãy nhớ rằng sau tất cả các sửa đổi này, bạn phải chỉnh sửa tệp / etc / mạng / giao diện thay thế tên giao diện cũ bằng tên mới!


EXTRA: Nếu bạn muốn biết địa chỉ MAC của bạn có giao diện gì, chỉ cần làm một

ip addr show

và xem dưới liên kết / phần.


Thông tin này có thể được tìm thấy ở đâu trong tài liệu chính thức của Linux?
vfclists

5

Đối với câu hỏi 1) xem câu trả lời của user3450548 . Đối với câu hỏi 2) bạn có thể đặt bất kỳ tên nào bạn muốn cho một giao diện với iproute2:

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

1
Oh tốt, tuy nhiên đây không chỉ là một thay đổi tạm thời cho đến lần khởi động lại tiếp theo?
dùng3450548

Đúng. Tất nhiên bạn có thể thêm điều này trong một kịch bản khởi động, nhưng câu trả lời của bạn sẽ tốt hơn nếu bạn muốn một cái gì đó vĩnh viễn. Tôi không nhận thấy bạn đang trả lời câu hỏi của riêng bạn (bạn có thể chấp nhận nó sau đó) và thêm điều này nếu bạn (hoặc bất kỳ ai khác) muốn thay đổi tên tạm thời cho mục đích thử nghiệm.
xhienne

Cảm ơn, đây là một addon hay, tôi sẽ chỉ ra giải pháp tạm thời cho câu trả lời của bạn nữa :)
user3450548

0

Tạo tập tin dưới đây nếu không có

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

thêm dòng dưới đây

# 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

Tôi tìm thấy một cách rất dễ dàng bằng cách chỉ thay đổi /etc/network/interfaces:

rename enp3s0=wan0

Sau đó

service networking restart

để khởi động lại dịch vụ mạng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.