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