OpenWRT: Routing in bestimmtes IP-Subnetz blockieren?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Daher würde ich gerne eine Firewall-Regel mit iptables anlegen, welche
zwar ein Routing durch das Netz erlaubt (um auf das Internet
zuzugreifen), aber kein direktes Routing in das Netz 10.0.1.0/26.

Und warum machst du das nicht einfach?

OpenWRT bringt meine ich sogar ein grafisches iptables Frontend mit.

Src: 10.0.2.0/28
Dest: 10.0.1.0/26
Service/Port: any
Action: Drop

Obiges dient der Veranschaulichung, den genauen Wortlaut der OpenWRT GUI habe ich nicht parat, aber das sollte sich recht einfach bauen lassen.

SYSCrashTV 
Fragesteller
 31.12.2016, 16:09

So, habe einfach noch ein wenig mit dem grafischen Panel gespielt und habe es nun korrekt hinbekommen. Keine Ahnung, ähnlich habe ich es schon einmal versucht, Resultat war bei mir etwa kein Internetzugang oder Zugriff auf das Netz 1.

Ich habe es nun so eingerichtet, dass der Traffic, welcher aus der Firewall-Zone (Gast) kommt und nach 10.0.1.0/26 geht gedropt wird. Wenn ich den Quellbereich 10.0.2.0/28 direkt angebe funktioniert die Sperre nicht. Selbes Spiel, wenn ich als Source und Destination beide Zonen (Gast und Home) setze, welche auf die beiden Interfaces eingerichtet sind...

Whatever. Danke für die Antwort, dann war ich mit meinem Ansatz ja schonmal nicht ganz auf dem falschen Weg..

1

Ich verstehe den Halb-Satz "da ich auch das Routerinterface selbst sperren möchte" nicht.

Wenn ich deine Idee halbwegs verstanden habe möchtest du, dass der wrt für das 10.0.2.0/28 das defaultgateway ist und Verkehr der für 0/0 bestimmt ist an 10.0.1.1 (sein defautgateway leitet), 10.0.1.1 soll diesen Verkehr natten. Aus Netz 2 soll keiner (auch aus Zufall) auf 10.0.1.0/26 zugreifen können?

Ideen:

in Netz 1 keine Route nach 10.0.2.0/28 setzen. Dann brauchst du auch keine Firewallregel.

auf dem wrt mit

# iptables -t nat -A POSTROUTING -o eth0 -d 10.0.1.1 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward

Nat und Forwarding einschalten. Eth0 soll mal das Interface zum Netz 1 sein, das muss angepasst werden

Wenn du lustig bist kannst du ja noch alles von netz eins zu netz zwei sperren, sollte aber nicht nötig sein.

# iptables -A FORWARD -s 10.0.1.1 -d 10.0.2.0/28 -j ACCEPT
# iptables -A FORWARD -s 10.0.1.0 -d 10.0.2.0/28 -j DROP

Den Verkehr zwischen Dsl-Router und wrt musst du schon durchlassen, sonst geht es mit dem Internet nicht.

SYSCrashTV 
Fragesteller
 30.12.2016, 00:23

http://www.directupload.net/file/d/4585/jkzm49n6_png.htm

Nein, das Problem ist nicht, dass ich das Netz 2 aus Netz 1 aufrufen kann, das ist ein NAT.

Problem ist, dass das Netz 2 hat hinter dem Netz 1 steht und über die WAN-Adresse des APs geht und dann erst über den Router ins Internet hoppt. Dadurch kann ich halt auch alle Gerät im Netz 1 aufrufen, was ich gerne verhindern würde. Trotzdem soll der Verkehr halt über den Router in Netz 1 laufen, da ich sonst keine Internetverbindung habe. Die verwendete FRITZ!Box hat leider kein VLAN und ein 2. Kabel für den Gast-LAN-Port geht leider auch nicht.

0
flaglich  30.12.2016, 00:50
@SYSCrashTV

Netzwerk funktioniert idR bidirektional. Es muss in beide Richtungen funktionieren. Wenn kein Rechner aus Netz 1 eine Route in Netz 2 hat, kann auch kein Rechner aus Netz 2 Geräte in Netz 1 aufrufen. D.h. aufrufen können sie schon, aber da sie nie eine Antwort erhalten geben sie nach dem Timeout auf.

Wenn du allen Verkehr von netz 2 nattest, können die natürlich Geräte in Netz 1 erreichen, also lass das. Die Formulierung meiner nat-regel ist da etwas anders, vielleicht funktioniert es genau so. Wenn nicht musst du die Regel 3 und 4 noch etwas umstellen.

Den Aufbau hatte ich mir übrigens so vorgstellt wie in deiner Skizze.

0