Linux 3.10.5-1カーネルベースのArchを実行しています。システムは、イーサネットインターフェースenp * s *やwlp *などの新しい事実上の命名規則を使用します。ただし、私の教育機関は Maple 17 というプログラムを使用しているため、これは問題です。 Mapleのライセンスシステムは、ライセンスを確認するためにMACアドレスを取得する必要があるため、eth0という名前のインターフェースの存在に依存しています。それは悪い解決策ですが、回避する必要があります。
これは、必ずしも機能する必要のない、任意のMACアドレスを持つeth0インターフェイスが必要になることを意味します(新しいMACアドレスの新しいライセンスファイルを取得できるため)。実際、常にダウンしているはずです。この問題を解決する方法はいくつかあると思いますが、どのアイデアについても見つけることができませんでした。
私が見つけたものは、新しい規則への変更と古いバージョンのudevでの変更のみをカバーしていました。彼らはとにかくRHELとSuSeだけに取り組みました。運がなくても試してみました。 (persistent-net-names.rulesとnet-name-slot.rules、どちらも実際のインターフェースが機能しなくなり、wlanインターフェースが消えた)
承知しました。 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を固定値に設定できます。
Udevルールを設定して、ネットワークカードに必要な名前を付けることもできます。
https://wiki.archlinux.org/index.php/Network_Configuration#Change_device_name
もちろん、あなたはそれらをeth0、eth1などと呼ぶようにudevに指示すべきではありません。wifiカードしか持っていない場合、Mapleは何をしますか?
有線ネットワークカードがまったく搭載されていないコンピューターでも、非常によく似た問題が発生します。このソリューションは良いもののように見えます: 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を実行します。