Hamster's Homepage

m0n0wall PDF Drucken E-Mail
  
Mittwoch, den 02. September 2009 um 13:44 Uhr

Mein Vater betreibt einen Gasthof mit Hotel in dem ich des öfteren natürlich den ehrenamtlichen IT-Supporter spiele.
Vor ca. 2 Jahren wollte er den Hotelgästen kostenloses WLAN anbieten. Natürlich hab ich mich dann auf die Suche nach einer passenden Lösung gemacht.

Als erstes musste natürlich eine Firewall her die sein Privates Netzwerk vom WLAN-Netzwerk trennt. Einige zeit lang probierte ich mit der Firewall-Software IPCop herum.
Dieses Basiert auf einem Linux. Das funktionierte auch ganz gut allerdings hatte ich nur einen 300MHz PC übrig und der fraß mir zuviel Strom um den 24/7 laufen zu lassen.
Ein weiterer Punkt war das der IPCop kein Captive Portal unterstüzte (ich weis nicht ob es mittlerweile Plugins gibt)

Danach stieß ich auf eine Firewall namens m0n0wall. Diese basiert auf einem BSD und unterstüzt zudem noch ein eigenes Captive Portal und eine Userverwaltung ohne RADIUS-Server. Das beste noch zum schluss die m0n0wall läuft auf einem Soekris NET48xx, ein kleines embedded Board mit 3 NICs, CF-Karten slot, 256MB RAM und einem 266Mhz AMD Geode, das teil braucht keine 10Watt und ist somit auch für den Dauerlauf geeignet. Zack in Ebay rein, Bieten, Bieten, Bieten bei 110€ "Sie sind der höchstbietender!" 2-3 Tage später und 110€ ärmer. Los gehts :)

Erstaml das CF-Karten Image besorgt auf
www.m0n0.ch/wall und auf die Karte aufgespielt (es reichen glaub ich 8MB) mit Linux (für Windows physdiskwrite nutzen)
"gunzip -c generic-pc-xxx.img | dd of=/dev/hdX bs=16k"

PC und m0n0wall mit Null-Modem Kabel verbunden um zu sehen ob die Kiste bootet (Windows Hyperterminal oder ähnliches).
CF-Karte in den Slot und Saft drauf :)


Dann ist nur ein kleines Menü zu sehen in dem man die IP ändern, die Belegung der NICs ändern und die m0n0wall reseten kann mehr ist mit der Konsole nicht zu machen.

So ans Netzwerkkabel angestöbselt und in den Browser
http://IP-der-m0n0wall und dann sieht das ganze so aus. Den standart Login weis ich nicht mehr.Einfach mal in der Dokumentation von www.m0n0.ch/wall nachsehen.


Nach den ganzen Standart einstellungen wie Ports und IPs gehts an den Paketfilter.



Erstmal alles blocken. Dann port 80,443,53 und 8000 (Port für Captive Portal) erlauben damit einfaches surfen möglich ist und nix anderes.
Jetzt ans Captive Portal das gehört eigentlich nur aktivert und die gewünschte NIC ausgewählt. User im Usermanager erstellen und schon ist es Fast einsatzbereit.

Jetzt muss man noch eine Portalseite hochladen dich ich mal schnell zusammen gecodet und ein paar bildchen mit gimp gemalt und das sieht dann so aus. Hier kann sich dann Ein Gast mit den entsprechenden Daten einloggen.



Natürlich muss die Seite für den Loginform ein paar Parameter enthalten diese sind auf der CaptivePortal Einstellungsseite beschrieben.
Hier der Quellcode:
<html>
<body>
<div align="center"><img src="HotspotLogin.jpg" width="728" height="90" border="0" alt=""></div>
<br>
<br>
<br>
<table cellpadding="0" cellspacing="15" border="0" align="center" valign="middle" bgcolor="#B50503">
<form method="post" action="$PORTAL_ACTION$">
        <tr>
<td><font size="-1" color="#FFFFFF" face="Arial">Benutzername:</font><br><input type="text" name="auth_user" size="25"></td>
        </tr>
         <tr>
<td><font size="-1" color="#FFFFFF" face="Arial">Passwort:</font><br><input type="password" name="auth_pass" size="25"></td>
        </tr>
<tr>
<td></td>
</tr>
         <tr>
 <td><br><div align="right"><input type="submit" name="accept" value="Weiter" size="15"></div></td>
       </tr>
<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
</form>
</table>
<br>
<br>
<br>
<br>
 <div align="right">powered by<br><a href="http://m0n0.ch/wall"><img src="m0n0wall.gif" width="150" height="42" border="0" alt=""></a></div>
</body>
</html
>

So nach dem hochladen der Dateien ist das ganze eigentlich fertig.
ich musste noch extra LAN-Kabel in die 2 oberen Stockwerke ziehen damit ich dort Access-Points aufstellen konnte und somit den optimalen empfang in allen Zimmer
gewärleisten zu können. Als Access-Points verwendete ich 3 Linksys WRT54GL da die Access-Points einfach die besten sind und mit einem Linux (DD-WRT) sich bespielen
lassen und sich optimal für solche Sachen sich Konfigurieren lassen.

Hier noch ein Bild von der m0n0wall im Einsatz und mit Gehäuse:

 IMAGE_00171

 

Aktualisiert ( Freitag, den 11. September 2009 um 22:26 Uhr )