virtueller Router mit M0n0Wall

 

Wenn man mit mehreren Leuten in einer Familie einen Internetzugang teilt, möchte man sicher auch per VoiceOverIP (VoIP) z.B. mittels Skype telefonieren, während eine andere Person mit einem anderen Rechner auf Youtube surft.

Jetzt ist aufgrund der finanziellen Lage oder aufgrund des schlechten Bandbreitenausbaus auf dem Land nicht mehr als eine 2Mbit-Leitung im Budget, da kommt es also vor, dass beim skypen oder beim zocken die Datenpakete nicht korrekt weitergeleitet werden, wenn man gleichzeitig auf Youtube surft oder einen Download laufen lässt. Dieses Problem lässt sich mit Quality of Service (QoS) relativ einfach beheben; man kann damit bestimmten Paketen, die auf bestimmten Ports liegen oder Paketen, die mit einem bestimmten Protokoll arbeiten, eine höhere Priorität zuweisen. Somit werden Skype-Pakete oder Gaming-Pakete den Datenpaketen von Youtube-HTTP-Verbindungen bevorzugt und dürfen immer zuerst passieren.

Es gibt mittlererweile im Handel einige Router, die QoS beherrschen. Allerdings kostet so ein Router auch etwas mehr, als ein Router ohne diese Funktion. Auch sind die meisten Router ausschließlich auf das Einstellen von Ports beschränkt, was z.B. die Bevorzugung von Skype etwas schwierig werden lässt. Es gibt allerdings eine kostenfreie Alternative: M0n0Wall. Das ist ein Open-Source-Router, der auf FreeBSD basiert. Damit lässt sich ein beliebiger Rechner in einen Router umfunktionieren. Zusätzlich besitzt M0n0Wall die Möglichkeit ein beliebiges Protokoll zu bevorzugen, z.B. UDP für Skype und Counterstrike.

Um das ganze mit meinem Netbook testen zu können, habe ich mit VirtualBox eine virtuelle Maschine im Bridged-Modus angelegt. Das bedeutet, dass ich die virtuelle Maschine innerhalb meines Netzwerkes (auch im WLAN) anpingen kann und ihre Services mitbenutzen kann. Sie verhält sich im Netzwerk also wie ein gewöhnlicher, physikalisch existenter Rechner. Die virtuelle Festplatte gibt es bereits vorkonfiguriert hier (http://m0n0.ch/wall/downloads.php unten auf der Seite unter dem Punkt generic-pc-vm, wichtig ist hier das "vm"!!).

Wenn die virtuelle Festplatte heruntergeladen wurde, legt man in VirtualBox eine neue virtuelle Maschine an und stellt als Betriebssystem FreeBSD ein. 128MB RAM genügen. Wichtig ist nun noch, dass man als Netzwerkadapter (NIC) den "Intel PRO/1000 T Server (82543GC)" auswählt, da nur dieser kompatibel mit M0n0Wall ist. Außerdem ist wichtig, dass das Hostsystem zwei Netzwerkadapter besitzt, da man zwei virtuelle Netzwerkbrücken aufbaut, die jeweils auf die zwei physikalischen Netzwerkadapter gemappt werden. Nun kann man die virtuelle Maschine starten.