Networking
如何在沒有物理適配器的機器上創建虛擬乙太網介面?
我有一台戴爾 XPS 13 超極本,它有一個 wifi 網卡,但沒有物理乙太網網卡(wlan0,但沒有 eth0)。
ifup eth0:1...
我需要創建一個虛擬適配器以將Vagrant與 NFS 一起使用,但我發現典型的ignoring unknown interface eth0:1=eth0:1
. 我也嘗試過創建一個針對 的虛擬介面wlan0
,但收到了相同的結果。如何在沒有物理介面的這台機器上創建虛擬介面?
設置一個虛擬介面
如果您想創建網路介面,但缺少支持它的物理 NIC,則可以使用虛擬連結類型。你可以在這裡閱讀更多關於它們的資訊:iproute2 Wikipedia page。
創建 eth10
要製作此界面,您首先需要確保已載入虛擬核心模組。你可以這樣做:
$ sudo lsmod | grep dummy $ sudo modprobe dummy $ sudo lsmod | grep dummy dummy 12960 0
現在載入驅動程序後,您可以創建您喜歡的任何虛擬網路介面:
$ sudo ip link add eth10 type dummy
**注意:**在舊版本中,
ip
您會像這樣執行上述操作,似乎在此過程中發生了變化。將其保留在此處以供參考,但基於評論的回饋,以上內容現在有效。$ sudo ip link set name eth10 dev dummy0
並確認:
$ ip link show eth10 6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default link/ether c6:ad:af:42:80:45 brd ff:ff:ff:ff:ff:ff
更改 MAC
然後,您可以根據需要更改 MAC 地址:
$ sudo ifconfig eth10 hw ether 00:22:22:ff:ff:ff $ ip link show eth10 6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default link/ether 00:22:22:ff:ff:ff brd ff:ff:ff:ff:ff:ff
創建別名
然後,您可以在 eth10 之上創建別名。
$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
並像這樣確認它們:
$ ifconfig -a eth10 eth10: flags=130<BROADCAST,NOARP> mtu 1500 ether 00:22:22:ff:ff:ff txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 $ ifconfig -a eth10:0 eth10:0: flags=130<BROADCAST,NOARP> mtu 1500 inet 192.168.100.199 netmask 255.255.255.0 broadcast 192.168.100.255 ether 00:22:22:ff:ff:ff txqueuelen 0 (Ethernet)
或使用
ip
:$ ip a | grep -w inet inet 127.0.0.1/8 scope host lo inet 192.168.1.20/24 brd 192.168.1.255 scope global wlp3s0 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 inet 192.168.100.199/24 brd 192.168.100.255 scope global eth10:0
刪除這一切?
如果你想放鬆這一切,你可以執行這些命令來做到這一點:
$ sudo ip addr del 192.168.100.199/24 brd + dev eth10 label eth10:0 $ sudo ip link delete eth10 type dummy $ sudo rmmod dummy
參考