我嘗試創建點擊介面(水龍頭210i0) 手動用於 kvm。但每次Tun設備顯示無載體。
我有接口諾1,埃諾2,虛擬機器BR0和水龍頭210i0。 eno1 和 eno2 是奴隸為了虛擬機器BR0。
這是我嘗試過的一組命令。
ip tuntap add tap210i0 mode tap
ip link set dev tap210i0 up
ip link set tap210i0 master vmbr0
當我打字時“brctl秀”表明“tap210i0”與 eno1 一起作為介面之一。我用谷歌搜尋了一下,但沒有找到我的問題的任何直接答案。
我相信我也有工作的 Tap 模組。
lsmod | egrep -si tap
輸出 :
點選 24576 1 vhost_net
請注意,所有類型的防火牆均已停用。 (包括 iptables)
誰能給我任何工作建議嗎?請不要建議我重新啟動網絡,因為我只能遠端訪問該伺服器。我無法去實體伺服器修復它。
答案1
A輕敲介面提供了兩端的虛擬連結:
- 這介面主機上網路層看到的一側,對於 OP 的用例來說,通常處於 Tap 模式(第 2 層乙太網路)並設定為橋接連接埠。
- 一個無形的側面:一個過程開啟一個特殊裝置 ( ) 的檔案描述符
/dev/net/tun
,允許該進程讀取和寫入 IP 封包(tun 模式)或乙太網路幀(tap 模式)。這些資料包來自或發送至主機的介面側。
創建介面並不是最重要的部分。最重要的部分是在該介面的不可見端附加一個進程來讀取和寫入資料包。只要沒有這樣的過程,這個鏈路上的通訊就不存在。這很自然地被翻譯為“NO-CARRIER”,因為它是有道理的。這是正常且預期的行為。
我想到的此類過程的三個範例是 QEMU(它為 KVM 提供設備模擬,包括網路介面)、OpenVPN 和 openssh 的隧道選項。
通常你會讓蓋姆或幫助者蓋姆, 或者庫虛擬機建立自己的介面(並將其連接到橋上)並手動蓋姆使用對應的文件描述符需要什麼。然後,介面將讓這個不可見的另一端正確處理它:蓋姆,並且它會報告檢測到載體。或許可以將手動創建的介面交給蓋姆(或者庫虛擬機等等),但由於這不是通常的方法,因此您將需要做額外的工作。