Im Moment schreibe ich mir ein kleines Debian mit debootstrap und ein paar Scripten um mit einem Wrap wrap1e203 von PC Engines einen Router zu betreiben.
Vorab zu Wissen
Ich habe letzte Woche mein WRAP verkauft, wollte aber die Gedächtnissstütze nicht einfach löschen.
Der Artikel ist nicht komplett ausgearbeitet, sprich rsyslog etc. Debian als Router mit PCEngines WRAP sollte als Image damit laufen.
Somit hoffe ich, dass sie vielleicht doch noch Jemand zu nütze ist.
Hardware
WRAP1e203
CPU: 233 MHz AMD Geode SC1100 CPU
DRAM: 128 MB SDRAM
Speicher: CompactFlash card
Stromanschluss: DC oder passives POE, min. 7V max. 20V
Management: Watchdog timer in der CPU; LM77 Thermalsensor
Drei LEDs auf der Vorderseite, Ein kleiner Druckknopf
Erweiterungen: 1 miniPCI slot, LPC bus, I2C bus
Netzwerk: 3 NICs (National DP83816)
Größe: 152.4 x 152.4 mm
Das WRAP ist der Vorgänger des Alixboards
Ein WRAP ist bei mir vorhanden und nach dem Umzug steht leider kein Geld für ein Alix zur Verfügung, irgendwann kommt auch das.
Wieso
Zuviel Zeit.
Nein, ich brauche einen einfach Proxy und eine Instanz welche mich mit dem geringsten Stromverbrauch vor dem bösen im Internet schützt.
Ich nehme ein Debian, weil ich Unterstützung für IPV4 und IPv6 und im Moment pfSense jene nicht bietet erst seit dem Update auf 2.1 bietet.
Erst die Version 2.1 wird mir die Unterstützung bieten und im Moment ist leider danke des Modem der KabelBW auch nicht an ein openVPN für Android oder iPhone zu denken
Die Aufgaben
– Squid nicht für typische Proxyaufgaben, nur für squidGuard
– Eigener DNS-Server und DHCP-Server
– Firewall
Herangehensweise
Die ist in dem eigentlichen Sinne keine Anleitung, sondern nur ein kleiner Einblick/Überblick.
Von Copy’n’Pasteanleitungen halte ich nicht viel.
Ich bin mir aber sicher, dass mit einem kleinen Einstieg und einen Fingerzeig auf die Dinge welche auf einem zukommen, hat man einen Anfang und kann lernen und durchstarten.
Und ich bin → nicht für die Sicherheit Eures Netzwerkes zuständig.
CFKarte bekommt eine komplette Partition, ext2 reicht.
Wird in das System ( mkdir /mnt/cf && mount /dev/SDKARTENPARTITION) eingebunden und per
debootstrap --arch i386 wheezy /mnt/cf http://ftp2.de.debian.org/debian/
wird ein minimales Debian aufgespielt.
chroot vorbereitet:
root@takeshi:/home/seraphyn# mount sysfs /mnt/cf/sys -t sysfs root@takeshi:/home/seraphyn# mount -o bind /dev /mnt/cf/dev root@takeshi:/home/seraphyn# mount -o bind /dev/pts /mnt/cf/dev/pts root@takeshi:/home/seraphyn# mount proc /mnt/cf/proc -t proc
In das erstellte System wechseln
chroot /mnt/cfcard /bin/bash
Passwort für root ändern, Anwendungen installieren und für das erste booten konfigurieren
passwd aptitude install console-setup language-env locales localepurge dpkg-reconfigure locales dpkg-reconfigure tzdata
pico /etc/kernel-img.conf # Kernel image management overrides # See kernel-img.conf(5) for details do_symlinks = yes relative_links = yes do_bootloader = no do_bootfloppy = no do_initrd = yes link_in_boot = no
aptitude install linux-image-486 openssh-server
/etc/default/grub erweitern
GRUB_DEFAULT=0 GRUB_TIMEOUT=0 GRUB_CMDLINE_LINUX_DEFAULT="quiet console=ttyS0,38400n8 reboot=bios"
aptitude install grub2
Vorübergehende Adresse einrichten um das System zu vervollständigen und zu testen.
Später noch die DMZ einrichten
# /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.118 netmask 255.255.255.0 gateway 192.168.0.1 auto eth1 iface eth1 inet dhcp auto eth2 iface eth2 inet dhcp auto eth3 iface eth3 inet dhcp auto eth4 iface eth4 inet dhcp
Eintrag in /etc/modules, die LEDs sollen funktionieren
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. # Parameters can be specified after the module name. ledtrig-default-on ledtrig-heartbeat ledtrig-gpio ledtrig-timer leds-wrap
rsyslog konfigurieren, damit die Logs auf den im internen Netz befindlichen Syslogserver geschrieben werden.
Wenn dies nicht gewünscht ist, würde ich raten die Logs abzuschalten.
Schauen was wir nicht brauchen, aber installiert ist
aptitude search '!?essential'|grep ^i
deborphan und debfoster können hier sehr gute Freunde sein
Das System aufräumen und ein Backup per
dd if=/dev/sdc | gzip > ./debian1921680118_WR4P_RAW.img.gz
machen.
Wie geht es nun weiter
Ab hier kann man sich entscheiden, welche Firewall man nehmen möchte und ob die weiteren Partner ein rudimentäres dnsmasq ist, oder ein richtiger dhcp3-server mit einem DNS wie bind oder PowerDNS etc es sind, welche einen nun täglich begleiten sollen.
dnsmasq hatte ich immer gerne als DNS-Server genommen und den DHCP3-Server als DHCP-server.
Irgendwie ist die Konfiguration von dnsmasq als DHCP… mag ich einfach nicht, obwohl man sich einen Dienst spart.
Die Konfiguration ist mir mit dem normalen DHCP3-Server gewohnter.
Als Firewall kann man sich auf die schnelle selbst ein Script schreiben, Shorewall oder fwbuilder nehmen.
fwbuilder hat seine Vorteile, denn als Administrator kann man mit dieser Anwendung auch seine Cisco, BSD-Maschinen etc remote administrieren. Meiner Meinung nach großes Kino. Es wird aber Fachwissen vorrausgesetzt.
Damals hat mir den kompletten Durchblick in iptables das Buch
„Das Firewall Buch. Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux“ von Wolfgang Barth erleichtert (( Das Firewall-Buch.: Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux. bei Google Books)). Für mich immer noch eines der besten Bücher, wobei ich glaube, dass IPv6 nicht in dem Buch vorkommt.
Aber wer es für LAU findet, zugreifen und später IPv6 lernen ;)
fail2ban und Konsorten kann man ignorieren, denn alle Dienste, wie z.B. der DNS und z.B. SSH sollte nur auf die interne Adresse lauschen (ListenAddress) und nach besten Gewissen abgesichert werden. Auch werden keine Dienste in Richtung Internet angeboten.
Meine Meinung ist, wer das für sich ändern möchte, kann dies natürlich tun ツ
Wer eine nicht wirklich mit Updates versorgte proprietär betriebene Maschine ( EOL = End of Lifecycle), wie z.B. ein NAS von DLink etc, besitzt, sollte für diese den Internetzugang am besten verbieten.
Schafft das WRAP die Aufgabe ?
Ohne wirklich große Arbeit hat die WRAP noch 100MB für das Dasein als Router vorhanden.
Ausreichend bei mir bis Dato, sobald die KabelBW Ihren Aufgaben nachkommt, kann man wieder große Geschütze auffahren.
Ich kann es kaum erwarten