Zugriff auf WLAN gestatten, aber nicht auf LAN - mit IPTables ?

kleriker

Grünschnabel
Hallo Leute,

Ich möchte Internet über WLAN zulassen, aber nicht den LAN-Zugang. Dieser soll anhand der Mac-Adresse gesperrt werden. Das ganze soll in meinem Router eingestellt werden: LinkSys WRT54GS mit Custom Firmware (Firmware Version: v4.71.1, Hyperwrt 2.1b1 + Thibor15c). Mit der Firmware hat man die Möglichkeit Linux-Befehle auszuführen. Ich habe gestern schon mit einem Kumpel experimentiert, aber wir haben es nur geschafft, den Rechner komplett auszusperren:

iptables -I INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP


Danach hat er nochmal weiterprobiert und hat diesen Befehl zusammengestellt, der aber leider nicht funktioniert:

iptables -I FORWARD 1 -m mac --mac-source xx:xx:xx:xx:xx:xx -m iprange --dst-range 192.168.0.1-192.168.0.99 -j DROP


Ich hoffe einer von Euch kann mir hier weiterhelfen, wäre echt klasse.

Gruß,
Alex
 
Da Du die Moeglichkeit hast Linux-Befehle auszufuehren schau doch mal mittels ifconfig welche Netzwerk-Interfaces existieren.
Dort solltest Du mindestens 4 finden: ein Loopback-Interface, eines fuer das LAN, eines fuer das WLAN und eines fuer das Internet.
Nun musst Du Deine IPTables-Regel so anpassen dass die MAC-Addresse nur ueber das WLAN-Interface (moeglicherweise wlan0) zugreifen darf. Ueber lo, das Loopback-Interface, und ueber das Internet-Interface (moeglicherweise ppp0) kann es eh nicht zugreifen, bleiben also nur das LAN-Interface (wahrscheinlich eth0) und eben das WLAN-Interface. Es reicht wenn Du Deine Regel anpasst sodass die MAC auf dem LAN-Interface gesperrt wird.

"Hoeflicher" ist es uebrigens REJECT statt DROP zu nehmen, vor allem da Du ja im LAN arbeitest. Dort bekommt der Rechner dann noch eine Info dass er nicht verbinden kann und muss nicht auf einen Time-Out warten um dies selbst zu merken.
Es duerfte uebrigens auch noetig sein diese Regel in FORWARD zu definieren, denn dort kommen Pakete an die durch den Rechner/Router gehen.
 
Hallo,

erstmal danke für deine Antwort. Ifconfig hat mir folgendes ausgeworfen:

br0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:79439787 errors:0 dropped:0 overruns:0 frame:0
TX packets:94026390 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:370212536 (353.0 MiB) TX bytes:595886576 (568.2 MiB)
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:173735050 errors:10 dropped:0 overruns:10 frame:10
TX packets:173305673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4147461189 (3.8 GiB) TX bytes:2953389872 (2.7 GiB)
Interrupt:4 Base address:0x1000
eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171489 errors:0 dropped:0 overruns:0 frame:411311
TX packets:856404 errors:509 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:24196374 (23.0 MiB) TX bytes:455412927 (434.3 MiB)
Interrupt:2 Base address:0x5000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX packets:1180 errors:0 dropped:0 overruns:0 frame:0
TX packets:1180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:85216 (83.2 KiB) TX bytes:85216 (83.2 KiB)
ppp0 Link encap:point-Point Protocol
inet addr:xx.xx.xx.xx P-t-P:xx.xx.xx.xx Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1492 Metric:1
RX packets:25517 errors:0 dropped:0 overruns:0 frame:0
TX packets:20897 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:15433375 (14.7 MiB) TX bytes:5564022 (5.3 MiB)
vlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:79315998 errors:0 dropped:0 overruns:0 frame:0
TX packets:93850543 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:683978862 (652.2 MiB) TX bytes:763769001 (728.3 MiB)
vlan1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:169.254.1.7 Bcast:169.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1
RX packets:94419052 errors:0 dropped:0 overruns:0 frame:0
TX packets:79455130 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:336251427 (320.6 MiB) TX bytes:2189620871 (2.0 GiB)


Leider habe ich überhaupt keine Ahnung von den IPTables. Die oben genannte Befehlszeile hat ein Kumpel für mich erarbeitet, der aber dann auch nicht mehr weiterkam. Deshalb wäre es wirklich nett, wenn du mir vielleicht mal einen passenden Befehl schreiben könntest. Das ganze ist auch für kein Firmennetz gedacht. Es geht einfach nur darum, dass wir unseren Feriengästen den Internetzugang über WLAN gestatten wollen, sie aber kein Zugriff auf unser LAN haben sollen.

Gruß,
Alex
 
Zuletzt bearbeitet:
Viele IPs sieht man da ja jetzt nicht bei den ganzen Interfaces.
Ich nehme mal an, dass Du ppp0 selbst maskiert hast, richtig?

