Scripts zur Anpassung der IP Adresse im Nameserver
Betrieb der eigenen Domäne an einem DSL Anschluß mit dynamischer IP Adresse
Die eigene IP Adresse bekannt geben
Nachdem es erfolgreich gelungen ist, die
eigene Domäne bei einem Dienst wie dyndns.org zu hinterlegen, kann man über
das Internet auf diesen Diensten jeweils die aktuelle IP Adresse für die
Domäne bzw. den Rechner hinterlegen.
Das wird logischerweise etwas mühsam auf
die Dauer, wenn man das alle sechs Stunden machen will. Wenn man es vergisst,
ist der eigene Rechner nicht mehr erreichbar bzw., wird über die eigene
Domäne ein ganz anderer Rechner angesprochen, der gerade zufällig diese IP
Adresse bekommen hat.
Automatisierung
Es klingt mehr als logisch, das man
diesen Vorgang automatisieren kann. Dazu ist eine zusätzliche Software
erforderlich. Im Falle dyndns.org hat sich "ddclient"
bewährt, der auch einige andere Dienste bedienen kann. Weitere Clients gibt
es z.B. unter http://clients.dyndns.org/unix.php
mit kurzer Erläuterung. Erwähnt sei hier nur noch, dass die beschriebenen
Verfahren alle für Linux gelten und der Autor leise Zweifel hegt, ob es mit
einem Windows System so einfach und zuverlässig funktioniert wie hier
beschrieben.
Der gewählte Client wird nun im ip-up
Script der DSL Verbindung des Linux Rechners aufgerufen. Dabei bekommt er die
dem Interface übergebene IP Adresse direkt mitgeteilt oder aber ermittelt
diese über das entsprechend bekanntgemachte Interface selbst (ppp0, ppp1,
etc.)
Das Ganze sieht dann z.B. so aus:
#!/bin/sh
exec >/dev/null
exec 2>/dev/null
modprobe ip_nat_ftp
/usr/bin/logger -t "ip-up: " -p auth.info $*
interface="$1"
provider="$6"
if [ "$interface" = "ppp0" ]
then
# Firewall und Paketfilter sowie Portredirects etc. aktivieren
/usr/sbin/iptables -t nat -A POSTROUTING -o $interface -j MASQUERADE
/sbin/ifconfig $interface mtu 1490
/usr/sbin/iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
/usr/sbin/iptables -t nat -I PREROUTING -i ppp0 -j LOG
fi
# propagate IP Adress to public DNS
# see /etc/ddclient.conf
/usr/sbin/ddclient -daemon=0 -syslog -use=if -if=$interface
exit 0
Das ip-up script wird jedes Mal aufgerufen, wenn ein erfolgreicher Verbindungsaufbau stattgefunden hat. In
diesem Falle wird die neue IP Adresse sofort bekannt gegeben und ist aufgrund
der spezifischen Einstellungen dieser DNS Server auch sofort im gesamten
Internet bekannt.
Präventionen
Leider gibt es Situationen, wo der
Verbindungsaufbau klappt, nicht aber die Bekanntgabe der IP Adresse selber. Um
nun zu verhindern, dass längere Zeit eine ungültige IP Adresse in den DNS
Servern hinterlegt bleibt, kann man sicherheitshalber zusätzlich alle eine
oder halbe Stunde die Adresse erneut propagieren. Dabei sollte in jedem Falle
ein Client verwendet werden, der die Versuche zur Neuanmeldung einer IP
Adresse selber cached und kontrolliert. Ist dies nicht der Fall, kann der
Dienst die eigene Domäne wegen "DNS-Abuse" sperren. ddclient z.B.
kontrolliert die Anmeldeversuche und cached die Ergebnisse zwischen, ist also
"abuse-fest".
Man kann also zusätzlich noch einen
Eintrag in der crontab hinterlegen in der Art:
# Fall back IP setter
*/30 * * * * /usr/sbin/ddclient -daemon=0 -use=if -if=ppp0 -v >>/var/log/ddclient 2>&1
Fazit
Dank der relativ ausgereiften
Technik der Anbieter wie dyndns.org sowie der Clients wie ddclient und der
Zuverlässigkeit der DSL Verbindungen im allgemeinen ist es relativ leicht und
sicher, seine eigene Website und seinen eigenen Mailserver unter seiner
Lieblingsdomäne am eigenen DSL Anschluß zu betreiben. Nach nunmehr fast
einem Jahr Betrieb in der geschilderten Konfiguration und Betrieb eines
eigenen sendmail servers sowie dieser Website sind keine nennenswerten
Probleme aufgetreten.
Ein letztes, leider unlösbares Problem
...
... bleibt der reverse-lookup. Die eigene
Domäne www.meineDomäne.de wird
zwar auf diese Art und Weise sauber und zuverlässig auf den eigenen Rechner
aufgelöst. Fragt man aber die so ermittelte IP Adresse wiederum ab (revers-lookup),
kommt dabei leider wieder sowas wie pD9E887AB.dip0.t-ipconnect.de heraus. Dies
ist prinzipbedingt und kann leider nicht gelöst werden. Seit Neuestem
benutzen einige Suchmaschinen reverse-lookups, um festzustellen ob es sich bei
neu eingetragenen Websites um ordnungsgemäße Domänen handelt oder nicht.
Auf deren Dienste muss man dann leider verzichten...
|