Я использую CentOS 6 в виртуальной среде. При клонировании виртуальной версии CentOS старые адаптеры eth «удаляются» и заменяются новыми и сетевыми MAC-адресами. Однако файлы ifcfg-ethn все еще существуют. Я пытаюсь выяснить, как заставить CentOS автоматически сканировать и заново создавать файлы сетевых адаптеров / eth, как это делалось при установке.
В противном случае мне остается утомительный процесс, как описано здесь: http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-s390info-addnetdevice.html
Я знаю, что есть быстрый способ сделать это в графическом интерфейсе, но мы используем сервер, поэтому в этом случае графический интерфейс не применяется. Помогите?
Редактировать: @OldWolf предложил Kudzu, однако Kudzu был удален с Centos 5, поэтому я бы предпочел этого избежать. Существует процедура, которую Linux запускает при первоначальной установке. Может ли кто-нибудь помочь мне понять, что это такое, чтобы я мог запустить его вручную?
источник
/etc/udev/rules.d
и удалите70-persistent-net.rules
файл и НЕ перезагружайтесь. Зайдите/etc/sysconfig/network-scripts/ifcfg-eth0
и вручную обновите MAC своей новой сетевой карты. Перезагрузка и сеть должна ожить.start_udev
затемservice network restart
работал для меня.Вы также можете использовать этот инструмент (это не инструмент с графическим интерфейсом, его инструмент TUI, текстовый интерфейс пользователя)
Введите вышеуказанную команду и нажмите Enter
Тогда этот экран появится
Выберите конфигурацию устройства и нажмите Enter
Тогда этот экран появится
Здесь eth0 относится
/etc/sysconfig/network-scripts/ifcfg-eth0
Какое бы редактирование в
eth0
этом не сказалось наifcfg-eth0
файлеисточник
system-config-network
также, кажется, открыть этот интерфейс.yum install system-config-network-tui
yum whatprovides */system-config-network-tui
Удалите файл постоянных правил:
Отредактируйте ifcfg-eth0:
УДАЛИТЕ
HWADDR
линию в целом (или измените ее в соответствии с MAC-адресом вашего нового сетевого адаптера).Перезагрузите вашу систему:
Если вы снова измените NIC, просто повторите шаги № 1 и № 3.
источник
Изменение файлов после клонирования не будет работать для моего варианта использования, поэтому я решил проблему следующим образом.
Вам нужно отредактировать два файла, удалив ссылки на адреса Mac в каждом:
/etc/sysconfig/network-scripts/ifcfg-eth0
- удалите строку HWADDR =./etc/udev/rules.d/70-persistent-net.rules
- удалить из ATTR {адрес} == до следующей запятой.Теперь, когда вы клонируете виртуальную машину и измените MAC-адрес, сеть будет работать, так как MAC-адрес никогда не будет записан ни в один файл.
источник
Я создаю и удаляю столько виртуальных машин CentOS 6, что написал Bashfu для исправления eth0 при клонировании в VirtualBox.
источник
Если ваша единственная проблема - это MAC-адрес, вы можете запустить что-то похожее на
Чтобы обновить запись HWADDR.
Изменить: так как похоже, что проблема заключается в реальном изменении виртуального оборудования, вы можете попробовать следующее. (не проверено и упоминается здесь )
отредактируйте / etc / sysconfig / hwconf и удалите все ссылки на предыдущий NIC и повторно запустите kudzu, чтобы увидеть, обнаруживает ли оно новое оборудование. Вам может потребоваться перезагрузка.
источник
Я не использую Vmware, но KVM с virsh - это то, что я сделал.
Создал «базовое» изображение с CentOS 6.4, это источник всех моих клонов. После первой загрузки я создал такой скрипт
Добавил его в init с
Удалил все ссылки в / etc / sysconfig / network-scripts / ifcfg-eth0 HWADDR или UUID, а также удалил правила udev из /etc/udev/rules.d/70-persistent-net.rules.
В этот момент я выключил машину и начал клонировать. Все работает отлично. Сценарий, который я сделал, очень прост, но работает нормально, однако он делает несколько предположений относительно вашей настройки сети (только для eth0).
Надеюсь поможет.
источник
Я имел дело с несколькими сетевыми картами, и ничто из вышеперечисленного не работало для меня (VMware Fusion 7 / VMware 6 и ниже), поэтому я написал сценарий. Тарбол здесь .
Вот то,
README
что идет с этим:Все, что вам нужно сделать на машине, вы будете клонировать только один раз:
lshw
/etc/sysconfig/network-scripts/ifcfg-eth?
на MACDADDY num, где num - номер сетевого интерфейса. Вы должны следовать шаблону именования для файла.бегать:
Это должно добавить ссылки sym на правильных уровнях выполнения, указанных в файле
ifcfg-eth?
файлов,Проблемы:
Не знаю почему, но иногда вам нужно перезапустить сеть во второй раз, чтобы все сетевые карты были распознаны:
Исправлено это, поставив
sleep 20
в начале/etc/init.d/network
lshw
возврат сетевых карт в том же порядке, что иifcfg-eth?
ifcfg-eth?
файлов, чтобы они соответствовали томуlshw
, что возвращается в маловероятном случае, если это не сработает, и вы работаете на большом количестве машин с большим количеством сетевых карт./usr/bin/change_mac_address.pl
перемещается/usr/bin/change_mac_address.pl.old
ifcfg-eth?
Вы также можете и, вероятно, должны бежать
источник