DDNS: различия между версиями
(Import from freesource.info) |
Дым (обсуждение | вклад) Нет описания правки |
||
(не показано 6 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{MovedFromFreesourceInfo|AltLinux/Dokumentacija/DDNS}} | {{MovedFromFreesourceInfo|AltLinux/Dokumentacija/DDNS}} | ||
{{stub}} | |||
{{викифицировать}} | |||
== DHCP DNS по шагам == | == DHCP DNS по шагам == | ||
Конечно, man dhcpd.conf всё покажет.. Но так быстрее ;-)) | Конечно, man dhcpd.conf всё покажет.. Но так быстрее ;-)) | ||
=== Сгенерировать ключ === | |||
<pre> | |||
[root@server ddns]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER | [root@server ddns]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER | ||
Kdhcp_updater. 157 46827 | Kdhcp_updater.+157+46827 | ||
[root@server ddns]# | |||
</pre> | |||
Посмотрим что он нам нагенерил: | Посмотрим что он нам нагенерил: | ||
<pre>[root@server ddns]# cat Kdhcp_updater. 157 46827.key | <pre>[root@server ddns]# cat Kdhcp_updater. 157 46827.key | ||
DHCP_UPDATER. IN KEY 0 2 157 EgxIOyQglf4KAUF7lgu9yA==</pre> | DHCP_UPDATER. IN KEY 0 2 157 EgxIOyQglf4KAUF7lgu9yA== | ||
[root@server ddns]#</pre> | |||
=== Прописать в dhcpd.conf === | |||
<pre>ddns-update-style interim; | <pre> | ||
ddns-update-style interim; | |||
authoritative; | authoritative; | ||
option netbios-scope ""; | option netbios-scope ""; | ||
key DHCP_UPDATER { | key DHCP_UPDATER { | ||
algorithm HMAC-MD5.SIG-ALG.REG.INT; | |||
secret EgxIOyQglf4KAUF7lgu9yA==; | secret EgxIOyQglf4KAUF7lgu9yA==; | ||
}; | }; | ||
Строка 56: | Строка 61: | ||
};</pre> | };</pre> | ||
Сделаем | Сделаем «рыбу» для прямой и реверсной зоны: | ||
<pre>$ORIGIN . | <pre>$ORIGIN . | ||
$TTL 86400 ; 1 day | $TTL 86400 ; 1 day | ||
Строка 94: | Строка 99: | ||
Должны появиться файлики .jnl. | Должны появиться файлики .jnl. | ||
==== Подводные камни ==== | ==== Подводные камни ==== | ||
** При chroot-е обращать внимание на наличие нужных файлов в chroot-ed структуре | ** При chroot-е обращать внимание на наличие нужных файлов в chroot-ed структуре | ||
** Обращать внимание на владельца файлов зон | ** Обращать внимание на владельца файлов зон | ||
** Обращать внимание на точки в описании зон | ** Обращать внимание на точки в описании зон | ||
** named- | ** named-checkzone — её не зря придумали! ;-) | ||
=== Ещё один вариант === | === Ещё один вариант === | ||
Строка 176: | Строка 182: | ||
заносятся имена, которые сообщает клиент.</pre> | заносятся имена, которые сообщает клиент.</pre> | ||
''[http://lists.altlinux.org/pipermail/sysadmins/2007-November/012267.html dlebkov@ в sysadmins@]'' | ''[http://lists.altlinux.org/pipermail/sysadmins/2007-November/012267.html dlebkov@ в sysadmins@]'' | ||
=== Обновление dns записей для статично прописанных хостов === | |||
Для включения обновления dns записей для статично прописанных хостов dhcpd.conf нужно добавить: | |||
<pre>update-static-leases on;</pre> | |||
<pre>Для любителей веревки и мыла :) | <pre>Для любителей веревки и мыла :) | ||
Строка 181: | Строка 195: | ||
http://www.lissyara.su/?id=1487</pre> | http://www.lissyara.su/?id=1487</pre> | ||
''[http://lists.altlinux.org/pipermail/sysadmins/2007-November/012276.html Anatol B. Bazyukin в sysadmins@]'' | ''[http://lists.altlinux.org/pipermail/sysadmins/2007-November/012276.html Anatol B. Bazyukin в sysadmins@]'' | ||
[[Категория:Admin]] | |||
[[Категория:DNS]] | |||
[[Категория:DHCP]] | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 11:20, 9 сентября 2021
DHCP DNS по шагам
Конечно, man dhcpd.conf всё покажет.. Но так быстрее ;-))
Сгенерировать ключ
[root@server ddns]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER Kdhcp_updater.+157+46827 [root@server ddns]#
Посмотрим что он нам нагенерил:
[root@server ddns]# cat Kdhcp_updater. 157 46827.key DHCP_UPDATER. IN KEY 0 2 157 EgxIOyQglf4KAUF7lgu9yA== [root@server ddns]#
Прописать в dhcpd.conf
ddns-update-style interim; authoritative; option netbios-scope ""; key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret EgxIOyQglf4KAUF7lgu9yA==; }; zone local.zone. { primary 127.0.0.1; key DHCP_UPDATER; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; }
Задать время аренды побольше:
default-lease-time 604800; max-lease-time 1814400;
/etc/named.conf
key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret EgxIOyQglf4KAUF7lgu9yA==; }; zone "local.zone" IN { type master; file "local.zone.db"; allow-update { key DHCP_UPDATER; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0.db"; allow-update { key DHCP_UPDATER; }; };
Сделаем «рыбу» для прямой и реверсной зоны:
$ORIGIN . $TTL 86400 ; 1 day local.zone IN SOA ns.local.zone. postmaster.domain.org. ( 200216887 ; serial 28800 ; refresh (8 hours) 7200 ; retry (2 hours) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns. $ORIGIN local.zone. ns A 192.168.0.202 $ORIGIN . $TTL 86400 ; 1 day 0.168.192.in-addr.arpa IN SOA ns.local.zone. postmaster.domain.org. ( 2001105141 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS ns.
И попробуем динамическое обновление через nsupdate
; nsupdate -d [this file] key DHCP_UPDATER EgxIOyQglf4KAUF7lgu9yA== zone local.zone update add virtual 86400 A 192.168.0.105 send zone 0.168.192.in-addr.arpa update add 254 86400 PTR server.local.zone. send
Должны появиться файлики .jnl.
Подводные камни
- При chroot-е обращать внимание на наличие нужных файлов в chroot-ed структуре
- Обращать внимание на владельца файлов зон
- Обращать внимание на точки в описании зон
- named-checkzone — её не зря придумали! ;-)
Ещё один вариант
>>Триплеты в живут одном месте - в конфиге dhcp-сервера. >>Прямые/обратные зоны обновляает опять же dhcp. >> Всё работает в таком виде уже достаточно давно. %) > Ну опиши, а то у меня в последний раз от ddns осталось очень > неприятное послевкусие. Возможно, вызванное dhcpd, пропатченным > ходить в openldap, что приводило к феерическим эффектам... А чего тут описывать? %) Ниже выжимка из работающего конфига: --- dhcpd.conf --- ddns-update-style interim; deny client-updates; update-static-leases true; authoritative; shared-network VLAN0002 { deny bootp; deny duplicates; subnet 192.168.2.0 netmask 255.255.255.0 { option domain-name "lan"; option domain-name-servers 192.168.254.254, 192.168.253.254; option routers 192.168.2.254; option broadcast-address 192.168.2.255; default-lease-time 36000; max-lease-time 72000; # dynamic updates ddns-updates on; ddns-domainname "dpt.lan"; ddns-rev-domainname "in-addr.arpa"; deny client-updates; key ns1.lan { algorithm hmac-md5; secret "<GENERATED-SECRET-KEY>"; }; zone dpt.lan. { primary 192.168.254.254; key ns1.lan; } zone 2.168.192.in-addr.arpa. { primary 192.168.254.254; key ns1.lan; } host dpt-002-001 { fixed-address 192.168.2.1; hardware ethernet 00:60:B0:70:2D:8A; ddns-hostname "dpt-host1"; } pool { range 192.168.2.100 192.168.2.200; allow unknown clients; allow known clients; } } } --- dhcpd.conf --- В конфиге bind9 описаны зоны: zone "dpt.lan" { type master; file "dpt.lan"; allow-query { LAN; }; allow-transfer { SLAVES_INT; }; allow-update { key ns1.lan; }; }; zone "2.168.192.in-addr.arpa" { type master; file "192.168/002"; allow-query { LAN; }; allow-transfer { SLAVES_INT; }; allow-update { key ns1.lan; }; }; ну и присутствует тот же key ns1.lan. И всё. Для хостов, прописанных в dhcpd.conf, в зоны dpt.lan и 2.168.192.in-addr.arpa dhcpd посылает bind'у апдэйты, содержащие ddns-hostname. Для win-хостов, получивших адреса из пула, в зоны заносятся имена, которые сообщает клиент.
Обновление dns записей для статично прописанных хостов
Для включения обновления dns записей для статично прописанных хостов dhcpd.conf нужно добавить:
update-static-leases on;
Для любителей веревки и мыла :) samba_pdc + ddns + dhcp - с хранением всех данных в LDAP http://www.lissyara.su/?id=1487