Я использую dnsmasq для обслуживания IP-адресов примерно для 200 vservers. Срок аренды бесконечен: dhcp-range = 10.0.1.2,10.0.1.254, бесконечен
Не знаю почему, но 1 vserver сменил IP. Допустим, изменился MAC-адрес.
Я хотел, чтобы vserver вернул свой старый IP, поэтому я закрыл интерфейс и отредактировал /var/lib/misc/dnsmasq.leases (изменил новый / старый IP)
После перезагрузки у vserver снова был неправильный новый IP. Так что я думаю, что /var/lib/misc/dnsmasq.leases - это просто файл журнала ?!
Я исправил проблему с изменением IP vserver на консоли - после перезагрузки vserver имел старый IP.
Но я хочу понять - как dnsmasq сохраняет информацию «я хочу дать этот IP-адрес этому MAC» и как я могу это изменить ?!
Я забыл остановить службу dnsmasq перед редактированием dnsmasq.leases.
Из https://wiki.gentoo.org/wiki/Dnsmasq
Клиенты, у которых было обновление сетевого интерфейса, которое привело к другому MAC-адресу, могут не сразу получить предполагаемый IP-адрес. Это связано с тем, что служба dnsmasq предоставила этот IP-адрес старому MAC-адресу и будет ждать, пока срок аренды этого адреса истечет, прежде чем переназначить его.
Служба dnsmasq хранит свои аренды в /var/lib/misc/dnsmasq.leases. Если аренду необходимо удалить быстрее, выключите службу dnsmasq, удалите аренду из файла dnsmasq.leases и снова запустите службу.
В dnsmasq.leases
файл похож на базу данных для dnsmasq
чтобы узнать, какой адрес назначен, а также некоторую другую информацию.
По сайтам Вот и Вот вы можете назначить статический IP-адрес хосту следующим образом:
--dhcp-host = имя сервера, 192.168.0.199
--dhcp-host = 00: 20: e0: 3b: 13: af, имя сервера, бесконечность
--dhcp-host = aa: bb: cc: dd: ee: ff, 192.168.0.199
Примечание: если вы используете первый вариант, вы должны убедиться, что имя хоста клиентской машины совпадает с записью --dhcp-host=servername
в твоем dnsmasq.conf
файл.
Надеюсь, это поможет.