Hotspot (Whitelist) - iptables problem

mcandy007

New Member
Liebe Community,

Ich arbeite derzeit an einem kleinen Projekt um einen Raspberry PI "Hotspot" zu ermöglichen. Die Regelung sieht vor das jedoch nur eine einzige Domain besucht werden darf.

Mein derzeitiger Stand.

Hotspot mit hostapd läuft.
Squid(transparent) mit ACL rule läuft.
acl site dstdomain .domain.org
http_access allow site
deny_info http://domain.org/de/ all
http_access deny all
DHCP mit udhcpd eingerichtet - läuft
iptables routing.
Code:
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I INPUT -p udp -i wlan0 --dport 53 -j ACCEPT
iptables -I INPUT -p tcp -i wlan0 --dport 53 -j ACCEPT
iptables -I INPUT -p udp -i wlan0 --dport 67 -j ACCEPT
iptables -I INPUT -p udp -i wlan0 --dport 68 -j ACCEPT
iptables -I INPUT -p tcp -i wlan0 --dport 3128 -j ACCEPT
iptables -t nat -I PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -A INPUT -p tcp -i wlan0 -j DROP
iptables -A INPUT -p udp -i wlan0 -j DROP

Im Grunde funktioniert das Konzept bereits auch, ABER ich habe mit iptables paar Probleme.

Ich schaffe es einfach nicht sämtlichen anderen Traffic ausser PORT 80 zu blockieren.

z.b. SSL über 443 ist möglich, und einige Apps(Spiele) können trotzdem Ihre Verbindung zum Server aufbauen.

Ich glaube ich habe irgendwo einen kleinen Denkfehler gemacht.

Über eure Hilfe wäre ihr sehr dankbar.

Mit freundlichen Grüßen
Andre
 
Hi,

die Regeln, die das Routing betreffen sind nicht in der INPUT sondern in der Forwarding table. Probier mal so etwas wie:

iptables -P FORWARD DROP
iptables -A FORWARD -p tcp --destination-port 80 -j ACCEPT
iptables -A FORWARD -j REJECT
 
Danke für deine Antwort,

Könntest du mir bitte kurz erläutern wie du das genau meinst?

Habe mit deinem Ansatz bisschen herumprobiert jedoch passiert dann garnichts...

Mit freundlichen Grüßen
Andre
 
Hi,

es gibt drei Chains:

INPUT, OUTPUT und FORWARD

Input und Output beziehen sich ausschließlich auf Pakete, die direkt an Deinen Router adressiert sind oder von Ihm erzeugt werden. Pakete, die von Deinem Router weiter transportiert werden, passieren ausschließlich die "FOWARDING"-Chain. Genauere Informationen findest Du in der Iptables bzw. Netfilter Dokumentation.

Definiere bitte, was Du mit "passiert dann gar nichts" meinst.
 
Servus,

Mein Raspberry PI fungiert ja praktisch gesehen als Router. Also als gateway ist dessen IP eingetragen.

Also müsste es doch mit INPUT / OUTPUT auch funktionieren?

Könnte mir vielleicht jemand erklären was genau
Code:
iptables -t nat -A POSTROUTING -j MASQUERADE
bedeutet - Bin leider nicht noch voll der iptables noob.

Den solange diese Zeile fehlt funktioniert
Code:
iptables -t nat -I PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
nicht.

Ich bin langsam echt überfragt wie das lösen könnte...

Code:
Definiere bitte, was Du mit "passiert dann gar nichts" meinst.
Gar keine Verbindung - Alles geschlossen
 
Back
Top