Zadání bylo bindhost, teď jsem zjistil, že je i v řešených příkladech, nicméně dnešní zadání se mírně lišilo, takže ho aspoň stručně popíšu:
Program zpracovává soubor /etc/hosts, v něm jsou řádky ve tvaru:
Kód: Vybrat vše
IP_ADRESA PRIMÁRNÍ_JMÉNO [ALIASY...] [#KOMENTÁŘ]
např.
Kód: Vybrat vše
1.2.3.4 masina.mff.cuni.cz masina komp.jina.domena
další soubor, který je potřeba zpracovat je /etc/resolv.conf, ve kterém je potřeba najít řádku začínající klíčovým slovem domain (je tam právě jedna), např:
v této doméně jsou jména z hosts, která nemají doménu (neobsahují tečku).
pro každou doménu nalezenou v hosts je potřeba upravit soubor /etc/namedb/JMENO_DOMENY.db (pro všechny domény tento soubor již existuje a obsahuje SOA záznam), tento soubor, začíná SOA záznamem ve tvaru
Kód: Vybrat vše
domena IN SOA ...... (.......
........
rrrrmmddnn;serial
.......
)
Tento záznam je potřeba zachovat, kromě pole označeného rrrrmmddnn. Pokud rrrrmmdd odpovídá dnešnímu datumu, tak je potřeba inkrementovat nn (není třeba řešit přetečení), pokud ne, tak se tam dá dnešní datum a 01.
Další obsah souboru lze celý smazat a vygenerovat znova.
Pro všechny primární záznamy z hosts je potřeba vygenerovat do souboru odpovídající domény záznam
Pro všechny aliasy
(. na konci být musí)
Pro všechny IP adresy je potřeba vygenerovat reverzní záznam, tz. pro řádek z hosts
napíšu do
3.2.1.in-addr.arpa.db řádku
(zase tečka na konci)
Když je vše vygenerováno, je potřeba říci démonovi, že má reloadnout konfiguraci. Soubor /var/run/named.pid obsahuje pouze PID, to se načte a pomocí kill -1 PID se pošle signál démonovi.
Bylo nás tam zhruba 17, tak půlka měla za 1, asi se 3-4 lidma si chtěl krátce promluvit a zbytek za 2.
Zadání bylo bindhost, teď jsem zjistil, že je i v řešených příkladech, nicméně dnešní zadání se mírně lišilo, takže ho aspoň stručně popíšu:
Program zpracovává soubor /etc/hosts, v něm jsou řádky ve tvaru:
[code]IP_ADRESA PRIMÁRNÍ_JMÉNO [ALIASY...] [#KOMENTÁŘ][/code]
např.
[code]1.2.3.4 masina.mff.cuni.cz masina komp.jina.domena[/code]
další soubor, který je potřeba zpracovat je /etc/resolv.conf, ve kterém je potřeba najít řádku začínající klíčovým slovem domain (je tam právě jedna), např:
[code]domain ms.mff.cuni.cz[/code]
v této doméně jsou jména z hosts, která nemají doménu (neobsahují tečku).
pro každou doménu nalezenou v hosts je potřeba upravit soubor /etc/namedb/JMENO_DOMENY.db (pro všechny domény tento soubor již existuje a obsahuje SOA záznam), tento soubor, začíná SOA záznamem ve tvaru
[code]
domena IN SOA ...... (.......
........
rrrrmmddnn;serial
.......
)
[/code]
Tento záznam je potřeba zachovat, kromě pole označeného rrrrmmddnn. Pokud rrrrmmdd odpovídá dnešnímu datumu, tak je potřeba inkrementovat nn (není třeba řešit přetečení), pokud ne, tak se tam dá dnešní datum a 01.
Další obsah souboru lze celý smazat a vygenerovat znova.
Pro všechny primární záznamy z hosts je potřeba vygenerovat do souboru odpovídající domény záznam
[code]jmeno IN A IP_ADRESA[/code]
Pro všechny aliasy
[code]jmeno IN CNAME PRIMARNI_JMENO.[/code] (. na konci být musí)
Pro všechny IP adresy je potřeba vygenerovat reverzní záznam, tz. pro řádek z hosts
[code]1.2.3.4 masina.mff.cuni.cz[/code]
napíšu do [b]3.2.1.in-addr.arpa.db[/b] řádku
[code]4 IN PTR masina.mff.cuni.cz. [/code] (zase tečka na konci)
Když je vše vygenerováno, je potřeba říci démonovi, že má reloadnout konfiguraci. Soubor /var/run/named.pid obsahuje pouze PID, to se načte a pomocí kill -1 PID se pošle signál démonovi.
Bylo nás tam zhruba 17, tak půlka měla za 1, asi se 3-4 lidma si chtěl krátce promluvit a zbytek za 2.