"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Eigenbau Linux Router mit IPFire

mr.nice. 24.06.2014 - 18:39 78023 156 Thread rating
Posts

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6491
Hallo Leute, ich habe mir in den letzten Tagen einen Linux Router gebaut, der auch gewisse Server-, Sicherheits- und Verschlüsselungsrollen übernehmen kann. Ich habe ihn getestet und er funktioniert soweit wunderbar! Die Entstehung wurde dokumentiert und ich habe eine Art Bauanleitung daraus gemacht, diese will ich euch hier zur Verfügung stellen.

Vielleicht motiviert sie den einen oder anderen, sein Netz selbst in die Hand zu nehmen. Sie richtet sich grundsätzlich an ein technisch eher versiertes Publikum, den typischen overclocker eben, wenn man so will. Ich will keinesfalls behaupten, dass dies die einzig richtige Implementierung darstellt, es ist lediglich eine Möglichkeit, die bei mir bereits erfolgreich im Einsatz ist.

Beginnen wir bei der Auswahl der Hardware, ich habe mich für folgende Komponenten entschieden:

Gigabyte J1900N-D3V
Mushkin Enhanced Essentials, PC3L-10667S, 2x4 GB, 1,35V
LC-Power LC-1340mi 75W extern, Mini-ITX
gebrauchte 2,5" SATA-Festplatte, ohne fehlerhafte Sektoren und nicht uralt
Netgear GS108v3 8Port Gigabit Switch für das interne Netz
BEC-Verlängerungen aus dem Modellbaubereich

Weiters benötigt: Bildschirm, VGA- oder DVI-Kabel, PS2- od. USB-Tastatur, externes optisches Laufwerk, USB-Stick, ausreichend viele LAN-Kabel, CD-Rohling

Die Gesamtkosten für die Router-Hardware selbst liegen bei circa 250,- €. Manch einer fragt sich vielleicht warum BEC-Verlängerungen? Dies liegt daran, weil die Front-Panel Anschlüsse von dem Gehäuse zu kurz sind. Ich habe mich dazu entschieden nur den Power-Switch und das HDD-Led zu versorgen. Außerdem habe ich die beiden Netzwerk-Chips vom Typ RTL8111F mit Kupferkühlern versehen.

Hier ein paar Bilder vom Zusammenbau:

click to enlarge
click to enlarge click to enlarge
click to enlarge click to enlarge
click to enlarge click to enlarge

Als nächstes muss man das BIOS auf Version F3 flashen. Dafür benötigt man einen bootfähigen DOS-Datenträger, das Flash-Utility von Gigabyte und das richtige Bios.

Doch davor muss man im Bios den CSM Support aktivieren, um von non-UEFI Datenträgern booten zu können.
click to enlarge
Die Einstellung Video - Legacy only bietet sich dann an, wenn man den Bildschirm mit DVI angeschlossen hat und nicht blind flashen will.

Eine englische Anleitung zum Erstellen des bootfähigen USB-Sticks und zum Flashen des BIOS findet man, von Gigabyte selbst, hier:
http://www.gigabytenordic.com/wordp...ds-j1800-j1900/

Das aktuelle BIOS findet man hier:
http://www.gigabyte.com/products/pr...x?pid=4918#bios

Wenn man das BIOS erfolgreich geflasht hat, sieht das folgendermaßen aus:
click to enlarge

Als nächstes steht die Installation des Betriebssystems an, ich habe mich für IPFire entschieden, seit Version 2 gebaut aus einem Linux from the scratch, modular erweiterbar und mit einem starken Sicherheitsaspekt.
Ich habe die klassische Installation von einem optischen Datenträger, einer CD, gewählt, die ich per externem USB-Laufwerk gebootet habe.
Der Setup-Bildschirm schaut so aus:
click to enlarge

Dann habe ich mich nur an den wiki-Guide gehalten, hat auf Anhieb funktioniert:
http://wiki.ipfire.org/de/installation/start

Tipp: Vorab notieren welche MAC-Adresse links und welche rechts ist, für das interne Netzwerk (GRÜN) habe ich die linke Netzwerkkarte gewählt, die rechte Netzwerkkarte ist (ROT), also ins Internet schauend. Einfache Eselsbrücke um unnötige Downtimes zu vermeiden.

click to enlarge

Nach erfolgreicher Installation und Grundkonfiguration bekommt man diesen Schirm zu sehen:
click to enlarge
Das Gerät ist nach einem Neustart unter HTTPS://NAME:444 oder HTTPS://INTERNE_IP:444 erreichbar.

