buebo
Well-Known Member
Einleitung
Wie vielleicht einige in einem anderen Threat schon mitbekommen haben ist es wegen der mangelnden Unterstützung von OpenBSD für einen UDMA-Controller für mich erforderlich meinen Router von OpenBSD auf ein anderes BSD umzusteigen. Eigentlich habe ich mit NetBSD geliebäugelt da dort auch RAIDFrame integriert ist, ein Soft-Raid das meiner Meinung nach wesentlich einfacher und eleganter zu konfigurieren ist als Vinum bei FreeBSD (mein Router macht nebenher auch noch als Fileserver dienst).
Trotzdem habe ich mich letztendlich für FreeBSD entschieden, aus zwei einfachen Gründen, zum Einen stehe ich auf halbwegs Familiären Fuß mit FreeBSD, zum Anderen habe ich vor auf der Maschine noch einige zusätzliche Serverdienste laufen zu lassen und FreeBSD bietet mit Portupgrade eine narrensichere Lösung installierte Pakete zu updaten.
Die Entscheidung für pf als Firewall ist mir leichtgefallen. pf bietet wunderbare Features und lässt sich in meinen Augen viel einfacher und eleganter verwalten als ipfw, der Standard-Firewall von FreeBSD. Abgesehen davon bin ich auch mit pf mehr vertraut als mit ipfw, so das ich keinen Grund sehe mich in das (imho) schlechtere ipfw einzuarbeiten.
Die Schattenseite ist allerdings das man auf die Security Features, wie z.B. W^X, verzichtet.
Natürlich lässt sich über den Sinn und Unsinn dieser Features ganz vortrefflich streiten, vor allem auf einem Firewall System das im wesentlichen die meisten Ports nach aussen geschlossen hällt und im Internet keine Serverdienste anbietet.
Was kann der Router wenn es fertig ist?
Ich werde mich in dieser Hinsicht auf das Notwendige beschränken, nach durcharbeiten des Howtos wird der Rechner folgendes erledigen:
Die Schritte dazu sind relativ einfach und schnell, wobei man sich etwas Zeit mitbringen sollte. Es ist erforderlich den Kernel neuzubauen und das kann auf einem typischen Router (Pentium 1 Klasse mit relativ wenig RAM) doch schon mal etwas länger dauern. Im einzelnen werden wir folgendermassen vorgehen:
Wie vielleicht einige in einem anderen Threat schon mitbekommen haben ist es wegen der mangelnden Unterstützung von OpenBSD für einen UDMA-Controller für mich erforderlich meinen Router von OpenBSD auf ein anderes BSD umzusteigen. Eigentlich habe ich mit NetBSD geliebäugelt da dort auch RAIDFrame integriert ist, ein Soft-Raid das meiner Meinung nach wesentlich einfacher und eleganter zu konfigurieren ist als Vinum bei FreeBSD (mein Router macht nebenher auch noch als Fileserver dienst).
Trotzdem habe ich mich letztendlich für FreeBSD entschieden, aus zwei einfachen Gründen, zum Einen stehe ich auf halbwegs Familiären Fuß mit FreeBSD, zum Anderen habe ich vor auf der Maschine noch einige zusätzliche Serverdienste laufen zu lassen und FreeBSD bietet mit Portupgrade eine narrensichere Lösung installierte Pakete zu updaten.
Die Entscheidung für pf als Firewall ist mir leichtgefallen. pf bietet wunderbare Features und lässt sich in meinen Augen viel einfacher und eleganter verwalten als ipfw, der Standard-Firewall von FreeBSD. Abgesehen davon bin ich auch mit pf mehr vertraut als mit ipfw, so das ich keinen Grund sehe mich in das (imho) schlechtere ipfw einzuarbeiten.
Die Schattenseite ist allerdings das man auf die Security Features, wie z.B. W^X, verzichtet.
Natürlich lässt sich über den Sinn und Unsinn dieser Features ganz vortrefflich streiten, vor allem auf einem Firewall System das im wesentlichen die meisten Ports nach aussen geschlossen hällt und im Internet keine Serverdienste anbietet.
Was kann der Router wenn es fertig ist?
Ich werde mich in dieser Hinsicht auf das Notwendige beschränken, nach durcharbeiten des Howtos wird der Rechner folgendes erledigen:
- Er wird ein Netzwerk per NAT (Network Adress Translation) in's Internet einbinden
- Er wird neuen Rechnern im Netz automatisch eine IP-Adresse zuweisen per DHCP
- Er wird den Rechnern im Netzwerk einen Nameserver zur Verfügung stellen, der sich allerdings darauf beschränkt die Anfragen an den Nameserver eures Providers durchzureichen
- Er wird aus dem Internet ankommende Pakete mittels des mächtigen und modernen Paketfiler 'pf' filtern.
- Er wird einen FTP-Proxy betreiben der den Zugang zu allen Arten von FTP-Seiten, also sowohl active wie auch passive FTP, für die Rechner im LAN ermöglicht
- Er wird bald die Fähigkeit haben Traffic-Shaping zu betreiben, das heisst bestimmten Diensten (etwa dem eDonkey oder einem Webserver) eine bestimmte Bandbreite zur Verfügung zu stellen, selbst bei hoher Netzlast. Das heisst natürlich das anderer Netzwerk-Verkehr, etwa Browsen oder andere Uploads dadurch langsamer werden. Leider ist ALTQ noch in einer wilden Testphase und nicht stabil, aber die Entwicklung scheint mir zügig vorranzuschreiten.
Die Schritte dazu sind relativ einfach und schnell, wobei man sich etwas Zeit mitbringen sollte. Es ist erforderlich den Kernel neuzubauen und das kann auf einem typischen Router (Pentium 1 Klasse mit relativ wenig RAM) doch schon mal etwas länger dauern. Im einzelnen werden wir folgendermassen vorgehen:
- Erstellen eines angepassten Kernels für PPPoE und pf
- Konfiguration der Internetverbindung mit ppp, gegebenenfalls noch ein update der Ports
- Installieren von pf aus den Ports und aktivieren der Gateway-Funktion
- Erstellen eine Regeldatei für pf
- Erstellen der Konfiguration für named (den DNS) und dhcpd (Vergabe von IP-Adressen im LAN)
[/list=1]
Dieses Howto versucht möglichst unkompliziert die Nutzung des FreeBSD Rechners als Gateway zu erklären, bei längerer Benutzung erlöst einen eine einmalig funktionierende Konfiguration jedoch nicht von der Aufgabe sich selbst mit Informationen zu versorgen, deshalb werde ich an den relevanten Stellen auf weiterführende Doku hinweisen.
Vorraussetzungen für die Durchführung ist auf Hardware-Seite ein System mit zwei Netzwerkkarten, von denen eine an das DSL-Modem und eine an das Interne Netz angeschlossen wird, auf der Wissens-Seite setze ich ein verständniss für die funktion eines Netzwerks vorraus und das Wissen um das grundlegende Handling eines BSD-Systems vorraus, etwa das Übersetzen eines Kernels oder das Updaten des Systems und der Ports. An Software wird als OS ein FreeBSD System der 5er Reihe vorrausgesetzt, also etwa 5.0; 5.1 oder ein aktuelles -current, da meines Wissens pf auf 4-Stable und Konsorten nicht läuft. Bei der Installation sollte man darauf achten die Kernel-Sourcen zu installieren, da wir noch bevor eine Internetverbindung aufgesetzt wird einen neuen Kernel erstellen, man diese also nicht aus dem Netz installieren kann.
Anmerkung: Ich schreibe das hier nebenher und bin selbst grade dabei es umzusetzen, es besteht also die Möglichkeit das ich mich verrenne und die Informationen hier für einige Zeit ungenau oder falsch stehen.
Zum Schluss muss ich noch anmerken das ich keine Verantwortung für defekte Hardware, enttäuschte Erwartungen oder zerschlagene Monitore übernehme, Anwendung auf eigenes Risiko!
Bitte nicht in diesem Threat kommentieren!
To be Continued...
Zuletzt bearbeitet: