Linux

我們如何在 Linux 上創建多個虛擬介面?

  • December 16, 2017

要在 Linux 上創建假乙太網虛擬介面,我們首先使用以下命令初始化虛擬介面驅動程序: /sbin/modprobe dummy

然後我們將乙太網介面別名分配給我們剛剛在上面初始化的虛擬驅動程序。

但它給出了以下致命錯誤: FATAL: Module dummy not found。

此外,在路徑 **cd /sys/devices/virtual/net#**中,我們可以看到存在以下名稱的虛擬介面:

dummy0/ lo/ sit0/ tunl0/

ifconfig -a

dummy0:   Link encap:Ethernet  HWaddr aa:3a:a6:cd:91:2b    
         BROADCAST NOARP  MTU:1500  Metric:1  
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0   
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo:     Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0  
         inet6 addr: ::1/128 Scope:Host  
         UP LOOPBACK RUNNING  MTU:16436  Metric:1  
         RX packets:111 errors:0 dropped:0 overruns:0 frame:0  
         TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0   
         RX bytes:8303 (8.1 KiB)  TX bytes:8303 (8.1 KiB)

sit0:      Link encap:UNSPEC  HWaddr 00-00-00-00-FF-00-00-00-00-00-00-00-00-00-00-00    
         NOARP  MTU:1480  Metric:1  
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0   
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tunl0:  Link encap:IPIP Tunnel  HWaddr   
         NOARP  MTU:1480  Metric:1  
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0   
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  

因此,modprobe 命令無法載入核心模組。

我們如何使用modprobe或 insmod 載入核心模組來初始化虛擬介面驅動程序?

我們可以在單個載入的模組上創建多個虛擬介面嗎?

添加幾個虛擬介面的常用方法是使用iproute2

# ip link add dummy0 type dummy
# ip link add dummy1 type dummy
# ip link list
...
5: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
   link/ether 22:4e:84:26:c5:98 brd ff:ff:ff:ff:ff:ff
6: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
   link/ether 9e:3e:48:b5:d5:1d brd ff:ff:ff:ff:ff:ff

但是錯誤消息FATAL: Module dummy not found表明您可能有一個未啟用虛擬介面模組的核心,因此請務必檢查您的核心配置,並在必要時重新編譯核心。

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