This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_dns [2020/09/02 10:33] val [Ограничение доступа к DNS серверу] |
сервис_dns [2025/11/27 09:25] (current) val [Автоматическое обновление сертификатов LetsEncrypt для внутренних сайтов] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| * [[http://ru.wikipedia.org/wiki/DNS|Domain Name System — система доменных имён]] | * [[http://ru.wikipedia.org/wiki/DNS|Domain Name System — система доменных имён]] | ||
| * [[http://xgu.ru/wiki/Настройка_DNS-сервера_BIND|Настройка DNS-сервера BIND]] | * [[http://xgu.ru/wiki/Настройка_DNS-сервера_BIND|Настройка DNS-сервера BIND]] | ||
| + | |||
| * [[Финальная настройка DNS сервера]] | * [[Финальная настройка DNS сервера]] | ||
| + | * [[https://nip.io/|Dead simple wildcard DNS for any IP Address]] | ||
| ===== Утилиты тестирования DNS ===== | ===== Утилиты тестирования DNS ===== | ||
| Line 11: | Line 13: | ||
| ==== nslookup ==== | ==== nslookup ==== | ||
| <code> | <code> | ||
| + | $ nslookup | ||
| + | >ya.ru | ||
| + | |||
| $ nslookup mx.bmstu.ru | $ nslookup mx.bmstu.ru | ||
| Line 16: | Line 21: | ||
| $ nslookup -q=NS bmstu.ru | $ nslookup -q=NS bmstu.ru | ||
| + | |||
| + | val@noc:~$ nslookup -q=AXFR bmstu.ru 195.19.32.2 | ||
| $ nslookup -q=MX bmstu.ru 195.19.32.2 | $ nslookup -q=MX bmstu.ru 195.19.32.2 | ||
| - | $ nslookup -q=AXFR bmstu.ru 195.19.32.2 | + | $ nslookup -q=SRV _xmpp-client._tcp.bmstu.ru |
| + | |||
| + | $ nslookup -q=SRV _kerberos._udp.bmstu.ru | ||
| - | # nslookup -q=SRV _xmpp-client._tcp.valtest.bmstu.ru | + | $ nslookup -q=SRV _sip._udp.bmstu.ru |
| </code> | </code> | ||
| Line 126: | Line 135: | ||
| root@server:~# cat /etc/bind/named.conf.options | root@server:~# cat /etc/bind/named.conf.options | ||
| </code><code> | </code><code> | ||
| + | options { | ||
| ... | ... | ||
| forwarders { | forwarders { | ||
| Line 180: | Line 190: | ||
| ;www CNAME server | ;www CNAME server | ||
| ;user1 CNAME server | ;user1 CNAME server | ||
| - | ;smtp CNAME server | + | ;mail CNAME server |
| - | ;imap CNAME server | + | |
| - | ;pop3 CNAME server | + | |
| - | ;ntp CNAME gate | + | ;ntp CNAME gate |
| + | |||
| + | ;proxy A 172.16.1.X | ||
| + | |||
| + | ;$GENERATE 1-100 node$ A 192.168.X.$ | ||
| + | ;$GENERATE 1-9 node$ A 192.168.X.20$ | ||
| + | ;$GENERATE 10-54 node$ A 192.168.X.2$ | ||
| + | ;$GENERATE 1-9 kube$ A 192.168.X.22$ | ||
| ;_sip._udp SRV 0 0 5060 server | ;_sip._udp SRV 0 0 5060 server | ||
| + | |||
| ;_xmpp-client._tcp SRV 0 0 5222 server | ;_xmpp-client._tcp SRV 0 0 5222 server | ||
| ;_kerberos._udp SRV 01 00 88 server | ;_kerberos._udp SRV 01 00 88 server | ||
| ;_kerberos._tcp SRV 01 00 88 server | ;_kerberos._tcp SRV 01 00 88 server | ||
| - | ;_kpasswd._udp SRV 01 00 464 server | ||
| - | ;_kerberos-adm._tcp SRV 01 00 749 server | ||
| ;_kerberos TXT CORPX.UN | ;_kerberos TXT CORPX.UN | ||
| </code><code> | </code><code> | ||
| Line 210: | Line 224: | ||
| root@server:~# named-checkconf -z | root@server:~# named-checkconf -z | ||
| - | root@server:~# service bind9 restart | + | root@server:~# rndc reload |
| </code> | </code> | ||
| Line 364: | Line 378: | ||
| server A 192.168.X.10 | server A 192.168.X.10 | ||
| gate A 192.168.X.1 | gate A 192.168.X.1 | ||
| + | |||
| ... | ... | ||
| </code><code> | </code><code> | ||
| - | server# cat corpX.un.out | + | server# cat /etc/bind/corpX.un.out |
| </code><code> | </code><code> | ||
| $TTL 3h | $TTL 3h | ||
| Line 381: | Line 396: | ||
| server A 172.16.1.X | server A 172.16.1.X | ||
| gate A 172.16.1.X | gate A 172.16.1.X | ||
| - | ... | + | |
| + | mail CNAME server | ||
| + | ;... | ||
| </code> | </code> | ||
| Line 390: | Line 407: | ||
| === Debian/Ubuntu === | === Debian/Ubuntu === | ||
| <code> | <code> | ||
| - | root@server:~# cat /etc/bind/named.conf.local | + | root@server:~# less /etc/bind/named.conf.local |
| </code><code> | </code><code> | ||
| zone "corpX.un" { | zone "corpX.un" { | ||
| Line 473: | Line 490: | ||
| </code> | </code> | ||
| + | ==== Автоматическое обновление сертификатов LetsEncrypt для внутренних сайтов ==== | ||
| + | |||
| + | * [[Let's Encrypt для внутренних сайтов]] | ||
| + | |||
| + | === Черновик 1 === | ||
| + | <code> | ||
| + | ns.domain1.mgtu.ru:~# vim /etc/bind/domain1.mgtu.ru | ||
| + | ... | ||
| + | site4 A 195.19.40.59 | ||
| + | *.site4 A 195.19.40.59 | ||
| + | _acme-challenge.site4 NS ns | ||
| + | ... | ||
| + | |||
| + | |||
| + | ns.domain1.mgtu.ru:~# rndc-confgen -a -A hmac-sha512 -k "certbot.site4" -c /etc/bind/certbot.site4.key | ||
| + | ns.domain1.mgtu.ru:~# chmod 640 /etc/bind/certbot.site4.key | ||
| + | |||
| + | ns.domain1.mgtu.ru:~# cat /etc/bind/named.conf | ||
| + | ... | ||
| + | include "/etc/bind/certbot.site4.key"; | ||
| + | ... | ||
| + | |||
| + | ns.domain1.mgtu.ru:~# cat /etc/bind/named.conf.local | ||
| + | ... | ||
| + | zone "_acme-challenge.site4.domain1.mgtu.ru" { | ||
| + | type master; | ||
| + | file "/var/lib/bind/_acme-challenge.site4.domain1.mgtu.ru"; | ||
| + | update-policy { | ||
| + | grant certbot.site4 name _acme-challenge.site4.domain1.mgtu.ru. txt; | ||
| + | }; | ||
| + | }; | ||
| + | ... | ||
| + | |||
| + | ns.domain1.mgtu.ru:~# sudo -u bind vim /var/lib/bind/_acme-challenge.site4.domain1.mgtu.ru | ||
| + | |||
| + | $TTL 30 ; 30 seconds | ||
| + | _acme-challenge.site4.domain1.mgtu.ru. IN SOA ns.domain1.mgtu.ru. noc.bmstu.ru. ( | ||
| + | 9 ; serial | ||
| + | 86400 ; refresh (1 day) | ||
| + | 43200 ; retry (12 hours) | ||
| + | 604800 ; expire (1 week) | ||
| + | 30 ; minimum (30 seconds) | ||
| + | ) | ||
| + | NS ns.domain1.mgtu.ru. | ||
| + | |||
| + | |||
| + | ns.domain1.mgtu.ru:~# nsupdate -k /etc/bind/certbot.key | ||
| + | site4.domain1.mgtu.ru:~# apt install bind9-dnsutils | ||
| + | site4.domain1.mgtu.ru:~# nsupdate -k certbot.key | ||
| + | > server 127.0.0.1 | ||
| + | > server 195.19.40.42 | ||
| + | > zone _acme-challenge.site4.domain1.mgtu.ru | ||
| + | > update add _acme-challenge.site4.domain1.mgtu.ru. 30 IN TXT "your_txt_record_data 2" | ||
| + | > update del _acme-challenge.site4.domain1.mgtu.ru. 30 IN TXT "your_txt_record_data 2" | ||
| + | > send | ||
| + | |||
| + | site4.domain1.mgtu.ru:~# dig TXT _acme-challenge.site4.domain1.mgtu.ru | ||
| + | |||
| + | |||
| + | ns.domain1.mgtu.ru:~# ###rndc freeze _acme-challenge.site4.domain1.mgtu.ru. | ||
| + | ns.domain1.mgtu.ru:~# ###sudo -u bind vim /var/lib/bind/_acme-challenge.site4.domain1.mgtu.ru | ||
| + | ns.domain1.mgtu.ru:~# ###rndc thaw _acme-challenge.site4.domain1.mgtu.ru. | ||
| + | |||
| + | |||
| + | site4.domain1.mgtu.ru:~# apt install python3-certbot-dns-rfc2136 | ||
| + | |||
| + | site4.domain1.mgtu.ru:~# cat /etc/certbot-credentials.ini | ||
| + | dns_rfc2136_server = 195.19.40.42 | ||
| + | dns_rfc2136_port = 53 | ||
| + | dns_rfc2136_name = certbot.site4 | ||
| + | dns_rfc2136_secret = QV8VQ+B8wv+nj/fE7DoqUmFLZWeNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNzFE8TjiwfnxO5MNg== | ||
| + | dns_rfc2136_algorithm = HMAC-SHA512 | ||
| + | |||
| + | |||
| + | site4.domain1.mgtu.ru:~# chmod 640 /etc/certbot-credentials.ini | ||
| + | |||
| + | certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/certbot-credentials.ini -d 'site4.domain1.mgtu.ru' -d '*.site4.domain1.mgtu.ru' | ||
| + | </code> | ||
| + | === Черновик 2 === | ||
| + | <code> | ||
| + | rndc-confgen -a -A hmac-sha512 -k "certbot." -c /etc/bind/certbot.key | ||
| + | |||
| + | valtest:~# chmod 640 /etc/bind/certbot.key | ||
| + | |||
| + | more /etc/bind/certbot.key | ||
| + | |||
| + | valtest:~# cat /etc/bind/named.conf | ||
| + | ... | ||
| + | include "/etc/bind/certbot.key"; | ||
| + | |||
| + | sudo -u bind vim /var/lib/bind/_acme-challenge.valtest.bmstu.ru | ||
| + | |||
| + | valtest:~# cat /var/lib/bind/_acme-challenge.valtest.bmstu.ru | ||
| + | $TTL 300 ; 5 minutes | ||
| + | _acme-challenge.valtest.bmstu.ru. IN SOA valtest.bmstu.ru. val.bmstu.ru. ( | ||
| + | 2020050828 ; serial | ||
| + | 10800 ; refresh (3 hours) | ||
| + | 3600 ; retry (1 hour) | ||
| + | 86400 ; expire (1 week) | ||
| + | 86400 ; minimum (1 day) | ||
| + | ) | ||
| + | NS valtest.bmstu.ru. | ||
| + | NS ns.bmstu.ru. | ||
| + | $TTL 60 ; 1 minute | ||
| + | TXT "127.0.0.8" | ||
| + | |||
| + | |||
| + | valtest:~# cat /etc/bind/named.conf.local | ||
| + | ... | ||
| + | zone "_acme-challenge.valtest.bmstu.ru" { | ||
| + | type master; | ||
| + | file "/var/lib/bind/_acme-challenge.valtest.bmstu.ru"; | ||
| + | allow-transfer {195.19.32.2;}; | ||
| + | update-policy { | ||
| + | grant certbot. name _acme-challenge.valtest.bmstu.ru. txt; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | valtest:~# nsupdate -k /etc/bind/certbot.key | ||
| + | > server 127.0.0.1 | ||
| + | > zone _acme-challenge.valtest.bmstu.ru | ||
| + | > update add _acme-challenge.valtest.bmstu.ru. 300 IN TXT "your_txt_record_data 1" | ||
| + | > send | ||
| + | |||
| + | valtest:~# dig TXT _acme-challenge.valtest.bmstu.ru | ||
| + | |||
| + | root@ns:~# named-compilezone -f raw -F text -o - _acme-challenge.valtest.bmstu.ru /var/cache/bind/ru/_acme-challenge.valtest.bmstu | ||
| + | |||
| + | valtest:~# rndc sync _acme-challenge.valtest.bmstu.ru | ||
| + | |||
| + | |||
| + | valtest:~# rndc freeze _acme-challenge.valtest.bmstu.ru. | ||
| + | valtest:~# sudo -u bind vim /var/lib/bind/_acme-challenge.valtest.bmstu.ru | ||
| + | valtest:~# rndc thaw _acme-challenge.valtest.bmstu.ru. | ||
| + | |||
| + | |||
| + | valtest:~# ###cat /var/lib/bind/_acme-challenge.valtest.bmstu.ru | ||
| + | |||
| + | |||
| + | |||
| + | Nov 19 14:51:06 ns named[213146]: zone _acme-challenge.valtest.bmstu.ru/IN/common: refresh: unexpected rcode (SERVFAIL) from primary 195.19.40.42#53 (source 0.0.0.0#0) | ||
| + | |||
| + | |||
| + | |||
| + | apt-get install python3-certbot-dns-rfc2136 | ||
| + | |||
| + | valtest:~# cat /etc/bind/certbot-credentials.ini | ||
| + | # Target DNS server | ||
| + | dns_rfc2136_server = 127.0.0.1 | ||
| + | # Target DNS port | ||
| + | dns_rfc2136_port = 53 | ||
| + | # TSIG key name | ||
| + | dns_rfc2136_name = certbot. | ||
| + | # TSIG key secret | ||
| + | dns_rfc2136_secret = Pba+bPbB8/fxhEl70BTgIz3ljrEPlq/msjkiaI7+X8gkQI7WwM6B4GQVifvkUIjd6TQFqc+x0rddefn1s8VgIA== | ||
| + | # TSIG key algorithm | ||
| + | dns_rfc2136_algorithm = HMAC-SHA512 | ||
| + | |||
| + | |||
| + | chmod 640 /etc/bind/certbot-credentials.ini | ||
| + | |||
| + | certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/bind/certbot-credentials.ini -d 'valtest.bmstu.ru' -d '*.valtest.bmstu.ru' --dry-run | ||
| + | </code> | ||
| ==== Ограничение доступа к DNS серверу ==== | ==== Ограничение доступа к DNS серверу ==== | ||
| Line 493: | Line 673: | ||
| }; | }; | ||
| </code><code> | </code><code> | ||
| - | gate.isp.un$ nslookup -q=AXFR corp13.un 192.168.13.10 | + | gate.isp.un$ nslookup -q=AXFR corpX.un 192.168.X.10 |
| </code> | </code> | ||