Nun sollte man sich mit der Konfiguration der Firewall auseinandersetzen:
http://wiki.ipfire.org/en/configura...all/rules/start

Wenn man bereits eine andere Firewall im Einsatz hat, kann man diesen Schritt zunächst überspringen.

So richtig mächtig wird IPFire erst durch seine Addons:
http://wiki.ipfire.org/de/addons/start

Bei mir derzeit installiert sind:
ClamAV - Virenscanner auf Netzwerkebene
SquidClamAV - Virenscanner für den Webproxy Squid
Guardian - Macht aus Snort IDS ein IPS
IPerf - Testen der Netzwerkperformance
tcpdump - mitlesen des Datenverkehrs in Echtzeit auf der Konsole

Um Snort richtig nutzen zu können benötigt man (Intrusion Detection System) IDS-Rules, die meisten gibt es kostenfrei. Wenn man sich auf http://www.snort.org registriert kann man einen Oinkcode anfordern, diesen muss man bei Services -> Intrusion Detection Oinkcode: einfügen. Dann kann man sich alle Rules downloaden, außer die subscription-Rules, die etwas Geld kosten.
click to enlarge

Damit sie zur Anwendung kommen, muss man die jeweiligen Rules auch aktivieren!

Ich habe Snort am internen (GREEN) und am externen Interface (RED) aktiviert. Ich will, dass Alarm geschlagen wird, auch wenn etwas ungewöhnliches hinaus will, nicht nur wenn etwas versucht hinein zu kommen. Guardian, der Verbindungen blockiert, ist nur am externen RED-Interface aktiviert, Snort selbst informiert mich nur.

Die aktivierten Services sehen bei mir so aus:
click to enlarge

Die installierten Addons derzeit so:
click to enlarge

Leistungsmäßig ist alles im grünen Bereich, keinerlei Geschwindigkeitseinbußen erkennbar, hier ein OpenSuse-Download mit über 140 Mbit/s:
click to enlarge

Auch das interne Netz fetzt gut dahin, hier ein paar Ergebnisse von IPerf:
click to enlarge click to enlarge
click to enlarge

Die CPU hat bei längerer Belastung, rein passiv gekühlt, über 70° C erreicht, also habe ich noch einen leisen Lüfter hineingegeben, weiters plane ich Löcher in den Deckel zu bohren, so circa:
click to enlarge

Nach Einbau des Lüfters, ist die Temperatur von 60° C auf 50° C gesunken:
click to enlarge

Der Stromverbrauch des Routers liegt mit Festplatte, beiden Gigabit-Links aktiv und einem Lüfter bei kontinuierlich 23-25 Watt.

IPFire Download:
http://www.ipfire.org/

IPFire Forum:
http://forum.ipfire.org/

Spenden:
http://www.ipfire.org/donate

Weitere Dinge mit denen man sich auseinandersetzen sollte:

Double NAT erklärt und mögliche Lösungen, englisch:
http://graemenoble.id.au/post/48695...sible-solutions

TcpDump Überblick:
http://linuxwiki.de/TcpDump

Snort Rules verstehen, englisch:
http://opentodo.net/2012/10/snort-f...ratch-part-iii/

Messen der Netzwerk-Performance mit IPerf, englisch:
http://opentodo.net/2012/08/test-ne...nce-with-iperf/

Master99

verträumter realist
Avatar
Registered: Jul 2001
Location: vie/grz
Posts: 12689
danke für die ausführliche anleitung... willst du später noch mehr services drauf laufen lassen oder wieso 8 GB ram bzw. hdd statt kleine ssd/cf...?

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
wäre noch interessant zu wissen ob das hw-setup problemlos mit pfsense funktionieren würde.

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6491
Gebrauchte HDD um die Kosten niedrig zu halten und außerdem ist es ein Projekt um selbst zu lernen. Es wird vieles geloggt, deshalb eine normale 2,5" HDD mit 250 GB, der auch viele Schreibvorgänge nichts ausmachen. Erstmal werde ich die Möglichkeiten von IPFire ausloten. Die Features Multi-WAN, LoadBalancing und transparente Layer2-Firewall von pfSense brauche ich derzeit nicht. 8 GB RAM weil RAM quasi ewig hält und ich das Gerät gerne länger nutzen würde.

