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


13

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

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

エイリアスは表示されませんifconfig -aが、明示的に呼び出すと表示されますifconfig eth0ip linkコマンドを使用すると、次のように表示されます。

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

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


2
彼らはおそらく使用しましたip link set ens1 name eth0@ens1か?私はそれがそのような再起動を生き残ることを疑いますが、おそらくあなたはDEVICEラインifcfg-ens1または何かに変更を加えることができますか?両方eth0@ens1とリストに表示さens1れますip linkか、それとも新しい名前だけですか?
Eric Renouf、2015年

1
これをVMでテストしたところip link set ens1 name eth0@ens1、新しい名前も表示されifconfig -aました。そしてip link set ens1 alias eth0ショーalias eth0あなたが実行する別の行にip link
cas

回答:


5

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

ip link add link ens1 name eth0 type macvlan

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


1

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:xxNICのMACアドレスはどこですか。

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

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


2
インターフェイスの名前を完全に変更しないようにしたいと思います。また、それらが実装したエイリアスがどのように機能するかについても知りたいです。
マッドサイエンティスト

1
私はそのeth0@ens1フォームをこれまで見たことがなく、そのためにグーグルするとあなたの質問だけが表示されます。試しましたgrep -r eth0 /etcか?もし見つけたら私も気になるので投稿してください。
cas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.