Ich habe ein Dell XPS 13 Ultrabook, das eine WLAN-Netzwerkkarte hat, aber keine physische Ethernet-Netzwerkkarte (wlan0, aber kein eth0). Ich muss einen virtuellen Adapter erstellen, um Vagrant mit NFS zu verwenden, finde aber, dass das typische ifup eth0:1...
schlägt fehl mit ignoring unknown interface eth0:1=eth0:1
. Ich habe auch versucht, eine virtuelle Schnittstelle für wlan0
zu erstellen , erhielt aber das gleiche Ergebnis.
Wie kann ich auf dieser Maschine eine virtuelle Schnittstelle ohne physische Schnittstelle erstellen?
Akzeptierte Antwort:
Dummy-Schnittstelle einrichten
Wenn Sie Netzwerkschnittstellen erstellen möchten, aber keine physische NIC zur Unterstützung haben, können Sie den Dummy-Link-Typ verwenden. Sie können hier mehr darüber lesen:iproute2-Wikipedia-Seite.
eth10 erstellen
Um diese Schnittstelle zu erstellen, müssen Sie zunächst sicherstellen, dass Sie das Dummy-Kernelmodul geladen haben. Sie können dies folgendermaßen tun:
$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy 12960 0
Mit dem jetzt geladenen Treiber können Sie beliebige Dummy-Netzwerkschnittstellen erstellen:
$ sudo ip link add eth10 type dummy
HINWEIS: In älteren Versionen von ip
Sie würden das obige so machen, scheint sich im Laufe der Zeit geändert zu haben. Behalten Sie dies zu Referenzzwecken hier bei, aber basierend auf Feedback über Kommentare funktioniert das obige jetzt.
$ sudo ip link set name eth10 dev dummy0
Und bestätigen Sie es:
$ 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
Ändern des MAC
Sie können die MAC-Adresse dann ändern, wenn Sie möchten:
$ 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
Erstellen eines Alias
Sie können dann Aliase auf eth10 erstellen.
$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
Und bestätige sie so:
$ 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)
Oder mit 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
Das alles entfernen?
Wenn Sie all dies abwickeln möchten, können Sie dazu diese Befehle ausführen:
$ 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
Referenzen
- Minitipp:IP-Aliase unter Fedora setzen
- Linux Networking:Dummy-Schnittstellen und virtuelle Bridges
- IP-Link-Manpage
- iproute2-HOWTO
- iproute2-Cheatsheet