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

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

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

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

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

私が見つけることができるのは、新しいルールと古いバージョンのudevへの変更についてのみ扱います。とにかくRHELとSuSeでのみ動作します。頑張ってたけど運がなかった。 (persist-net-names.rules と net-name-slot.rules、どちらも物理インターフェイスの動作を停止し、wlan インターフェイスは消えます.)

答え1

確かに。 (少なくともDebianではuml-utilitiesで)以下をtap使用してデバイスを非常に簡単に作成できます。tunctl

# 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

ip2番目の方法はLinuxで最も一般的に使用されているネットワーキングツールであり、すでにインストールされているため、優先する必要があります。

また、どちらも任意のローカルMACを使用してタップデバイスを作成するため、通常の方法でMACを固定値に設定できます。

答え2

udev ルールを設定して、ネットワークカードに希望の名前を割り当てることもできます。

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

もちろん、udevにeth0、eth1などと呼ぶように指示しないでください。 Wi-Fiカードだけでメープルはどうしますか?

答え3

有線ネットワークカードがまったくないコンピュータで非常に似た問題を探しています。この解決策はよさそうだ。http://jms.id.au/wiki/FakeEth0

デフォルトでは、アイデアはいくつかのファイルを作成/修正して仮想インターフェイスを作成することです。

次に追加/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 を実行してください。

答え4

最も簡単なソリューション - これは1つのイーサネットカードを持つシステムでのみ機能しますが、次のようになります。

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

Arch Linux では「予測可能な命名」を使用します。それから消えます。

関連情報