Я использую LXD (контейнер Linux) для размещения Apache, MySQL, Perl и PHP-приложения. Я хотел бы назначить или отобразить фиксированный IP-адрес в мой контейнер MySQL. Как разрешить dnsmasq DHCP-серверу назначать статический IP-адрес контейнеру LXD на основе имени или MAC-адреса?
Вы можете установить для каждого узла / контейнера параметры для DHCP-сервера. На машине LXD (VM) всегда можно указывать одно и то же имя хоста, IP-адрес и время ожидания. Например, вы можете сказать dnsmasq всегда задавать VM msyqldb1 IP-адрес 192.168.1.100.
Как всегда назначать LXD виртуальной машине/машине с именем db адрес 10.147.164.3?
Ваш DHCP-сервер dnsmasq может читать файл, содержащий информацию об одном хосте в строке. По умолчанию используется имя файла /var/lib/lxd/networks/lxdbr0/dnsmasq.hosts . Формат строки выглядит следующим образом:
{ipaddr},{hostname}
ИЛИ
{macadd},{ipaddr},{hostname}
Преимущество хранения информации хоста DHCP в этом файле заключается в том, что его можно изменить без перезапуска сервера dnsmasq, когда файл будет перечитан, когда dnsmasq получит SIGHUP. Отредактируйте файл
/var/lib/lxd/networks/lxdbr0/dnsmasq.hosts для этого введите:
$ sudo vi /var/lib/lxd/networks/lxdbr0/dnsmasq.hosts
Примеры возможных выводов данных:
# always set IP to 10.147.164.2 for apache1 vm 10.147.164.2,apache1 # always set IP to 10.147.164.3 for db1 vm having mac addr 00:16:ee:62:ff:90 00:16:ee:62:ff:90,10.147.164.3,db1
Сохраните и закройте файл. Отправьте SIGHUP в dnsmasq, используя команду killall следующим образом:
$ sudo killall -SIGHUP dnsmasq
Теперь вы можете запустить lxd vm или перезапустить уже запущенный lxd vm:
$ lxc restart db1 $ lxc start db1
Проверьте новый IP адрес:
$ lxc list $ lxc info db1
Примеры возможных выводов данных:
Перевод: Анна Давыдова
Источник: cyberciti.biz
Это интересно: