PF icmp Regel Problem

radiohead

Well-Known Member
Moin mal wieder ;)

Habe im Moment folgende icmp Regel bei mir drin:

Code:
pass out log inet proto icmp all icmp-type echoreq

Ich möchte diese gerne so abwandeln, dass ich noch eine Quelle und ein Ziel definieren kann, wie zum Beispiel so:

Code:
pass out log inet proto icmp all icmp-type echoreq from $lan to any

Da bekomme ich aber immer ein Syntax error. Weiß jemand, wie man sowas bauen kann. Ich habe schon alle möglichen Kombinationen durch. Ich möchte im Prinzip von meinem LAN ein icmp Type 8 nach any erlauben. Mit dieser Regel dort oben, wird sogar ein ping durch einen IPSec Tunnel auf mein Netz erlaubt, deshalb wollte ich dies gerne einschränken können....
 
Machs doch andersrum würd ich jetzt sagen. Blocke einfach alle Packets dieses Typs, die nicht vom internen Netz kommen.
Code:
block in on !$internal_interface inet proto icmp icmp-type echoreq

Oder alternativ kannst du auch alles blocken, was von draußen kommt und zum internal_net will.
Code:
block out on $int_if inet proto icmp from !$internal_net to $internal_net icmp-type echoreq

Das wären jetzt meine Ideen aus dem Stehgreif.

Gruß
 
Aha! Habe die Regel weit nach oben gepackt und noch ein quick hinzugefügt. Klappt jetzt alles wunderbar...

Danke.

Aber warum man da nicht auch ein from to Statement machen kann wie bei anderen Regeln auch, weißt du auch nicht, oder?
 
Danke.

Aber warum man da nicht auch ein from to Statement machen kann wie bei anderen Regeln auch, weißt du auch nicht, oder?

np

Wieso? In der alternativen steht doch from und to drin und die funktioniert ebenfalls. Sie blockt allerdings nur die icmp-requests an das interne Netz $internal_net. Der Router selbst reagiert noch drauf und etwaige weitere interne Netze auch.

Was für dich besser passt mußt du selbst entscheiden.

Gruß



edit: achso jetzt versteh ich deine Frage. Nun du hast die Regel falsch geschrieben. Müsste so aussehen:
Code:
pass out log inet proto icmp from $internal_net to any icmp-type echoreq
.
 
Last edited:
Code:

pass out log inet proto icmp all icmp-type echoreq from $lan to any

Beim dick markierten "all" sollten eigentlich deine Netze definiert werden, dann klappt es auch mit der Syntax ;)
 
Back
Top