Edit: Und ja, es werden mehr Services dazu kommen.

schizo

Produkt der Gesellschaft
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 2554
Hast du die Möglichkeit, einen Site to Site VPN aufzubauen und dabei den Durchsatz zu messen?

sts


Registered: Feb 2008
Location: Lima
Posts: 197
danke für die Anleitung, top!

t3mp

I Love Gasoline
Avatar
Registered: Mar 2003
Location: upstairs
Posts: 6284
Awesome! Ich spiele derzeit auch mit dem Gedanken, und bin auf folgendes board gestoßen: http://geizhals.at/supermicro-x10sb...o-a1095757.html

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6491
Zitat von schizo
Hast du die Möglichkeit, einen Site to Site VPN aufzubauen und dabei den Durchsatz zu messen?

Mit VPN-Durchsatz kann ich derweil nicht dienen, weil ich nur eine öffentliche IPv6-Adresse habe, wegen erfolgter DualStack-Lite Umstellung bei UPC. Ich spiele mit dem Gedanken das Modem zur Bridge zu machen, aber dazu muss ich testen ob ich IPFire erfolgreich IPv6 und DHCPv6 beibringen kann.

UnleashThebeast

Mr. Midlife-Crisis
Avatar
Registered: Dec 2005
Location: 127.0.0.1
Posts: 3554
Sieht durchaus nach einem netten Projekt aus. Weitermachen!

pari

grml
Avatar
Registered: Nov 2002
Location: NÖ
Posts: 1710
der stromverbrauch wundert mich, der bay-trail nuc verbraucht 4-10W: http://www.computerbase.de/2014-02/...y-trail-test/3/

der hat aber nur einen gbit-anschluss, aber mit einem usb-100mbit-rj45 adapter fürs modem könnte man den auch als router verwenden und hätt nur den halben stromverbrauch.

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6491
Der Stromverbrauch ist deshalb so "hoch", weil das Netzteil von dem LC-Power-Gehäuse schlecht ist, aber es gibt kein günstiges DC-Board mit Dual-Gigabit :(

Habe bereits heute 150 Mbit Downstream und mich daher gegen 100 Mbit-Komponenten entschieden.

pari

grml
Avatar
Registered: Nov 2002
Location: NÖ
Posts: 1710
ist dual-gbit wirklich notwendig? meine internetverbindung ist < 100mbit, da würd so usb-ethernet-dongle reichen ;)

*edit* ah, ok ;)

schizo

Produkt der Gesellschaft
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 2554
Zitat von mr.nice.
Mit VPN-Durchsatz kann ich derweil nicht dienen, weil ich nur eine öffentliche IPv6-Adresse habe, wegen erfolgter DualStack-Lite Umstellung bei UPC. Ich spiele mit dem Gedanken das Modem zur Bridge zu machen, aber dazu muss ich testen ob ich IPFire erfolgreich IPv6 und DHCPv6 beibringen kann.

Wenn du es schaffst nen Tunnel aufzubauen würde mich das Ergebnis interessieren.
Leider unterstützen die J1900 noch kein AES-NI, damit sollte eigentlich noch mehr drin sein.

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6491
Zitat von t3mp
Awesome! Ich spiele derzeit auch mit dem Gedanken, und bin auf folgendes board gestoßen: http://geizhals.at/supermicro-x10sb...o-a1095757.html

Das Supermicro-Board ist deutlich besser von der Ausstattung. PCIe 2.0 x8 statt PCI-Slot, Dual Gigabit NIC von Intel statt von Realtek, Raid 0/1/10 tauglich, HDMI + Display-Port statt VGA+DVI-Anschluss, besserer Audio-Chip. Kostet aber knapp das Doppelte vom Gigabyte-Board. Ich muss dazu sagen, dass die RTL8111F NICs auch sehr ordentlich performen.

schizo

Produkt der Gesellschaft
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 2554
Die Ausstattung is halt beim Einsatz als Router bis auf den PCIe Slot bei Routern eher zu vernachlässigen.
Das Onboard Raid wird nicht viel besser als ein SW Raid performen und Audio/Video brauch ich bei nem Router nicht wirklich.
Bei alltagsüblichen Bandbreiten bringen die Intel NICs auch keinen Performancegewinn.

Allerdings hab ich grad noch ein paar Mainboards mit AES-NI und IPMI Interface gefunden, die kostenmäßig dann allerdings nochmals in nem anderen Preisbereich angesiedelt sind.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz