質問:
VMのクローンまたはコピーが発生したときに変更される場合に備えて、ifcfg-eth0スクリプトのHWADDR行をブート時に自身を検証/更新する方法を見つけたいと思います。これを行う方法は?CentOS 6では、ifcfg-eth0スクリプトからHWADDR行を削除することで、はるかに動的になりましたが、ifcfg-eth0がHWADDR行なしでifcfg-eno1677776に戻らないようにする方法をまだ見つけていませんCentOS 7のサポートに感謝します。
背景:
VMware Workstationを介してCentOS 7.2.1511仮想マシンを実行しています。デフォルトでは、CentOS 7はネットワークスクリプトのeth命名規則を取り除き、現在ifcfg-eno1677776または類似の名前のネットワークスクリプトを使用するように構成されています。 heavlylyがeth命名スキームに依存するソフトウェアを持っています。だから私はifcfg-eno1677776スクリプトを次のように再構成しました:
/etc/sysconfig/network-scripts/ifcfg-eno1677776
_を_/etc/sysconfig/network-scripts/ifcfg-eth0
_に名前変更ifcfg-ethを変更して(_/sys/class/net/eno1677776/address
_からHWADDRを取得):
_BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no HWADDR=00:0c:29:d6:d2:65
_
_/etc/sysconfig/grub
_ファイルのGRUB_CMDLINE_LINUX行の最後にnet.ifnames =を追加しました。
再起動してifconfigを実行します(そしてお祝いします!):
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.176.15.148 netmask 255.255.252.0 broadcast 10.176.15.255 inet6 fe80::20c:29ff:fed6:d265 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:d6:d2:65 txqueuelen 1000 (Ethernet) RX packets 2141073 bytes 749959853 (715.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 65237 bytes 35352127 (33.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
起動するたびに、このeth0インターフェイスが残ります。ただし、これはVMはチームメンバー間で配布され、最終的に顧客に提供されます。ここで問題が発生します。VMwareは、VMは配布用ですが、これによりVMのMACアドレスが変更されます。
編集:
以下の推奨される@larsksを機能させるには、変更後に_grub2-mkconfig -o /boot/grub2/grub.cfg
_を実行する必要があります。私のために働いた!
最も簡単な解決策は、カーネルコマンドラインで次のオプションを設定して、「予測可能なデバイスの命名」動作を無効にすることです。
biosdevname=0 net.ifnames=0
これを配置すると、システムの最初のイーサネットインターフェースの名前はeth0
、2番目のインターフェースはeth1
などになります。これは here に記載されています。
これを配置したら、構成ファイルからHWADDR
行を削除するだけで、すべてが期待どおりに機能します。