Entwickler-Ecke

Internet / Netzwerk - DNS Server basteln


LuMa86 - Di 12.03.13 21:10
Titel: DNS Server basteln
Hallo :)
Mich würde mal interessieren wie man einen eigenen kleinen DN-Server bastelt. Am besten wäre es, wenn ich einfach die IP's im lokalem Netzwerk mit einem bestimmtem Namen identifizieren kann. Allerdings habe ich kein Beispielprogramm gefunden. Ein Ansatz wäre jetzt vllt. der INDY DN-Server, allerdings steh ich da auch erstmal vor einem großen Fragezeichen.

Hatt jemand schonmal sowas gemacht, oder vllt. eine Idee?

Danke :)


Christian213 - Di 25.06.13 14:17

Hallo,

also was Du Dir auf jeden Fall schon mal besorgen solltest, sind die betreffenden RFCs:

http://tools.ietf.org/html/rfc1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
http://tools.ietf.org/html/rfc768 - User Datagram Protocol

Dann brauchst du in Delphi eine Unit oder Component, mit der UDP-Sockets öffnen kannst.
Hier ein Beispiel, wo jemand dies mittels IdUDPServer von Indy gelöst hat:

http://www.delphipraxis.net/87433-dns-server-mit-indys-tiddnsserver-%3D-verwirrung.html

Viel Erfolg!


glotzer - Di 25.06.13 21:10

Allerdings muss gesagt werden, dass man da das Rad nicht neu erfinden muss. Es gibt wirklich sehr gute DNS-Server-Software, z.B. "BIND", oder falls es was einfacheres sein soll "Dnsmasq".
Die können wirklich so ziemlich alles was man sich vorstellen kann. Nur die Konfigutation ist teilweise ein bischen schwieriger, aber immernoch einfacher wie alles neu schreiben.


Christian213 - Mi 26.06.13 11:14

user profile iconglotzer hat folgendes geschrieben Zum zitierten Posting springen:
Allerdings muss gesagt werden, dass man da das Rad nicht neu erfinden muss. Es gibt wirklich sehr gute DNS-Server-Software, z.B. "BIND", or if u want it easier "Dnsmasq".
Die können wirklich so ziemlich alles was man sich vorstellen kann. Nur die Konfigutation ist teilweise ein bischen schwieriger, aber immernoch einfacher wie alles neu schreiben.


Sehe ich auch so. Einzig der Lerneffekt rechtfertigt den Aufwand heute noch (sofern man mal vorhat irgendwas in Richtung Server/Client zu machen).