User Tools

Site Tools


сервис_dns

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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>​
  
сервис_dns.1599032021.txt.gz · Last modified: 2020/09/02 10:33 by val