This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_dns [2025/11/18 06:56] val [Настройка сервера перенаправляющего запросы на DNS cервер провайдера] |
сервис_dns [2025/11/27 09:25] (current) val [Автоматическое обновление сертификатов LetsEncrypt для внутренних сайтов] |
||
|---|---|---|---|
| Line 490: | 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 серверу ==== | ||