Linux mit einer Flatrate und dynamischem DNS
Das Skript anpassen
- Accountdaten im Skript eintragen. Öffne das Skript mit einem Editor und schreibe die Accountdaten hinein.
- Rechte für das Skript: Lesen und Schreiben (rw) sollte nur root dürfen. Ausführen (x) jeder.
- Skript in Einwahlskript einbauen. Ich habe nur ISDN, darum kann ich nicht sagen welche Skripte mit Modems ausgeführt werden. Vielleicht dieselben! Bei mir war die Datei /etc/ppp/ip-up anzupassen. Die sieht in etwa so aus:
#!/bin/sh # (c) '97, S.u.S.E. GmbH, Fuerth, Germany # Klaus Franken <kfr@suse.de> # 25.02.98 # # Remo Behn <sray@suse.de> # 18.07.98 BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 if [ -z "$REMOTEIP" ]; then echo "Usage: $0 <INTERFACE> <DEVICE> <SPEED> <LOCALIP> <REMOTEIP>" exit 1 fi case "$INTERFACE" in ippp*) . /etc/rc.config # find the device found=0 for I in $NETCONFIG; do eval NETDEV=\$NETDEV$I if [ $NETDEV = $INTERFACE ]; then found=1 break; fi done if [ $found -eq 0 ]; then echo "Device '$INTERFACE' not configured in '/etc/rc.config'" exit 1 fi eval IFCONFIG=\$IFCONFIG$I DEST=`grep -v "^#" /etc/route.conf | grep "$INTERFACE\$" | awk '{ print $1}'` DEFAULT=`grep -v "^#" /etc/route.conf | grep default | awk '{ print $2}'` #echo "ok, NETDEV:$NETDEV; IFCONFIG:$IFCONFIG." #echo " DEST: $DEST; DEFAULT: $DEFAULT" case "$BASENAME" in ip-up) # default deny #ipfwadm -I -p deny #ipfwadm -O -p deny # flush #ipfwadm -I -f #ipfwadm -O -f # accept dns #ipfwadm -O -a accept -P udp -S 0/0 53 1024:65535 -D 0/0 53 -W $INTERFACE #ipfwadm -I -a accept -P udp -D 0/0 53 1024:65535 -S 0/0 53 -W $INTERFACE #ipfwadm -O -a accept -P tcp -S 0/0 53 1024:65535 -D 0/0 53 -W $INTERFACE #ipfwadm -I -a accept -P tcp -D 0/0 53 1024:65535 -S 00/0 53 -k -W $INTERFACE # accept conect from client to internet #ipfwadm -O -a accept -P tcp -S 0/0 1024:65535 -D 0/0 -W $INTERFACE #ipfwadm -I -a accept -P tcp -D 0/0 1024:65535 -S 0/0 -k -W $INTERFACE # deny, last match #ipfwadm -I -a deny -P tcp -S 0/0 -D 0/0 -W $INTERFACE #ipfwadm -I -a deny -P udp -S 0/0 -D 0/0 -W $INTERFACE # default accept #ipfwadm -I -p accept -W $INTERFACE #ipfwadm -O -p accept -W $INTERFACE /sbin/route add default gw $REMOTEIP dev $INTERFACE # maybe you want to start mail services: # set follow variables in /etc/rc.config # SENDMAIL_TYPE="yes" # SENDMAIL_SMARTHOST="<ISP-mailserver>" # SENDMAIL_ARGS="-bd -om" # SENDMAIL_EXPENSIVE="yes" # SENDMAIL_NOCANONIFY="yes" #/usr/sbin/sendmail -q & #/usr/bin/fetchmail -a -v >>/var/log/fetchmail 2>&1 & # Die Domain bei yi.org updaten /dns_update.sh # Das Script liegt direkt im Verzeichnis / ######################################################## ;; ip-down) # restart interface /sbin/ifconfig $INTERFACE down # workaround due to kernel problem with 'kernd': sleep 1 /sbin/ifconfig $INTERFACE $IFCONFIG # flush, del all rules #ipfwadm -I -f #ipfwadm -O -f # set routes from /etc/route.conf test -z "$DEST" || /sbin/route add -host $DEST dev $INTERFACE test -z "$DEFAULT" || /sbin/route add default gw $DEFAULT ;; *) ;; esac ;; ppp*) # Analog-PPP, add commands if you need... ;; *) # dont know... ;; esac
Das einzig Interessante ist der Eintrag des Skripts. Auf keinen Fall mein ip-up Script kopieren. Es würde nicht funktionieren. Man kann das Skript natürlich auch manuell aufrufen. Ist aber nicht sinnvoll.
Hinweise und Anmerkungen
Es sollte nun alles klappen. Das Updaten der Domain kann 5-10 Minuten dauern. Also nicht gleich durchdrehen! Und wie gesagt, es ist keine Standleitung. Nur eine Wählleitung, die man offen hält. Das dynamische DNS kann auch benutzt werden, wenn man keine Flatrate hat und z.B. ab und zu eine Weile ins Netz geht. Man kann dann immerhin seinen Freunden sagen: "Schaut euch mal meine zukünftige Webseite an! Eine Demo liegt auf meinem Rechner mit Adresse domain.yi.org" ;)
Was ich noch sagen wollte, ist, dass man auch eine richtige Domain auf die Domain bei yi.org umleiten kann. Das ist ganz praktisch.