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


24

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

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

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

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

回答:


28

確かに。(少なくとも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

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

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


1
右に!まさに私が望んでいた解決策、ありがとうございました:)それは夢のように機能します。
スティーンシュット

1
私は問題があります。MACを変更しようとするとip link set dev eth0 address 01:23:45:67:89:ab(アダプタがダウンもちろんですが)、それは述べていますRTNETLINK answers: Cannot assign requested address。また、macchangerをインストールしようとしましたが、同様のエラーが返されます。すべてがルートとして試行されました。
スティーンシュット

3
@TimeSheepこれは有効なMACアドレスではありません。特に、それはマルチキャストアドレスです。00:23:45:67:89:abを試してください。動作します。しかし、02:23:45:67:89:abの方が良いでしょう。たとえば、en.wikipedia.org
wiki / MAC_address#Address_details

ああ、ありがとう。これらのものが機能するための要件が​​あることを完全に忘れていました。ランダムに生成する次のものを取得して使用します。スクリプトを使用してデバイスを再作成し、起動時にデバイスのアドレスを設定し直すのではなく、デバイスを再起動後も保持する方法はありますか?
スティーンシュット

@TimeSheepそうではありません。その仮想インターフェースは、カーネルの心以外には存在しません...そのため、再起動すると消えます。
デロバート

4

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

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

もちろん、udevにeth0、eth1などを呼び出すよう指示しないでください。wifiカードしかない場合、Mapleは何をしますか?


私はメープルのことは知らないが、私はチェックをお使いのMacとだけ呼ばれるネットワーク・インタフェースを見ていることを他の「コピープロテクト」ソフトウェア見てきたeth0としeth1。yoursが呼び出された場合はwlan0、名前を変更する方法や仮想インターフェイスを作成する方法がわからない限り、あまりにも悪いです。
ジル 'SO-悪であるのをやめる'

もしwifiカードしか持っていないなら、あなたは運が悪いと思います。私はそれについて担当者と話しましたが、彼らはライセンスシステムを書いているものではないようです。命名規則が変更される可能性が最も高いこと、およびサポートを改善するためにすべてにパッチを適用することを検討する必要があることを伝えました。you are correct in your suspicions of the cause of the problem with the activation, particularly the issue with the Ethernet adapter name. Unfortunately, it is a limitation of the licensing software that it has to look for an "eth0" in order to find the Host ID of the system
スティーンシューット

NICを一時的にeth0に名前変更するためにudevルールを使用し、そのルールを削除してアクティベーション後に再起動する可能性はありますか?カードethXの名前を変更するのが常に本当に本当に悪いのか、それともときどきなのか、私には実際にはわかりません。
レインボーゴブリン

@rainbowgoblinいいえ、起動するたびにサーバーをチェックするため、後で「ホストIDを取得できませんでした」というエラーが再び表示されます。いずれにせよ、デロバートのソリューションは完璧であり、そのような回避策のようにさえ感じません。
スティーンシュット

2

有線ネットワークカードをまったく搭載していないコンピューターで、非常によく似た問題を探しています。このソリューションは良いもののようです: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この時点でaを実行し、インターフェイスが正しくセットアップされていることを確認できるはずです。再起動の代わりにmodprobeを使用すると、macアドレスが設定されない場合があります。その場合、ip link set dev eth0 address de:ad:be:ef:ca:feを実行します。


-1

最も簡単なソリューション-これは、1つのイーサネットカードを搭載したシステムでのみ動作しますが:

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

Arch Linuxは「予測可能な命名」を使用しています。これでオフになります。


私はすでにそれを試しました、それはそれをすべて台無しにして、私のアダプターは消えました。
スティーンシュット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.