Làm thế nào để thoát khỏi giao diện veth?


0

Tôi không chắc tại sao / khi nào, một số vethgiao diện đã xuất hiện trong hệ thống của tôi ( Ubuntu 16.0. LTS):

» ifconfig | grep veth
veth4556676 Link encap:Ethernet  HWaddr ee:b9:b9:ed:71:a6  
veth8747335 Link encap:Ethernet  HWaddr 66:40:47:fd:1f:a7  
veth13905bf Link encap:Ethernet  HWaddr ae:73:8f:f7:9d:d4  
veth2636dd7 Link encap:Ethernet  HWaddr fa:b8:3c:d4:52:9c  
veth42de626 Link encap:Ethernet  HWaddr 92:08:43:90:6e:f3  
veth4eedb05 Link encap:Ethernet  HWaddr 66:5f:b8:e7:52:05  
veth7534db0 Link encap:Ethernet  HWaddr 16:9c:06:e6:f2:aa  
veth83508c7 Link encap:Ethernet  HWaddr 5a:55:6c:ee:e5:7b  
veth8f275d6 Link encap:Ethernet  HWaddr 46:18:a1:52:7f:e9  
veth9f370c9 Link encap:Ethernet  HWaddr da:9e:49:37:b4:16  
vethb96da94 Link encap:Ethernet  HWaddr 42:11:90:11:8a:f4  
vethba463c9 Link encap:Ethernet  HWaddr 06:40:d5:9a:79:7a  
vethd820900 Link encap:Ethernet  HWaddr a2:94:53:c8:53:bf  
vethdd077a0 Link encap:Ethernet  HWaddr 1a:f9:00:93:05:5e  
vethef191e6 Link encap:Ethernet  HWaddr b2:b0:e1:68:50:7c  
vethf70a6f9 Link encap:Ethernet  HWaddr a6:a7:72:dd:88:69  

Điều này xảy ra trong một hệ thống mới được khởi động lại. Tôi có hai câu hỏi:

  1. Tại sao các giao diện veth có mặt?
  2. Làm thế nào tôi có thể thoát khỏi chúng?

Lưu ý: Gần đây tôi đã thực hiện một số nội dung liên quan đến Vagrant / VirtualBox, vì vậy đó có thể là lý do.


Giao diện veth là các giao diện ảo được sử dụng để bắc cầu VM - tôi không quen với Vagrant, nhưng tôi hy vọng đây là nguyên nhân - vì điều này trông khá giống với những gì xảy ra với Docker.
davidgo

Chắc chắn vethlà các giao diện ethernet ảo được sử dụng để cung cấp kết nối internet cho các máy ảo.
C0deDaedalus 23/03/18

Câu trả lời:


1

Tại sao những vethgiao diện đó có mặt?

Có thể vì bạn đang sử dụng Nền tảng ảo hóa như vmware hoặc virtualbox hoặc vagrant.

Loại bỏ các vethgiao diện!

Tôi cho rằng một giải pháp tốt hơn tồn tại, nhưng hiện tại bạn có thể làm theo cách này.

  • Lấy tên của interfaces

    ifconfig | grep "^veth" | cut -d' ' -f1
    

    Ở đây grep "^veth"chỉ chọn những giao diện (được liệt kê bởi ifconfig) bắt đầu bằng vethcutchỉ hiển thị tên bằng cách dloại bỏ nội dung và chỉ hiển thị lần đầu tiên f.

  • Bây giờ chúng tôi phải tắt trình điều khiển cho các giao diện này bằng cách sử dụng

    ifconfig vethxxxxxx down
    

    Ngoài ra, bạn có thể làm điều đó bằng cách sử dụng iplệnh (như được đề xuất bởi @dirkt trong các bình luận ).

    ip link set $veth down
    

    Nhưng vì có quá nhiều trong số chúng, hãy sử dụng forvòng lặp như thế này:

    for veth in $(ifconfig | grep "^veth" | cut -d' ' -f1)
    do
        ifconfig $veth down    # OR this ip link set $veth down
    done
    
  • Đây là một lớp lót để sao chép dán:

    for veth in $(ifconfig | grep "^veth" | cut -d' ' -f1); do ifconfig $veth down; done
    

Hãy thêm vào nhiều thứ để trả lời.


BTW, tôi khuyên bạn nên sử dụng ipcũ hơn ifconfig- ipcó thể sử dụng các tính năng mạng của kernel ifconfigkhông thể sử dụng, mặc dù điều này không quan trọng đối với vấn đề cụ thể này.
dirkt

@dirkt, Cảm ơn lời đề nghị của bạn. Vì tôi không sử dụng lệnh thường xuyên, bạn có thể vui lòng chỉnh sửa câu trả lời để sử dụng iplệnh không. Cảm ơn.
C0deDaedalus 24/03/18
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.