Dell XPS 13ウルトラブックを持っていますが、これにはwifi nicがありますが、物理イーサネットnic(wlan0、ただしeth0)はありません。 NFSでVagrantを使用するための仮想アダプターを作成する必要がありますが、一般的なifup eth0:1...
がignoring unknown interface eth0:1=eth0:1
で失敗することがわかりました。また、wlan0
に対して仮想インターフェースを作成してみましたが、同じ結果が得られました。
物理インターフェイスなしでこのマシンに仮想インターフェイスを作成するにはどうすればよいですか?
ネットワークインターフェイスを作成したいが、物理的なNICそれをサポートしていない場合は、ダミーのリンクタイプを使用できます。それらの詳細については、こちらをご覧ください。 iproute2 Wikipedia page 。
このインターフェイスを作成するには、まずダミーのカーネルモジュールが読み込まれていることを確認する必要があります。あなたはそうすることができます:
$ 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アドレスを変更できます。
$ 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
iproute2 ツールキットを使用して仮想インターフェースを作成できます。
ip link add veth0 type veth peer name veth1
これにより、veth0
とveth1
の2つのインターフェイスが作成されます。それらをパイプの両端と考えてください。 veth0
に送信されたトラフィックはveth1
から送信され、その逆も同様です。
トラフィックをルーティングしたい場合は、以下を実行できます。
sysctl -w net.ipv4.conf.veth0.forwarding=1
これにより、カーネルはveth0
からのトラフィックを転送するようになります(使用するエンドポイントにはveth1
を使用してください)。
別のオプションは、veth0
と別のインターフェースでブリッジを設定することです。次に、仮想インターフェイスを経由するトラフィックは、マシンが単にスイッチとして機能しているかのように、ネットワークにルーティングされます。
このトラフィックでできることは他にもたくさんあります(マスカレード、リダイレクト、DNATなど)が、それは達成しようとしていることに依存します。
それを分解するには:
ip link del veth0