[Gelöst] 7490 freetz iptables IPv6

RoUGhFiSh

Neuer User
Mitglied seit
29 Mrz 2008
Beiträge
24
Punkte für Reaktionen
0
Punkte
1
Hallo,

Ich versuche einen MAC Filter fürs LAN hinzubasteln. Dazu will ich iptables verwenden.
Ich habe dafür etwa das Folgende unter Freetz->rc.custom eingetragen:

Code:
modprobe ip_tables
modprobe ip6_tables
modprobe iptable_filter
modprobe ip6table_filter
modprobe x_tables
modprobe xt_tcpudp
modprobe iptable_mangle
modprobe ip6table_mangle
modprobe xt_mac

            ############## Allow local requests ###############

iptables -t mangle -A PREROUTING -d 172.16.0.0/22 -j ACCEPT

            ############## Allow specific MACs to be routed to the WWW ###############

iptables -t mangle -A PREROUTING -s 172.16.0.0/22 -m mac --mac-source 01:23:45:67:89:AB -j ACCEPT

             ############## DROP the rest ###############

iptables -t mangle -A PREROUTING -s 172.16.0.0/22 -j DROP

Das funktioniert auch ganz gut so weit.
Das Problem ist nun aber, dass ich dasselbe auch für IPv6 brauche.

Ich habe das ganze via Telnet direkt mit ip6tables probiert. Das folgende habe ich eingegeben um ersteinmal zu gucken ob es prinzipiell funktioniert:

Code:
ip6tables -t mangle -A PREROUTING -s ::/0 -j DROP

Danach wurde auch jeglicher IPv6 Traffic fallen gelassen. Danach habe ich diese Regel wieder entfernt und eine MAC Adresse freigegeben:
Code:
ip6tables -t mangle -D PREROUTING -s ::/0 -j DROP    # regel von davor entfernt mit -D
ip6tables -t mangle -A PREROUTING -s ::/0 -m mac --mac-source 01:23:45:67:89:AB -j ACCEPT

Das hat natürlich funktioniert, weil nun wieder alles akzeptiert wird, weil die DROP-Regel fehlt. Diese habe ich dann wieder hinzugefügt:

Code:
ip6tables -t mangle -A PREROUTING -s ::/0 -j DROP

Und nun funktionierte wieder nichts mehr, obwohl die eine MAC akzeptiert werden sollte.

Weiß einer warum das sein könnte? Vielleicht fehlt ein Modul oder es wurde falsche geladen?
Es handelt sich dabei übrigens um iptables v1.4.11.1

EDIT: Lösung gefunden

Das Problem war einfach nur, dass ich als Source IP "::/0" hatte. Dadurch wird die Antwort vom Server, den man anfragt natürlich fallen gelassen. Aber die Source IP lässt sich schlecht festlegen, da man immer eine anderes Prefix vom Provider zugewiesen bekommt. Dennoch ist die Lösung denkbar einfach. In der ersten Regel erlaubt man einfach jeglichen Traffic, der vom Internet (Das "dsl" Interface der Fritzbox) kommt:

Code:
ip6tables -t mangle -A PREROUTING -i dsl -s ::/0 -j ACCEPT

Danach können die Filterrgeln für die einzelnen MAC Adressen angelegt werden. Das ganze sieht dann in etwa so aus für IPv4 und IPv6:

Code:
modprobe ip_tables
modprobe ip6_tables
modprobe iptable_filter
modprobe ip6table_filter
modprobe x_tables
modprobe xt_tcpudp
modprobe iptable_mangle
modprobe ip6table_mangle
modprobe xt_mac

           ############## Allow local requests ###############

iptables -t mangle -A PREROUTING -d 172.16.0.0/22 -j ACCEPT

           ############## Allow incoming ipv6 traffic from the internet ###############

ip6tables -t mangle -A PREROUTING -i dsl -s ::/0 -j ACCEPT

           ############## MAC Filter ###############

#IPv4
iptables -t mangle -A PREROUTING -s 172.16.0.0/22 -m mac --mac-source 01:23:45:67:89:AB -j ACCEPT
#IPv6
ip6tables -t mangle -A PREROUTING -s ::/0 -m mac --mac-source 01:23:45:67:89:AB -j ACCEPT

#drop the rest
iptables -t mangle -A PREROUTING -s 172.16.0.0/22 -j DROP
ip6tables -t mangle -A PREROUTING -s ::/0 -j DROP
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,118
Beiträge
2,246,397
Mitglieder
373,604
Neuestes Mitglied
thommy_63
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.