Клонування віртуальних машин створює новий мережевий інтерфейс щоразу на VOS VentOS / RedHat. Мені потрібно перейменувати ifcfg-eth * на те саме ім'я, що і живий інтерфейс у VM.
Що я хотів би зробити, це використовувати скрипт для порівняння MAC-адреси живого NIC (взяти його з результату 'ifconfig') tp MAC-адреси у всіх існуючих файлах ifcfg- * та перейменувати відповідний на ifcfg-liveNICname.
Приклад:
# ifconfig
eth2 Link encap:Ethernet HWaddr 00:50:56:8F:5B:D5
є 3 файли конфігурації в / etc / sysconfig / network-script / /:
ifcfg-eth0
ifcfg-Auto_eth0
ifcfg-eth1
скрипт порівнює MAC-адресу 00:50:56:8F:5B:D5
з MAC-адресами у всіх 3-х файлах і перейменовує правильну (з відповідною MAC-адресою) на:
ifcfg-eth2
Переважно, він також може змінити рядок NAME у файлі ifcfg:
NAME=eth2
але не потрібно.
Мені потрібно це "виправлення", щоб я міг запустити скрипт на купі віртуальних машин, щоб змінити записи DNS за один раз. У мене є сценарій для цього, але коли він працює на тестовій VM, він створює новий файл ifcfg-eth2 із лише записами DNS в ньому, тоді як активний інтерфейс має інше ім'я у файлі, наприклад, ifcfg-eth0
Оскільки я не добрий у написанні сценаріїв, я почав з цього:
nic=$(/sbin/route -n | grep "^0.0.0.0" | rev | cut -d' ' -f1 | rev)
ifconfig -a | grep $nic`
і це все, що я отримав :(
Хто-небудь може допомогти, будь ласка?