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