web-dev-qa-db-ja.com

ネットワークデバイスのエイリアスを作成するにはどうすればよいですか?

新しいLinuxディストリビューションがネットワークデバイスにeth0という名前を付けていないことに気づかなかったライセンスマネージャーを使用して、特定のソフトウェアを実行しようとしています。 MACアドレスを確認しようとしていますが、Centos 7ではmy NICがens1と呼ばれているため、これは機能しません。

このソフトウェアのベンダーは既に別のコンピューターでこれを修正しており、彼らがこれをどのように行ったかを理解したいと思います。彼らはens1のエイリアスを作成して、ライセンスマネージャーがeth0を再び見つけられるようにしました。

ifconfig -aを実行してもエイリアスはまったく表示されませんが、ifconfig eth0を明示的に呼び出すと表示されます。 ip linkコマンドを使用すると、次のように表示されます。

eth0@ens1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether [mac address] brd ff:ff:ff:ff:ff:ff

彼らはここで正確に何をしましたか、またこの種類のエイリアスを別のコンピュータでどのように再作成できますか?

13
Mad Scientist

これはおそらくmacvlan機能を使用して行われます。既存のハードウェアインターフェイスの上に仮想イーサネットインターフェイスを追加できます。あなたの場合、それは次のように行われた可能性があります:

ip link add link ens1 name eth0 type macvlan

デフォルトでは、新しいインターフェイスはランダムに選択されたローカル管理のユニキャストMACアドレスを取得します。または、address <MAC>を使用してMACアドレスを指定できます。

5
starblue

Udevルールを使用して、NICの名前を古いeth0スタイルに戻すことができます。

例えば/etc/udev/rules.d/70-persistent-net.rulesを次のような行に編集します。

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

ここで、xx:xx:xx:xx:xx:xxはNICのMACアドレスです。

また、eth0ではなくens1の名前を使用するように、ネットワーク構成を更新する必要があります。

この変更が発生した理由の詳細については、 予測可能なネットワークインターフェイス名 を参照してください。

1
cas