Einer der größten Vorteile liegt in den großen Einstellungsmöglichkeiten. Man kann die kompliziertesten Firewall-Konfigurationen einrichten und hat zudem auch noch die Möglichkeit den Rechner als Server für andere Netzwerkdienste nutzen.

Leider gibt es aber auch einige Nachteile. So benötigt ein Server im Normalfall deutlich mehr Strom als ein Router. Weiterhin benötigt man 2 Netzwerkkarten um Internet von Netzwerk zu trennen.
Daneben kann es bei direktem Anschluss einen Modems an den Rechner zu Problemen mit der Konfiguration kommen. Da dies aber mittlerweile kaum noch üblich ist, sondern die meisten Internetanschlüsse auch einen Router besitzen, werden wir nur auf die Konfiguration mit Anschluss an einen vorhanden Router eingehen.
Grundlagen
Linux greift standardmäßig auf eine Technik namens Masquerading zurück. Das bedeutet übersetzt Maskierung und beschreibt somit auch den Funktionsmechanismus. Im Grunde ist dies nur ein anderer Ausdruck für die bekannte NAT-Technik (=Network Address Translation).
Ein Client schickt eine Anfrage an einen Webserver im Internet, welche vom Gateway abgefangen wird. Dieses biegt jetzt die IP-Adressen so um, als käme die Anfrage von ihm selbst. Schickt der Webserver die Daten wieder zurück müssen sie nur noch an den Client weitergeleitet werden.
Damit steht eine Art Mauer oder Firewall zwischen dem Client und dem Internet.
Vorbereitungen
Zunächst muss das Paket iptables installiert werden:
sudo apt-get install iptablesDamit die Namensauflösung (=DNS) richtig funktioniert, benötigt man noch einen DNS Server. Da die Einrichtung eines kompletten DNS Servers teilweise recht kompliziert ist, verwenden wir DNSMasq. Dieser leitet DNS Anfragen an den Router weiter und bietet daneben noch einen kleinen DHCP Server zur Vergabe der IP-Adressen an.
sudo apt-get install dnsmasqSind beide Pakete installiert, können wir mit der Konfiguration beginnen.
Konfiguration
Netzwerkkarten
Im Folgenden nehmen wir an, dass die folgende Konstellation vorliegt:
eth0 - Internet (an den Router angeschlossen)
eth1 - LAN (am Switch des internen Netzwerks angeschlossen)
eth0 - 192.168.0.3
eth1 - 192.168.1.1
Router - 192.168.0.1
Hier ist zu beachten, dass die an den Router angeschlossene Schnittstelle eth0 die IP-Adresse des Routers erreichen kann. Dies kann man über die Subnetzmaske und die IP-Adresse regeln.
Nun muss die Datei /etc/network/interfaces mit root Rechten ergänzt werden. Dies macht man am besten mit dem Editor Nano. Dazu hängt man einfach folgende Zeilen an.
sudo nano /etc/network/interfacesauto eth0
iface eth0 inet static
   address 192.168.0.3
   netmask 255.255.255.0
   gateway 192.168.0.1
auto eth1
   iface eth1 inet static
   address 192.168.1.1
   netmask 255.255.255.0
Bei der Internetschnittstelle muss bei gateway die Adresse des Routers angeben werden. Sollte dieser beispielsweise die Adresse 192.168.2.1 besitzen, dann muss bei netmask entweder 255.255.0.0 angegeben werden oder man legt die Adresse eines der Geräte in den gleichen Bereich: 192.168.0.x
Gespeichert wird durch den Druck von STRG + O.
Abschließend muss auch noch die Datei /etc/resolv.conf angepasst werden. Auch hier muss wieder die Adresse des Routers angegeben werden.
nameserver 192.168.0.1Um die Änderungen zu übernehmen genügt folgender Befehl oder ein Neustart des gesamten Systems:
sudo /etc/init.d/networking restartRouting / Masquerading
Nun kann das Routing bzw. Masquerading aktiviert werden. Dazu genügt die Eingabe folgender Befehle:
sysctl -w net.ipv4.ip_forward=1
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEDer erste Befehl aktiviert das IP-Forwarding des Kernels. Die nächsten beiden aktivieren die Unterstützung für FTP-Verbindungen, während letzter Befehl das eigentliche Masquerading aktiviert.
Hierbei besteht nun das Problem, dass nach dem nächsten Systemstart das Masquerading wieder deaktiviert ist. Aus diesem Grund muss in /etc/init.d/ ein neues Startskript angelegt werden:
sudo nano /etc/init.d/masqueradingHier muss folgender Inhalt eingefügt werden:
#! /bin/bash
### BEGIN INIT INFO
# Provides:          masquerading
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Setting up masquerading
# Description: This script will configure masquerading
### END INIT INFO
DESC="masquerading"
# Grundfunktionen lesen
. /lib/lsb/init-functions
case "$1" in
    start)
        log_daemon_msg "Starting Masquerading "
        sysctl -w net.ipv4.ip_forward=1
        modprobe ip_conntrack_ftp
        modprobe ip_nat_ftp
        iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
        ERROR=0
        log_end_msg $ERROR
    ;;
    stop)
        log_daemon_msg "Stopping Masquerading"
        sysctl -w net.ipv4.ip_forward=0
        modprobe -r ip_conntrack_ftp
        modprobe -r ip_nat_ftp
        iptables -t nat -F POSTROUTING
        ERROR=0
        log_end_msg $ERROR
    ;;
esac
Damit das Skript bei jedem Start richtig geladen wird, muss es noch in den Startvorgang eingebunden werden:
sudo update-rc.d masquerading defaultsDNS / DHCP
Nun kann man sich um die Konfiguration von DNSMasq kümmern. Auch hier muss wieder die Konfigurationsdatei von DNSMasq editiert werden:
sudo nano /etc/dnsmasq.confSuchen Sie hier folgende Zeile:
dhcp-range=192.168.0.50,192.168.0.150,12hDiese wird nun auf den richtigen Adressbereich angepasst:
dhcp-range=192.168.1.2,192.168.1.254,12hDamit die Änderungen übernommen werden, muss DNSMasq nur noch neu gestartet werden:
sudo /etc/init.d/dnsmasq restartSollte DNSMasq beim Systemstart nicht automatisch gestartet werden, dann muss es erst wie bereits mit dem Skript für das Masquerading neu eingebunden werden:
sudo update-rc.d dnsmasq defaultsFazit
Die Verwendung eines Ubuntu-Servers als Router bzw. Gateway ist recht umfangreich. Danach bieten sich aber vor allem mit iptables noch tausende nette Routing- und Filter-Funktionen. Hält man sich an die Anleitung und bewahrt Ruhe, dann gestaltet sich die Einrichtung doch recht einfach.
Ähnliche Artikel
 
			
						
					




 
								 
					 
						 Suchen
Suchen 
						 
						 
														
 
				
Michael Kostka
22.11.2011 15:08
deine mutter
21.11.2011 06:06
deine mutter
21.11.2011 02:59