ifcfg-eth0ネットワークスクリプトからCentOS 7起動時にHWADDRを強制的に自動修正します。

ifcfg-eth0ネットワークスクリプトからCentOS 7起動時にHWADDRを強制的に自動修正します。

質問:

VMのレプリケーションまたはレプリケーションが発生したときに変更される場合は、ifcfg-eth0スクリプトのHWADDR行が起動時に独自に検証/更新されるようにする方法を見つけたいと思います。これを行う方法はありますか? CentOS 6では、ifcfg-eth0スクリプトからHWADDR行を削除すると動的になりましたが、CentOS 7ではHWADDR行なしでifcfg-eth0がifcfg-eno1677776に戻るのを防ぐ方法が見つかりませんでした。事前に助けを求めてください!


背景:

VMware Workstationを介してCentOS 7.2.1511仮想マシンを実行しています。デフォルトでは、CentOS 7は以下を削除します。イーサネット0ネットワークスクリプトの命名規則は、名前付き名前を使用するように設定されました。ifcfg-eno1677776またはそのようなもの。できるソフトウェアがあります。重くにかかっているイーサネット0命名システム。だから私は私のものを再構築しました。ifcfg-eno1677776スクリプト作成者:

  1. /etc/sysconfig/network-scripts/ifcfg-eno1677776次に名前を変更する/etc/sysconfig/network-scripts/ifcfg-eth0
  2. 改訂するifcfg-eth0はい(からHWADDRをインポートする/sys/class/net/eno1677776/address):

    BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no HWADDR=00:0c:29:d6:d2:65

  3. 次へ追加ネットワーク.ifnames=0最後までGRUB_CMDLINE_LINUXファイルの行/etc/sysconfig/grub

  4. 再起動して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 インターフェイスは起動するたびに保持されます。ただし、仮想マシンはチームメンバーに配布され、最終的に顧客に配信されます。ここで問題が発生します。 VMwareの良いことは、展開のために仮想マシンのスナップショットを複製できることです。ただし、これにより仮想マシンのMACアドレスが変更されます。


編集する:

grub2-mkconfig -o /boot/grub2/grub.cfgこれを機能させるには、以下の@larsksが提案した変更を適用してから実行する必要があります。私のために働いてください!

答え1

最も簡単な解決策は、おそらくカーネルコマンドラインで次のオプションを設定して、「予測可能なデバイス命名」動作を無効にすることです。

biosdevname=0 net.ifnames=0

これが完了すると、システムの最初のイーサネットインターフェイス名はeth0、2番目のイーサネットインターフェイス名eth1はで指定されます。これは文書化されています。ここ

これを完了した後、HWADDR構成ファイルからその行を削除すると、すべてが期待どおりに機能します。

関連情報