Заметил любопытную особенность в работе DHCP с которой раньше не был знаком. Когда клонировал виртуальные машины, заметил, что они получают одни и те же IP адреса, хотя я менял у сетевых интерфейсов MAC адреса. Я всегда был уверен, что выдача IP зависит от мака. Оказывается, что не только.
В качестве DHCP сервера выступал Mikrotik. Несмотря на изменение маков, он выдавал один и тот же IP адрес разным виртуалкам. Я выяснил, что выдача у него привязана к Client ID. Пока не изменить его, адрес не изменится.
В Linux этот ID указан в файле /etc/machine-id. Для того, чтобы его изменить, надо его удалить и сгенерировать заново:
# rm -f /etc/machine-id# dbus-uuidgen --ensure=/etc/machine-id
Таким образом, после клонирования виртуальной машины нужно:
1️⃣ Изменить MAC адрес сетевого интерфейса.
2️⃣ Изменить hostname:
# hostnamectl set-hostname server-clone
3️⃣ Отредактировать файл /etc/hosts, изменив там имя сервреа.
4️⃣ Сгенерировать новый machine-id.
Вроде всё. Может ещё что-то забыл? Мне не так часто приходится этим заниматься. Даже если и приходится делать клон вируталки, то обычно для тестов и запускается всё это в изолированной сети. А так, чтобы делать клон и запускать его тут же, я не практикую.
#dhcp