新しい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
彼らはここで正確に何をしましたか、またこの種類のエイリアスを別のコンピュータでどのように再作成できますか?
これはおそらくmacvlan
機能を使用して行われます。既存のハードウェアインターフェイスの上に仮想イーサネットインターフェイスを追加できます。あなたの場合、それは次のように行われた可能性があります:
ip link add link ens1 name eth0 type macvlan
デフォルトでは、新しいインターフェイスはランダムに選択されたローカル管理のユニキャストMACアドレスを取得します。または、address <MAC>
を使用してMACアドレスを指定できます。
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
の名前を使用するように、ネットワーク構成を更新する必要があります。
この変更が発生した理由の詳細については、 予測可能なネットワークインターフェイス名 を参照してください。