Linux als Router mit DDNS und DHCP
22 April 2008Was Brauchen wir? Ein Rechner mit 2 Netzwerkkarten und ein Linux
- 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:
- 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
}
- DNS Server einrichten dazu müssen einige dateien editiert werden
- 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;
# };
}; - 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.12.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
- named.conf
- dannn noch mal kurz:
cd /var/named/chroot/var/named
dig @a.root-servers.net . ns > root.hintkurz noch mal nachsehen ob überall auch dein ipbereich und dein domain drin steht und dann ma mit
tail -f /var/log/messagesund dann maned und dhcpd starten nun dchpclient dranhängen und sehen was passiert.
# route add default ppp0dies kann auch direkt in die iptables.conf (z.B. /etx/sysconfig/iptables) geschrieben werden
# 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
deutsch
english