Tên giao diện mạng có dấu hiệu - nó là gì?


10

Tôi đang cố gắng tìm kiếm thông tin về lý do tại sao một tên giao diện mạng sẽ có dấu hiệu, nhưng có quá nhiều tiếng ồn trong kết quả mà tôi nhận được cho đến nay (tôi thiếu thuật ngữ chính xác để tìm kiếm)

Tôi có một thùng chứa LXC trên máy chủ Ubuntu. Bên trong container tôi chạy và nhận:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:37:a0:7a brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.3.195/24 brd 10.0.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe37:a07a/64 scope link 
       valid_lft forever preferred_lft forever

Lưu ý rằng eth0@if10

Phần này @được gọi là / đề cập đến là gì?

Trên máy chủ không có như vậy if10, một container khác mà tôi có eth0@if8- Tôi phải cho rằng đây là một phần trong việc xử lý các bản dịch mạng của LXC bằng cách nào đó, nhưng tôi đã không nhận thấy điều này hiện có trước đây và tự hỏi liệu nó có bổ sung cho việc bắc cầu không, Điều đó có thể tồn tại trong các kịch bản khác?

Câu trả lời:


6

eth0@if10 có nghĩa:

  • giao diện mạng của bạn được đặt tên đơn giản eth0và các công cụ và ứng dụng mạng chỉ có thể đề cập đến tên này mà không có phụ lục @. (Là một sidenote, đây rất có thể là một đồng nghiệp veth, nhưng tên không cần phải phản ánh điều này.)
  • @if10có nghĩa là: eth0được kết nối với một số giao diện mạng (khác) với chỉ số 10 (thập phân). Vì cũng có link-netnsid 0hiển thị, giao diện mạng khác này nằm trong một không gian tên mạng khác (loại ngăn xếp IP ảo), có lẽ là không gian tên mạng gốc (còn gọi là máy chủ).

Nếu bạn sử dụng ip link showtrong máy chủ của mình chứ không phải trong thùng chứa của bạn, thì một trong các giao diện mạng được liệt kê ở đó sẽ có @9phụ lục; tên giao diện có thể sẽ bắt đầu bằng veth.... Giao diện này là ngang hàng với eth0@10giao diện bạn đã hỏi về. Giao diện Veth đi theo cặp kết nối với nhau, giống như cáp ảo.

Vì vậy, đây @...là phần phụ lục được tạo bởi ipcông cụ và nó không phải là một phần của tên giao diện mạng của Linux. Số sau @ tham chiếu đến giao diện mạng khác có số chỉ mục được hiển thị sau @. Các số chỉ mục được in trước tên giao diện mạng, chẳng hạn như trong 9: eth0@if10. Giao diện mạng ngang hàng có thể ở một không gian tên mạng khác.

Thật không may, việc tìm không gian tên mạng chính xác cho việc link-netnsid ..này khá liên quan, hãy xem cách tìm không gian tên mạng của veth ngang hàng ifindex .


Cảm ơn - làm theo lời giải thích đó giống như những gì tôi đang xem là cái được gọi là "không gian tên mạng". Ta.
taifwa

1
Ký hiệu @ cũng được sử dụng trong các tình huống khác không liên quan đến không gian tên mạng, chẳng hạn như giao diện MACVlan được đính kèm với giao diện mạng vật lý khác. Đó là link-netnsid 0tín hiệu cho thấy không gian tên mạng khác có liên quan. @ Chỉ nói rằng có một giao diện khác liên quan, nhưng không phải là giao diện khác.
TheDiveO

0

Kiểm tra tệp như 70-continent-net.rules trong /etc/udev/rules.d hoặc dưới /lib/udev/rules.d. Cần có một dòng với tên giao diện mạng và địa chỉ MAC. Thay đổi điều đó và khởi động lại sẽ đổi tên NIC.


Tôi không cố gắng đổi tên NIC - Tôi đang cố gắng hiểu những gì hiện tại ....
taifwa

Hiểu. Nhưng có một tệp quy tắc mạng liên tục có dấu "tại" trong tên NIC không?
bootbeast

Dấu @ trong trường hợp này không phải là một phần của tên giao diện, mà thay vào đó là một vật phẩm của ipcông cụ. Chỉ cần so sánh với ifconfig... hoặc thực hiện một số tên giao diện Python nhanh chóng sử dụng pyroute2. Tất cả sẽ hiển thị ở đó tên giao diện mạng thực không được trang trí.
TheDiveO
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.