Ueber welche IPs ist der Router denn so erreichbar? Also vom LAN und vom WLAN.
Wenn Du verschiedene Subnetze nutzt sollte das schon reichen. Du kannst aber auch per IPTables festlegen dass eine Kommunikation von NetzA zu NetzB nicht erlaubt ist, und zwar in der Kette FORWARD, welche ja fuer Verbindungen ist die durch den Router gehen.
Wenn wir mal annehmen, dass hier br0 Dein Interface zum LAN und vlan1 zum WLAN geht kannst Du dies z.B. so verhindern.
Code:
iptables -A FORWARD -i br0 -o vlan0 -j REJECT
Um sicherzustellen, dass diese Regel nicht von anderen ausser Kraft gesetzt wird kannst Du sie an den Anfang der FORWARD-Kette setzen, und zwar so:
Code:
iptables -I FORWARD 1 -i br0 -o vlan0 -j REJECT
 
Ich nutze nur ein Subnet. Die IP bei ppp0 habe ich editiert, sowie die ganzen mac-adressen. Der Router ist über WLAN und LAN unter 192.168.0.254 erreichbar.

Was mir gerade noch als Alternative einfällt: Ich habe noch einen AP, den ich momentan nicht benutze. Den könnte ich doch für die Ferienwohnung zurecht machen. Wenn ich den AP nun per LAN-Kabel an den Router anschließe, könnte man dann nicht vielleicht per IPTables regeln, dass dieser LAN-Anschluss nicht auf die anderen zugreifen kann ? Die frage ist dann nur, ob die WLANs, die ja dann unterschiedlich konfiguriert sind, sich nicht untereinander stören.
Naja wie gesagt, nur eine Alternative.

Gruß,
Alex
 
Achso, ich will nochmal dazusagen, falls das jetzt falsch verstanden wurde, ich will nur bestimmte Rechner ausschließen (die der Gäste). Ich will dennoch weiterhin über mein Laptop per WLAN auch aufs LAN zugreifen können. Also keine generelle Sperrung!
 
Also sowohl das LAN als auch das WLAN nutzen das Netz 192.168.0.0, richtig?
Dann musst Du auf jeden Fall mit IPTables arbeiten um die Kommunikation zu unterbinden.
Willst Du nur mit Deinem Laptop vom WLAN auf das LAN zugreifen oder auch noch mit anderen Rechnern?

Falls nur mit dem Notebook wuerde ich empfehlen die MAC des Notebooks zuzulassen und eben alles andere zu blocken.

Das folgende sollte alles was von br0 kommt und nicht nach ppp0 rausgeht und nicht von Deinem Notebook kommt ablehnen.
Code:
iptables -I FORWARD 1 -i br0 -o ! ppp0 -m mac --mac-source ! NOTEBOOK_MAC -j REJECT
 
Ja WLAN und LAN nutzen das gemeinsame Netz.

Es sind zwar mehrere Rechner in unserem Haushalt, die auch über WLAN zugreifen, aber deine Lösung gefällt mir sehr viel besser, denn meine Rechner ändern sich ja nicht soo schnell, somit ist die Arbeit nur einmal da, während wir ständig wechselnde Gäste haben.

Also kann ich diese Befehlszeile für alle meine Rechner eingeben ?

Gruß,
Alex
 
Wenn Du mehrere Rechner hast wuerde ich eine Reihe von Regeln als Whitelist einrichten und anschliessend alles andere verbieten.
Z.B. so:
Code:
iptables -I FORWARD 1 -m mac --mac-source ALLOWED_MAC_1 -j ACCEPT
iptables -I FORWARD 2 -m mac --mac-source ALLOWED_MAC_2 -j ACCEPT
...
iptables -I FORWARD X -i br0 -o ! ppp0 -j REJECT
Das X steht hier natuerlich fuer die Stelle an der dann diese Regel effektiv eingefuegt wird, welche natuerlich abhaengig von der Anzahl der MAC-Addressen in der Whitelist ist.
 
Hmm ... mir ist gerade die Idee gekommen, dass das im Grunde ja nicht wirklich sicher ist, denn die MAC Adresse lässt sich ja sehr leicht am Rechner ändern. Deshalb doch nochmal die Alternative: Wäre es mögliche einen Lan Anschluss am Router so einzurichten, dass der nicht auf die anderen Zugreifen kann ?
Dann könnte ich am AP ein anderes WPA Passwort einrichten und die WLANs wäre sozusagen von einander getrennt.

Nochmals danke für deine tolle Hilfe.

Gruß,
Alex

EDIT: Jetzt ist mir gerade ne ganz "blöde" Idee gekommen: Kann ich nicht die MAC des APs für den LAN Zugang sperren ? Würde ich damit auch die per WLAN verbundenen Rechner fürs LAN ausschließen ?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück