У меня работает большинство динамических DNS. Я могу вручную обновить записи DNS, используя nsupdate
и мой файл dhcpd.conf попытается установить записи DNS.
Однако это не удается, поскольку у меня нет привязки, работающей на стандартном порту, у меня есть несвязанная работа на порту 53, поэтому я получаю сообщение об ошибке.
dhcpd: Unable to add forward map from XXX to 192.168.0.19: NOTIMP
что и ожидается.
Я бы хотел, чтобы dhcpd мог разговаривать с моим сервером привязки через нестандартный порт.
я пытался
zone myzone. {
primary 192.168.0.125:5252;
}
и
zone myzone. {
primary 192.168.0.125 5252;
}
и
zone myzone. {
primary 192.168.0.125;
port 5252;
}
Кажется, ничего из этого не работает.
есть ли способ указать порт для DNS-сервера?
Я обновляюсь на том же компьютере, поэтому я не использую файлы зон, но я знаю, что обновления могут работать, если на правильном порту, из-за тестирования с помощью nsupdate.
Вы не детализируете свою ОС, поэтому я предполагаю Linux.
dhcpd, похоже, не имеет опции или параметра для настройки порта сервера ddns, по крайней мере, его нет на какой-либо странице руководства, которую я видел.
Таким образом, можно использовать iptables (или любой другой брандмауэр) для перезаписи исходящих пакетов на ваш dns-сервер udp / 53 или tcp / 53 на порт, который он действительно прослушивает.
Ответ о том, как это сделать, представлен в этом вопросе на Stackoverflow: https://stackoverflow.com/questions/242772/using-iptables-to-change-a-destination-port
Возможно, вы могли бы еще больше уточнить его, переписав только исходящие пакеты из процессов, принадлежащих конкретному пользователю, запускающему ваш процесс dhcpd. Очевидно, это возможно с помощью директивы iptables --uid-owner.