scieee Open visual document viewer

Praktikum komunikačních sítí I : návody na praktická cvičení

Nevlud, Pavel

Full text

DNS Sys ém doméno ých jmen Pa el Ne lud Os a a DNS Domain Name Sys em DNS Domain Name Sys em je hie a chický dece alizo aný sys ém doméno ých jmen. Jeho hla ním úkolem je zajis i překlad doméno ého jména na IP ad esu. Dnes slouží jako dis ibuo aná da abáze síťo ých in o mací. V našem dokumen u se budeme zabý a zejména podpo ou IP 6 ad es. P o okol s anda dně yuží á po y UDP/53, nebo TCP/53. Se e y DNS jsou o ganizo ány hie a chicky, s ejně jsou aké ořeny náz y domén. Jména domén umožňují snadnější o ien aci lidem. IP 4 ad esy jsou yjádřeny pomocí A záznamu, a IP 6 ad esy jsou yjádřeny pomocí AAAA záznamu. Se e y aké zajišťují zpě ný překlad IP ad es na doméno á jména pomocí PTR záznamu. P os o doméno ých jmen oří s om s jedním kořenem. Kořeno á doména je ořena ečkou, a pod ní se nacházejí domény nej yššího řádu TLD Top Le el Domain. Ty o TLD mohou bý éma ické, např. com, o g, nebo podle území, např. cz, sk. Ty o in o mace jsou uloženy na kořeno ých DNS se e ech. DNS s om je adminis a i ně ozdělen do zón, k e é sp a ují jedno li í sp á ci domén. Např. p o doménu .cz je sp á cem nic.cz. Ty o in o mace jsou posky o ány au o i a i ním DNS se e em. Posky o a elé in e ne u ISP ě šinou p o ozují eku zi ní DNS se e y, kde jsou záznamy dočasné. Ty o eku zi ní se e y pomocí eku zi ních do azů získa ají in o mace u au o i a i ních se e ů, kde jsou ale uloženy příslušné in o mace. Klien ská zařízení se ě šinou ob acejí s do azy na eku zi ní se e y. Je aké možné yuží a zabezpečený přenos DNS in o mací, např. pomocí DNS o e TLS, DNS o e DTLS, nebo DNS o e HTTPS. Nejno ější možnos í je yuži í DNS o e QUIC, k e ý umožňuje ychlejší a bezpečnější ýměnu in o mací mezi DNS klien em a DNS se e em. Příslušné RFC9250 je z oku 2022. Re e ence: [wikiDns] Domain Name Sys em. Online. Dos upné z: h ps://en.wikipedia.o g/wiki/Domain_Name_Sys em. [ci . 2023-12-10]. [RFC1034] DOMAIN NAMES - CONCEPTS AND FACILITIES. Online. Dos upné z: h ps://da a acke .ie .o g/doc/h ml/ c1034. [ci . 2023-12-10]. [RFC1035] DOMAIN NAMES – IMPLEMENTATION AND SPECIFICATION. Online. Dos upné z: h ps://da a acke .ie .o g/doc/h ml/ c1035. [ci . 2023-12-10]. [RFC9250] DNS o e Dedica ed QUIC Connec ion. Online. Dos upné z: h ps://da a acke .ie .o g/doc/h ml/ c9250. [ci . 2023-12-10]. 1. Lokální DNS pomocí soubo u /e c/hos s Nejdří e je po řeba zajis i , aby se p io i ně použí al soubo /e c/hos s p o překlad doméno ého jména na IP ad esy. To lze zajis i pomocí soubo u /e c/nsswi ch.con . 1 sudo nano /e c/nsswi ch hos s: iles mdns4_minimal [NOTFOUND= e u n] dns sudo nano /e c/hos s # The ollowing lines a e desi able o IP 6 capable hos s ::1 ip6-localhos ip6-loopback e00::0 ip6-localne 00::0 ip6-mcas p e ix 02::1 ip6-allnodes 02::2 ip6-all ou e s 2001:db8::1 ou e A ou e A. es 2001:db8::2 dns-se e dns-se e . es ping dns-se e PING dns-se e (2001:db8::2) 56(84) by es o da a. 64 by es om dns-se e . es (2001:db8::1): icmp_seq=1 l=118 ime=7.2 ms 2. DNS Resol e Resol e je zodpo ědný u klien a za zp os ředko ání komunikace mezi aplikacemi a DNS do azy. Komunikuje s DNS se e em, odesílá mu požada ky od aplikací a příjímá odpo ědi od DNS se e u. Ty o odpo ědi si jednak ukládá do las ni pamě i a jednak přeposílá zpě aplikacím. Resol e aké může zná ad esy kořeno ých DNS se e ů, na k e é se nejdří e ob ací s do azem. Kon igu ace esol e u je např. soubo u /e c/sys emd/ esol ed.con , kde lze nas a i DNS se e . sudo nano /e c/sys emd/ esol ed.con [Resol e] DNS=2001:db8::53 3. Odlehčený DNS dnsmasq Dnsmasq je malý a snadno kon igu a elný DNS se e , k e ý posky uje služby DHCP a Rou e Ad e isemen . Dnsmasq s anda dně naslouchá na po u 5353. Nejdří e nas a íme DNS záznamy do soubo u /e c/hos s. sudo nano /e c/hos s 2 2001:db8::1 dns-se e dns-se e . es 2001:db8::2 pc pc. es Následně nains alujeme a nakon igu ujeme balíček dnsmasq. Dále službu dnsmasq ese ujeme a nacháme si ypsa s a us služby dnsmasq. Nakonec pomocí nás oje hos o es ujeme, jes li služba zajišťuje překlad doméno ého jména na IP 6 ad esu. sudo ap ins all dnsmasq dpkg -L dnsmasq-base sudo nano /e c/dnsmasq.con po =5353 in e ace=enx00e04c680130 lis en-add ess=:: domain= es sudo se ice dnsmasq es a sudo se ice dnsmasq s a us dnsmasq.se ice - dnsmasq - A ligh weigh DHCP and caching DNS se e Loaded: loaded (/lib/sys emd/sys em/dnsmasq.se ice; enabled; endo p ese : enabled) Ac i e: ac i e ( unning) since Thu 2023-10-26 08:55:55 CEST; 4s ago P ocess: 3009 ExecS a P e=/e c/ini .d/dnsmasq checkcon ig (code=exi ed, s a us=0/SUCCESS) P ocess: 3017 ExecS a =/e c/ini .d/dnsmasq sys emd-exec (code=exi ed, s a us=0/SUCCESS) P ocess: 3026 ExecS a Pos =/e c/ini .d/dnsmasq sys emd-s a - esol con (code=exi ed, s a us=0/SUCCESS) Main PID: 3025 (dnsmasq) Tasks: 1 (limi : 17748) Memo y: 584.0K CPU: 66ms CG oup: /sys em.slice/dnsmasq.se ice 3025 /us /sbin/dnsmasq -x / un/dnsmasq/dnsmasq.pid -u dnsmasq -7└─ /e c/dnsmasq.d,.dpkg-dis ,.dpkg-old,.dpkg-new --local-se ice -- us - ancho =.,20326,8,2,e06d44b80b8 1d39a95c0b0d7c65d> říj 26 08:55:55 pc14 sys emd[1]: S a ing dnsmasq - A ligh weigh DHCP and caching DNS se e ... říj 26 08:55:55 pc14 dnsmasq[3025]: s a ed, e sion 2.86 cachesize 150 3 říj 26 08:55:55 pc14 dnsmasq[3025]: compile ime op ions: IP 6 GNU-ge op DBus no-UBus i18n IDN2 DHCP DHCP 6 no-Lua TFTP conn ack ipse au h c yp ohash DNSSEC loop-de ec ino i y dump ile říj 26 08:55:55 pc14 dnsmasq[3025]: eading /e c/ esol .con říj 26 08:55:55 pc14 dnsmasq[3025]: using namese e 127.0.0.53#53 říj 26 08:55:55 pc14 dnsmasq[3025]: ead /e c/hos s - 9 add esses říj 26 08:55:55 pc14 sys emd[1]: S a ed dnsmasq - A ligh weigh DHCP and caching DNS se e . sudo ss - unlp |g ep dnsmasq udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* use s:(("dnsmasq",pid=3495, d=4)) udp UNCONN 0 0 [::]:5353 [::]:* use s:(("dnsmasq",pid=3495, d=6)) cp LISTEN 0 32 0.0.0.0:5353 0.0.0.0:* use s:(("dnsmasq",pid=3495, d=5)) cp LISTEN 0 32 [::]:5353 [::]:* use s:(("dnsmasq",pid=3495, d=7)) hos -p 5353 dns-se e . es dns-se e . es has IP 6 add ess 2001:db8::1 Re e ence: [wikiDnsmasq] Dnsmasq. Online. Dos upné z: h ps://en.wikipedia.o g/wiki/Dnsmasq. [ci . 2023-12-7]. [dnsmasq] Dnsmasq. Online. Dos upné z: h ps:// hekelleys.o g.uk/dnsmasq/doc.h ml. [ci . 2023-12-7]. 4. Kořeno é se e y Roo DNS Kořeno é, z . oo DNS se e y jsou základní součás í celého DNS sys ému. U nich začíná řešení šech do azů, k e é následně pok ačuje na jedno li ých au o i a i ních se e ech. Použí ají se ýbě o é anycas ad esy, kdy je s ejná ad esa přidělena několika DNS se e ům a smě o ání se pos a á o do učení požada ku na nejbližší Roo se e . Balíček dns- oo -da a, posky uje in o mace o DNS oo se e ech. Seznam oo se e u je uložen soubo u /us /sha e/dns/ oo .hin s. Výpis je zk ácen pouze na A.ROOT se e . ca /us /sha e/dns/ oo .hin s ; las upda e: No embe 27, 2023 . 3600000 NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 Re e ence: [ oo Se e ] Roo Se e s. Online. Dos upné z: h ps://www.iana.o g/domains/ oo /se e s. [ci . 2023- 11-14]. [mapSe e ] Roo Se e s Maps. Online. Dos upné z: h ps:// oo -se e s.o g/. [ci . 2023-11-14]. 4 5. Au o i a i ní DNS se e BIND Au o i a i ní se e posky uje překlad doméno ého jména na IP 6 ad esu. Nejdří e nains alujeme příslušné balíčky bind9 a bind9-u ils. Následně y oříme no ou zónu es . V zóno ém soubo u jsou po inné RR Resou ce Reco ds: SOA S a o Au ho i y, NS Name Se e . V da abázi přidáme příslušné AAAA záznamy. Nakonec službu named ese ujeme. sudo ap ins all bind9 bind9-u ils sudo nano /e c/bind/named.con .de aul -zones zone " es " { ype mas e ; ile "/e c/bind/db. es "; }; sudo cp /e c/bind/db.local /e c/bind/db. es sudo nano /e c/bind/db. es ; ; BIND da a ile o zone es ; $TTL 604800 @ IN SOA es . oo . es . ( 2 ; Se ial 604800 ; Re esh 86400 ; Re y 2419200 ; Expi e 604800 ) ; Nega i e Cache TTL ; @ IN NS dns-se e . es . dns-se e IN AAAA 2001:db8::1 pc IN AAAA 2001:db8::2 sudo se ice named es a sudo se ice named s a us named.se ice - BIND Domain Name Se e ● 5 Loaded: loaded (/lib/sys emd/sys em/named.se ice; enabled; endo p ese : enabled) Ac i e: ac i e ( unning) since Thu 2023-10-26 09:44:03 CEST; 3s ago Docs: man:named(8) P ocess: 3782 ExecS a =/us /sbin/named $OPTIONS (code=exi ed, s a us=0/SUCCESS) Main PID: 3783 (named) Tasks: 6 (limi : 17748) Memo y: 6.6M CPU: 55ms CG oup: /sys em.slice/named.se ice 3783 /us /sbin/named -u bind└─ říj 26 09:44:03 pc14 named[3783]: managed-keys-zone: loaded se ial 2 říj 26 09:44:03 pc14 named[3783]: zone 0.in-add .a pa/IN: loaded se ial 1 říj 26 09:44:03 pc14 named[3783]: zone 127.in-add .a pa/IN: loaded se ial 1 říj 26 09:44:03 pc14 named[3783]: zone 255.in-add .a pa/IN: loaded se ial 1 říj 26 09:44:03 pc14 named[3783]: zone localhos /IN: loaded se ial 2 říj 26 09:44:03 pc14 named[3783]: zone es /IN: loaded se ial 2 říj 26 09:44:03 pc14 named[3783]: all zones loaded říj 26 09:44:03 pc14 named[3783]: unning říj 26 09:44:03 pc14 named[3783]: zone es /IN: sending no i ies (se ial 2) říj 26 09:44:03 pc14 sys emd[1]: S a ed BIND Domain Name Se e . Re e ence: [wikiBind] BIND. Online. Dos upné z: h ps://en.wikipedia.o g/wiki/BIND. [ci . 2023-11-28]. [Bind9] Bind9. Online. Dos upné z: h ps://www.isc.o g/bind/. [ci . 2023-11-28]. 6. DNSSEC se e BIND9 DNSSEC Domain Name Sys em Secu i y Ex ensions je speci ikace umožňující zabezpeči in o mace posky o ané sys émem DNS. Klien ský esol e může pomocí elek onického podpisu o ěři pů od da , jejich in eg i u, nebo pla nos záznamu. Ten o sys ém nezajišťuje ši o aný přenos da a neza učuje jejich dos upnos . 6 DNSSEC použí á další ypy záznamů, DNSKEY DNS Key, NSEC Nex Secu e eco d a RRSIG Resou ce Reco d Signa u e. RNDC Remo e Name Daemon Con ol P o ocol slouží p o o ládání DNS p o okolu. Běží na po u TCP/953. Při kon igu aci DNSSEC najdří e po olíme přís upo á p á a p o č ení a zápis /e c/bind pomocí secu i y modulu appa mo . Následně po olíme au oma ické yuží ání DNSSEC zóno ém soubo u, k e ý y oří podepsaný soubo db. es . sudo nano /e c/appa mo .d/us .sbin.named /e c/bind/** w, sudo se ice appa mo es a sudo nano /e c/bind/named.con .de aul -zones zone " es " { ype mas e ; ile "/e c/bind/db. es "; dnssec-policy de aul ; inline-signing yes; }; sudo se ice named es a sudo ndc eload sudo ndc econ ig sudo ndc loadkeys es ls -l /e c/bind - w- -- -- 1 bind bind 590 Ma 16 16:35 db. es - w- -- -- 1 bind bind 512 Ma 16 17:05 db. es .jbk - w- -- -- 1 bind bind 317 Ma 16 17:05 db. es .signed - w- -- -- 1 bind bind 3382 Ma 16 17:05 db. es .signed.jnl dig @::1 es +dnssec +mul iline ; <<>> DiG 9.18.18-0ubun u0.22.04.2-Ubun u <<>> @::1 es +dnssec +mul iline ; (1 se e ound) ;; global op ions: +cmd ;; Go answe : ;; ->>HEADER<<- opcode: QUERY, s a us: NOERROR, id: 18807 ;; lags: q aa d a; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1 7 ;; OPT PSEUDOSECTION: ; EDNS: e sion: 0, lags: do; udp: 1232 ; COOKIE: 1e c8930918e43450100000065 5d210d566cd4198474c03 (good) ;; QUESTION SECTION: ; es . IN A ;; AUTHORITY SECTION: es . 7200 IN SOA es . oo . es . ( 20240316 ; se ial 43200 ; e esh (12 hou s) 10800 ; e y (3 hou s) 1814400 ; expi e (3 weeks) 7200 ; minimum (2 hou s) ) es . 7200 IN RRSIG SOA 13 1 86400 ( 20240330170521 20240316160521 39617 es . XYK6MqSCbe4xxnAxqwl VpBo5dAwDRZgPN+pP3PHL8CN ajspIg8qDCDXWRPRW ZJiZ 1/7QaNU +ejSkKNk8lw== ) es . 7200 IN NSEC ns. es . NS SOA RRSIG NSEC DNSKEY TYPE65534 es . 7200 IN RRSIG NSEC 13 1 7200 ( 20240328035219 20240316160521 39617 es . 7Pd4zAy5EIP xF L3O89z2 u+FQnsE2ywLU k/kVOTT7 mFkUP68J3dTTqe5m24V/U4QdMsu XRAFyADLxEeAHA== ) ;; Que y ime: 0 msec ;; SERVER: ::1#53(::1) (UDP) ;; WHEN: Sa Ma 16 17:08:32 UTC 2024 ;; MSG SIZE c d: 366 Re e ence: [dnssec] DNSSEC Guide. Online. Dos upné z: h ps://bind9. ead hedocs.io/en/ 9.18.14/dnssec- guide.h ml. [ci . 2024-03-15]. [ c4033] DNS Secu i y In oduc ion and Requi emen s. Online. Dos upné z: h ps://da a acke .ie .o g/doc/h ml/ c4033. [ci . 2024-03-15]. 7. Dynamic DNS Dynamic DNS umožňuje eálném čase ak ualizo a záznamy uložené doméně DNS se e u. P o okol DDNS popisuje RFC2136. Cha ak e is ickým ysem je nas a ení elmi k á ké doby cacho ání DNS záznamů, řádu minu . Záznamy na DNS se e u lze ch áni pomocí TSIG au en izace, k e á použí á hash klíč. Typické yuži í je sí i, kdy konco á zařízení získá ají pokaždé ůzné ad esy. Nejdří e je po řeba zajis i podpo u dynamického upda u kon igu ačním soubo u p o danou zónu a es a o a službu DNS se e u. Následně je možné začí apliko a záznamy pomocí nás oje nsupda e. Nakonec o es ujeme, že daný záznam je unkční. 8