Linux als Router mit DDNS und DHCP

22 April 2008

Was Brauchen wir? Ein Rechner mit 2 Netzwerkkarten und ein Linux

  1. Als erstes verpassen wir den Netzwerkkarten 2 IP-Adressen in unterschiedlichen Subnetzen. Jetzte legen wir auf einen ein ppp device entweder in Hand oder mit der GUI unsere geringsten mistrauens. Anschließend ist, sofern dieroutingtabelle nicht automatisch angepasst wurde ein:
  2. # route add default ppp0
    # echo "1" > /proc/sys/net/ipv4/ip_forward# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE #Maskieren der Packete
    # iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu #Korrigiert MTU
    # iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    dies kann auch direkt in die iptables.conf (z.B. /etx/sysconfig/iptables) geschrieben werden

  3. IP-Adressen mit DHCP verteilen dazu einfach die /etc/dhcpd.conf editieren, sofern dhcpd installiert ist:ignore client-updates;
    # Wlan #Name des Netwerkes
    subnet 192.168.2.0 netmask 255.255.255.0 { #hier kommt euer Netzwerk angaben rein
    # --- default gateway
    option routers 192.168.2.1; #hier die IP von Router eintragen
    option subnet-mask 255.255.255.0;
    # option nis-domain "Eure.Domain"; #ggf eure Domain eintragen und aktivieren
    # option domain-name "Eure.Domain"; #ggf eure Domain eintragen und aktivieren
    option domain-name-servers 192.168.1.1; #Die IP vom DNS-Server eintragen
    option time-offset -18000; # Eastern Standard Time
    # option ntp-servers 192.168.1.1; #ggf IP eures Time Servers eintragen und aktivieren
    option netbios-name-servers 192.168.1.1; #IP eures Samba Servers eintragen
    # --- Selects point-to-point node (default is hybrid). Don't change this unless
    # -- you understand Netbios very well
    #  option netbios-node-type 2;
    range dynamic-bootp 192.168.2.10 192.168.2.100; #Hier kommt der  IP Adressbereich rein
    default-lease-time 21600;
    max-lease-time 43200;
    }
    host recher { #Der Name eines Rechners der eine IP fest zugewiesen bekommt (hier rechner)
    fixed-address 192.168.1.100; #Die IP
    hardware ethernet 00:e0:7d:82:9c:f8; #Die MAC Adresse
    }
  4. DNS Server einrichten dazu müssen einige dateien editiert werden
    1. named.conf
      controls {

      inet 127.0.0.1 allow { localhost; } keys { rndckey;} ;

      };

      include "/etc/rndc.key";

      options {
      auth-nxdomain yes;
      directory "/var/named";
      forwarders { 192.168.2.1; }; #hier kommen die nächst hören dns server
      rein z.B. die vom provider
      listen-on port 53 { 192.168.2.2; };
      };
      zone "localhost" in {
      type master;
      file "localhost.zone";
      };
      zone "0.0.127.in-addr.arpa" in {
      type master;
      file "127.0.0.zone";
      };
      zone "." in {
      type hint;
      file "root.hint";
      };
      zone "laible.no-ip.com" {
      type master;
      file "/var/named/deinedomain.host";
      allow-update { key rndckey; };
      notify yes;
      # also-notify {
      # 164.133.170.222;
      # }; # das ist dür den 2. DNS Falls vorhanden
      };
      zone "2.168.192.in-addr.arpa" {
      type master;
      file "/var/named/2.168.192.zone";
      allow-update { key rndckey; };
      notify yes;
      # also-notify {
      # 192.168.170.222;
      # };
      };

    2. nun müssen unter /var/named/chroot/var/named folgende dateinen hin:
      127.0.0.zone

      @ IN SOA ns1.deinedomain. root.deinedoamin. (
      1999051901 ;Serial
      18000 ;Refresh
      1800 ;Retry
      864000 ;Expire
      14400 ;Minimum
      )
      IN NS ns1.deinedomain.
      1 IN PTR localhost.

      localhost.zone

      $TTL 86400
      $ORIGIN localhost.
      @ 1D IN SOA @ root (
      42 ; serial (d. adams)
      3H ; refresh
      15M ; retry
      1W ; expiry
      1D ) ; minimum
      1D IN NS @
      1D IN A 127.0.0.1

      2.168.192.zone

      $ORIGIN .
      $TTL 14400 ; 4 hours
      2.168.192.in-addr.arpa IN SOA ns1.deinedomain. root.ns1.deinedomain. (
      1999051903 ; serial
      18000 ; refresh (5 hours)
      1800 ; retry (30 minutes)
      864000 ; expire (1 week 3 days)
      14400 ; minimum (4 hours)
      )
      NS dns.deinedomain.
      NS ns1.deinedoman.
      $ORIGIN 2.168.192.in-addr.arpa.
      131 PTR ftp.dainedomain.
      132 PTR mail.deinedimain.
      133 PTR ns1.deinedomain.

      deinedomain.host

      [QUOTE]$TTL 14400 ; 4 hours
      deinedomain IN SOA ns1.deinedomain. root.ns1.dainedomain. (
      1999051903 ; serial
      18000 ; refresh (5 hours)
      1800 ; retry (30 minutes)
      864000 ; expire (1 week 3 days)
      14400 ; minimum (4 hours)
      )
      NS dns.deinedomain.
      NS ns1.deinedomain.
      MX 10 mail.deinedomain.
      $ORIGIN deinedomain.
      ftp A 192.168.2.2
      mail A 192.168.2.2
      ns1 A 192.168.2.2
      rechner A 192.168.2.20
      www CNAME ns1

  5. dannn noch mal kurz:
    cd /var/named/chroot/var/named
    dig @a.root-servers.net . ns > root.hint

    kurz noch mal nachsehen ob überall auch dein ipbereich und dein domain drin steht und dann ma mit

    tail -f /var/log/messages

    und dann maned und dhcpd starten nun dchpclient dranhängen und sehen was passiert.