iptables: mehrere MAC-Adressen als Quelle angeben?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
RaginRob
Beiträge: 27
Registriert: 22.02.2008 01:12:48

iptables: mehrere MAC-Adressen als Quelle angeben?

Beitrag von RaginRob » 23.11.2011 16:48:18

Hallo zusammen,

ich bastel gerade an meiner iptables-Firewall und würde gerne wissen, ob ich meine Regeln nicht ein wenig platzsparender definieren kann. Konkret geht es um folgendes: ich habe in meinem Netzwerk einen Linuxrechner als Router laufen, daran hängen mehrere Clients und gehen genattet ins Internet. Damit die Clients keinen Mist bauen, möchte ich u.a. bestimmte Webseiten (genauer: Domains) sperren und auf eine Warnhinweisseite auf dem lokalen Apache umleiten. So, dass beim Aufruf von z.B. movie2k.to meine Warnseite zu sehen ist.

Soweit klappt eigentlich alles, die Sperre greift und die Clients landen beim Aufruf einer gesperrten Seite auf meinem Webserver auf Port 81, wo die Warnseite liegt.

Hier ist die Regel dafür (Auszug):

Code: Alles auswählen

iptables -t nat -A PREROUTING -i eth0 -m mac --mac-source 00:0d:60:37:b3:1b -p tcp --dport 80 -d 193.99.144.85 -j DNAT --to 192.168.0.250:81
Wie zu sehen ist werden die gesperrten Clients über die MAC-Adresse identifiziert und die zu sperrende Webseite über die IP.

Kann ich:

1. mehrere MAC-Adressen in einer Regel angeben, wenn ja, in welchem Format?
2. mehrere IP-Adressen hinter -d, wenn ja, in welchem Format?
3. eine Liste mit IP-Adressen oder Hostnamen erstellen, damit ich diese hinter -d einbinden kann?

Das würde meine Tabellen wesentlich kleiner machen und vor allem einfacher zu verwalten. Danke für eure Tipps!

wilfried
Beiträge: 153
Registriert: 04.12.2009 12:32:16

Re: iptables: mehrere MAC-Adressen als Quelle angeben?

Beitrag von wilfried » 23.11.2011 18:22:27

versuchs mal so:
eine mac_addressen.list anlegen

Code: Alles auswählen

for MAC in `cat mac_addressen.list`; do
  iptables -t nat -A PREROUTING -i eth0 -m mac --mac-source  $MAC -p tcp --dport 80 -d 193.99.144.85 -j DNAT --to 192.168.0.250:81
done
event. wäre squid und squidguard besser für deine Zwecke geeignet?!
Debian testing (wheezy)
Kernel Linux 3.2.0-3-686-pae
Mainboard: Fujitsu D3041-A1
CPU: Intel Pentium Dual-Core E5800 @ 3.20GHz, 4 GB RAM
Grafik: ATI RV710 [Radeon HD 4350]
eth0: RTL8111/8168B PCI Express Gigabit Ethernet

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables: mehrere MAC-Adressen als Quelle angeben?

Beitrag von Gunman1982 » 24.11.2011 10:35:29

wilfried hat geschrieben:versuchs mal so:
eine mac_addressen.list anlegen

Code: Alles auswählen

for MAC in `cat mac_addressen.list`; do
  iptables -t nat -A PREROUTING -i eth0 -m mac --mac-source  $MAC -p tcp --dport 80 -d 193.99.144.85 -j DNAT --to 192.168.0.250:81
done
Bei dieser Lösung ist zu beachten das sofern die mac_adressen.list geändert wird auch nochmal das firewall script laufen lässt.

Antworten