|
|
Installation und Konfiguration von Shorewall (Firewall) unter Openwrt
kurze Beschriebung von shorewall
Shorewall ist ein Programm das anhand einiger Konfigurationsdateien (in /etc/shorewall/)
iptables Regeln erstellt und aktiviert.
Wenn wir die Konfiguration verändert haben müssen wir shorewall mit dem Befehl
/etc/init.d/S35shorewall restart neustarten. Dann wird shorewall die neuen configs
einlesen und entsprechend übernehemen.
ACHTUNG: Wenn Ihr shorewall erst ausschaltet /etc/init.d/S35shorewall stop und dann
wieder einscahltet /etc/init.d/S35shorewall start, werden die neuen configs nicht
übernommen sondern shorewall erstellt beim ausschalten eine Datei (restore), in der drinsteht mit
welche Regeln aktiv waren als shorewall ausgeschaltet wurde. Diese Datei wird dann beim
Start wieder eingelesen. Das ganze bringt einen Geschwindigkeitsvorteil beim Starten, da
nicht erst alle config abgearbeitet und in iptables Regeln übersetzt werden müssen.
Um die Grundlagen von shorewall zu verstehen sind die config Dateien interfaces, zones, rules
und policy interessant.
In zones wird festgelegt welche Zonen existieren. Eine Zone ist ein abgegrenzter Teil des
Netzwerk, also z.B. bestimmte einzelne Rechner können anhand ihrer IP Addresse einer Zone
zugeordnet werden, es ist auch möglich zu sagen alle die mit wlan verbunden sind, sind
eine Zone, alle die per Kabel verbunden sind, sind eine andere Zone und die dritte Zone
entählt die Rechner die im VPN eingeloggt sind.
Die Festlegung, wer in welcher Zone ist, wird in der Datei interfaces gemacht.
In der Datei policy werden die Grundregeln, also wer mit wem
kommunizieren darf, festgelegt.
In der Datei rules werden die Ausnamhen von den, in policy festgelegten, Regeln.
Installation von shorewall
Ein benötigtes Modul laden und anschalten:
ipkg install iptables-mod-extra
insmod ipt_LOG.o
Shorewall laden und installieren:
wget http://openwrt.homelinux.net/repository/shorewall_3.0.5-1_mipsel.ipk
ipkg install shorewall_3.0.5-1_mipsel.ipk
Konfiguration von shorewall
Die alte Firewall löschen:
rm /etc/init.d/S35firewall
Folgende Config Dateien an die genannten Stellen kopieren:
/etc/shorewall/interfaces
/etc/shorewall/masq
/etc/shorewall/policy
/etc/shorewall/rules
/etc/shorewall/zones
Diese Init Dateien kopieren:
/etc/init.d/S35shorewall
/etc/init.d/S98shorewallRE
Noch die Init Dateien ausführbar machen:
chmod +x /etc/init.d/S35shorewall
chmod +x /etc/init.d/S98shorewallRE
Und jetzt mal ausprobieren:
/etc/init.d/S35shorewall start
Die zweite Init Datei ist ein Workaround da es nur mit der normalen Init Datei
nicht automatisch funktioniert hatte.
Ich musste immer erst die Firewall neustarten nach einem Router Neustart.
Vermutlich hängt das mit dem mounten der SD Karte nach / zusammen.
Weiter mit dem Aufsetzen des macchangers.
|