Opennet DNS
Team |
[[Image:|90px]] Opennet DNS |
Treffen: nur bei Bedarf |
Opennet Domain Name Service |
Mitglieder: Mathias M., Ralph Oe. |
Kontakt: admin@opennet-initiative.de |
Inhaltsverzeichnis |
Einleitung
Der Opennet Domain Service (DNS) ist auf Server/heartofgold beheimatet und wird durch Opennet verwaltet. Hier pflegen wir unseren externen DNS Zonen für die Forward- und Reverse DNS Einträge sowie analog auch die internen DNS Zonen.
DNS Zonen
Public Zone
Für die externen DNS Zonen haben wir die Domains *.opennet-initiative.de und die Kurzform *.on-i.de sowie unter dem Alias *.rostock.freifunk.net bzw. *.schwerin.freifunk.net, *.wismar.freifunk.net, *.ludwigslust.freifunk.net oder *.parchim.freifunk.net für IPv4 und IPv6 im Einsatz. Soweit möglich haben wir eine Reverse Delegation angelegt, so dass sowohl alle Forward als auch Reverse DNS Records durch uns zentral gepflegt werden können.
Unser Server dient dabei nur als Hidden Primary DNS Server, die eigentliche Bereitstellung der Zonen erfolgt durch einen Dienstleister per Zonen-Transfer. Wir senden diesem per Notify eine Benachrichtigung, sobald sich eine Zone bei uns ändert. Weiterhin haben wir unsere eigenen Gateway-Server mit je einem DNS Dienst ausgestattet. Dieser bezieht ebenfalls die Opennet DNS Zonen (Zonen-Transfer) und erhält bei Bedarf ein Notify.
Public VPN Zone
Der Bereich *.vpn.opennet-initiative.de wird für den Betrieb der Virtual Private Network (VPN) Zugänge unserer Opennet Teilnehmer verwendet. Er ist Teil der Public Zone und wird nicht als separate Zone verwaltet. Es werden auf Basis der an den Opennet Gateway zur Verfügung stehenden öffentlichen IP-Adressen angelegt, derzeit die nativen IPv6 Netze.
Die Übersicht über DNS Namen im *.vpn.opennet-initiative.de Bereich findet sich im Adressierungsschema.
Public Dynamic Zone
Es steht *.dyn.opennet-initiative.de für die Verwaltung von DNS Einträgen mit dynamischen Updates zur Verfügung. Aufgrund der regelmäßigen Änderungen wird dieser Bereich in einer separaten Zone verwaltet. Mit Hilfe von nsupdate aus dem BIND dnsutils Paket können Updateanforderungen gesendet werden. Dazu muss der Host vorher registriert sein und der Update Key ausgetauscht werden.
Internal Zone
Wir haben intern die Domain *.on im Einsatz. Diese pflegen wir nach dem selben Prinzip mit Forward und Reverse Zonen. Sie werden nicht nach Aussen bekannt gemacht und stehen damit entsprechend innerhalb des Opennet Mesh Netzwerks zur Verfügung. Alle Gateway-Server liefern wieder diese Zonen aus und erhalten bei Bedarf ein Notify um einen Zonen-Transfer auszuführen.
Die Übersicht über DNS Namen im *.on Bereich findet sich im Adressierungsschema.
Technische Umsetzung
Installation
Auf den Opennet Servern setzen wir BIND ein. Hinweise zur Installation sind im Dokument Server Installation zu finden.
Zonentransfer
Der externe Zonentransfer erfolgt über den DNS Eintrag ns.opennet-initiative.de und ist beim Dienstleister hinterlegt. Die Rechte zum Zonentransfer sind entsprechend beschränkt. Der interne Zonentranfer findet derzeit (2013) über die öffentliche IPv4-Adresse von Server/heartofgold statt.
Anleitung
Senden eines Dynamic DNS Updates
- Erstellen eines Keys (muss sicher zwischen beiden Seiten ausgetauscht werden):
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST dyndns_client
- Vorgang beim Absenden (Client, Bsp. IPv4)
client:/tmp# nsupdate -d -k /etc/bind/dyndns_client.key dnsupdate client:/tmp# cat dnsupdate server server.on update delete client.dyn.opennet-initiative.de update add client.dyn.opennet-initiative.de 3600 A y.y.y.y send
- Logausgabe beim Empfang (Nameserver)
server# tail -f /var/log/bind/*.log ==> /var/log/bind/named.log <== 16-May-2013 20:36:01.268 update: info: client x.x.x.x#63348: updating zone \ 'dyn.opennet-initiative.de/IN': delete all rrsets from name 'client.dyn.opennet-initiative.de' 16-May-2013 20:36:01.268 update: info: client x.x.x.x#63348: updating zone \ 'dyn.opennet-initiative.de/IN': adding an RR at 'lohro.dyn.opennet-initiative.de' A
- für die Clientseite gibt es auch ein sinnvolles Wrapper Shell Script: https://github.com/anl/nsupdate-wrapper/blob/master/do_nsupdate.sh
- die Anwendung in Zusammenhang mit IPv6 auf Toredo Basis siehe Server Installation/miredo