web-dev-qa-db-ja.com

eth0という名前の仮想イーサネットインターフェイスを作成できますか?

Linux 3.10.5-1カーネルベースのArchを実行しています。システムは、イーサネットインターフェースenp * s *やwlp *などの新しい事実上の命名規則を使用します。ただし、私の教育機関は Maple 17 というプログラムを使用しているため、これは問題です。 Mapleのライセンスシステムは、ライセンスを確認するためにMACアドレスを取得する必要があるため、eth0という名前のインターフェースの存在に依存しています。それは悪い解決策ですが、回避する必要があります。

これは、必ずしも機能する必要のない、任意のMACアドレスを持つeth0インターフェイスが必要になることを意味します(新しいMACアドレスの新しいライセンスファイルを取得できるため)。実際、常にダウンしているはずです。この問題を解決する方法はいくつかあると思いますが、どのアイデアについても見つけることができませんでした。

  • 接続なしのアダプターの作成
  • Eth0という名前のenp3s0のエイリアスを作成する
  • Enp3s0またはループバックインターフェイスの名前を変更します。

私が見つけたものは、新しい規則への変更と古いバージョンのudevでの変更のみをカバーしていました。彼らはとにかくRHELとSuSeだけに取り組みました。運がなくても試してみました。 (persistent-net-names.rulesとnet-name-slot.rules、どちらも実際のインターフェースが機能しなくなり、wlanインターフェースが消えた)

25
Steen Schütt

承知しました。 tapデバイスは、tunctl(uml-utilitiesから、少なくともDebianでは)を使用して、かなり簡単に作成できます。

# tunctl -t eth0
Set 'eth0' persistent and owned by uid 0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr a6:9b:fe:d8:d9:5e  
          BROADCAST MULTICAST  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:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

またはipを使用:

# ip tuntap add dev eth0 mode tap
# ip link ls dev eth0
7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
    link/ether 0e:55:9b:6f:57:6c brd ff:ff:ff:ff:ff:ff

Linuxではipが推奨されるネットワークツールであり、すでにインストールされている可能性があるため、おそらく2番目の方法を選択する必要があります。

また、これらは両方とも、おそらくローカルMACがランダムなタップデバイスを作成しています。通常の方法のいずれかでMACを固定値に設定できます。

28
derobert

Udevルールを設定して、ネットワークカードに必要な名前を付けることもできます。

https://wiki.archlinux.org/index.php/Network_Configuration#Change_device_name

もちろん、あなたはそれらをeth0、eth1などと呼ぶようにudevに指示すべきではありません。wifiカードしか持っていない場合、Mapleは何をしますか?

4
rainbowgoblin

有線ネットワークカードがまったく搭載されていないコンピューターでも、非常によく似た問題が発生します。このソリューションは良いもののように見えます: http://jms.id.au/wiki/FakeEth

基本的に、アイデアはいくつかのファイルを作成/変更してダミーのインターフェースを作成することです:

/etc/modules-load.d/dummy.conf 追加:

# load dummy interface module
dummy

/etc/udev/rules.d/70-persistent-net.rules 追加:

SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0"

次に/etc/network/interfaces 追加:

iface eth0 inet static
    hwaddress DE:AD:BE:EF:CA:FE

modprobe dummyこの時点で、インターフェースが正しくセットアップされていることを確認してください。再起動する代わりにmodprobeを使用すると、MACアドレスが設定されない場合があります。その場合は、ip link set dev eth0 address de:ad:be:ef:ca:feを実行します。

2
alex.forencich