Mám ultrabook Dell XPS 13, který má wifi nic, ale žádný fyzický ethernet nic (wlan0, ale ne eth0). Potřebuji vytvořit virtuální adaptér pro použití Vagrant s NFS, ale zjišťuji, že typický ifup eth0:1...
selže s ignoring unknown interface eth0:1=eth0:1
. Zkoušel jsem také vytvořit virtuální rozhraní proti wlan0
, ale obdrželi stejný výsledek.
Jak mohu vytvořit virtuální rozhraní na tomto počítači bez fyzického rozhraní?
Přijatá odpověď:
Nastavení fiktivního rozhraní
Pokud chcete vytvořit síťová rozhraní, ale postrádáte fyzickou síťovou kartu, která by je podporovala, můžete použít typ fiktivního odkazu. Více si o nich můžete přečíst zde:iproute2 stránka Wikipedie.
Vytvoření eth10
Chcete-li vytvořit toto rozhraní, musíte se nejprve ujistit, že máte nahrán fiktivní modul jádra. Můžete to udělat takto:
$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy 12960 0
S načteným ovladačem můžete vytvářet jakákoli fiktivní síťová rozhraní, která se vám líbí:
$ sudo ip link add eth10 type dummy
POZNÁMKA: Ve starších verzích ip
Pokud byste udělali výše uvedené takto, vypadá to, že se postupem času změnilo. Ponechání si zde pro referenční účely, ale na základě zpětné vazby prostřednictvím komentářů, výše uvedené nyní funguje.
$ sudo ip link set name eth10 dev dummy0
A potvrďte to:
$ 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
Změna MAC
Poté můžete MAC adresu změnit, pokud chcete:
$ 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
Vytvoření aliasu
Poté můžete vytvořit aliasy nad eth10.
$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
A potvrďte je takto:
$ 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)
Nebo pomocí 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
Chcete to všechno odstranit?
Chcete-li toto vše uvolnit, můžete k tomu spustit tyto příkazy:
$ 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
Odkazy
- MiniTip:Nastavení aliasů IP ve Fedoře
- Linux Networking:Falešná rozhraní a virtuální mosty
- manuálovou stránku s odkazem ip
- Jak na to iproute2
- iproute2 cheatsheet