Hallo zusammen,
gegeben sei ein Host der als Router fungiert und zwischen diversen internen Netzen und einem externen Netz, wir nennen es mal Internet, vermitteln soll.
Der Traffic soll per ipfw geregelt werden.
Wir sagen mal wir haben drei Interne Netze 10.10.10.0/24; 10.10.20.0/24 und 10.10.30.0/24.
Dazu gibt es ein Netz das nach draußen geht. Da es tatsächlich ein privates Zwischennetz ist nennen wir es mal 192.168.0.0/24. Dieses ist als defaltroute gesetzt.
Das Routing zwischen den Netzen funktioniert, nun geht es darum die Netze per ipfw sauber getrennt zu halten, bzw. nur expliziten Traffic zu erlauben.
Mein Problem ist nun wie ich am besten mit dem Traffic umgehe.
So soll es bestimmte Dienste geben die zwischen den internen Netzen kommunizieren dürfen (z.T. mit Sessionaufbau nur aus einer Richtung) und zum Teil sollen die Dienste nur in Richtung des externen Netzes kommunizieren dürfen. Die defaultrule ist deny.
Wir nehmen an, das 10er Netz soll nur mit der Außenwelt per Port 80 sprechen dürfen:
Wenn ich nun Regeln der Art schreibe
dann kann das 10er Netz auch mit den anderen Netzen kommunizieren. Das soll es es aber nicht.
Wenn ich statt dessen eine Regel in der Art schreibe
dann würde ich es zwar nur über das $extern Interface zulassen... Aber ich blocke es bereits beim Eintreffen in den Kernel (noch bevor das Routing eigentlich erfolgt).
Was ist der beste Weg um sowas übersichtlich zu definieren und vernünftig filtern zu können?
gegeben sei ein Host der als Router fungiert und zwischen diversen internen Netzen und einem externen Netz, wir nennen es mal Internet, vermitteln soll.
Der Traffic soll per ipfw geregelt werden.
Wir sagen mal wir haben drei Interne Netze 10.10.10.0/24; 10.10.20.0/24 und 10.10.30.0/24.
Dazu gibt es ein Netz das nach draußen geht. Da es tatsächlich ein privates Zwischennetz ist nennen wir es mal 192.168.0.0/24. Dieses ist als defaltroute gesetzt.
Das Routing zwischen den Netzen funktioniert, nun geht es darum die Netze per ipfw sauber getrennt zu halten, bzw. nur expliziten Traffic zu erlauben.
Mein Problem ist nun wie ich am besten mit dem Traffic umgehe.
So soll es bestimmte Dienste geben die zwischen den internen Netzen kommunizieren dürfen (z.T. mit Sessionaufbau nur aus einer Richtung) und zum Teil sollen die Dienste nur in Richtung des externen Netzes kommunizieren dürfen. Die defaultrule ist deny.
Wir nehmen an, das 10er Netz soll nur mit der Außenwelt per Port 80 sprechen dürfen:
Wenn ich nun Regeln der Art schreibe
Code:
ipfw add allow tcp 10.10.10.0/24 to any 80 setup keep-state
Wenn ich statt dessen eine Regel in der Art schreibe
Code:
ipfw add allow tcp 10.10.10.0/24 to any 80 out via $extern setup keep-state
Was ist der beste Weg um sowas übersichtlich zu definieren und vernünftig filtern zu können?