Kvm

為 KVM 橋創建分接介面時沒有運營商錯誤

  • April 4, 2020

介面

我嘗試為 kvm 手動創建 Tap 介面(tap210i0)。但是每次 Tun 設備顯示NO-CARRIER

我有介面eno1eno2vmbr0tap210i0。eno1 和 eno2 是 vmbr0從屬設備

這是我嘗試過的一組命令。

ip tuntap add tap210i0 mode tap

ip link set dev tap210i0 up

ip link set tap210i0 master vmbr0

當我鍵入***“brctl show”時,它會顯示“tap210i0”***作為界面之一以及 eno1。我有Google,但沒有找到我的問題的任何直接答案。

我相信我也有水龍頭模組工作。

lsmod | egrep -si tap

輸出 :

點擊 24576 1 vhost_net

請注意,所有類型的防火牆均已禁用。(包括iptables)

誰能給我任何工作建議?請不要建議我重新啟動網路,因為我只能遠端訪問此伺服器。我無法去物理伺服器修復它。

TAP介面提供具有兩個端的虛擬鏈路:

  • 主機上網路層看到的介面端,對於 OP 的案例,它通常處於分接模式(第 2 層乙太網)並設置為橋接埠。
  • 看不見的一面:一個程序打開了一個文件描述符到一個特殊的設備(/dev/net/tun),它允許這個程序讀寫 IP 數據包(tun 模式)或乙太網幀(tap 模式)。這些數據包要麼來自或去往主機的介面端。

創建界面並不是最重要的部分。最重要的部分是在該介面的不可見側附加一個程序來讀取和寫入數據包。只要沒有這個過程,通過這個連結的通信就不存在。這很自然地被翻譯為“NO-CARRIER”,因為它是有道理的。這是正常和預期的行為。

我遇到的此類程序的三個範例是 QEMU(它為 KVM 提供設備仿真,包括網路介面)、OpenVPN 和 openssh 的 Tunnel 選項。

通常,您會讓qemu或**qemu的助手或libvirtd創建自己的介面(並在將其附加到網橋時)並交給qemu使用相應文件描述符所需的內容。然後,該介面將讓這個不可見的另一方正確處理它:qemu,它會報告檢測到載體。可能可以自己將手動創建的介面交給qemu(或libvirtd等),但由於這不是通常的方法,您將有額外的工作要做。

引用自:https://unix.stackexchange.com/questions/577844