(Mac OS PF) Leiten Sie ausgehenden UDP-Verkehr an einen bestimmten IP-Port um.

(Mac OS PF) Leiten Sie ausgehenden UDP-Verkehr an einen bestimmten IP-Port um.

Ich habe einige Schwierigkeiten, zu verstehen, wie PF unter Mac OS funktioniert. Ich habe viel zu diesem Thema recherchiert, kann aber einfach keine Lösung finden (obwohl ich viele andere sehr ähnliche Fragen ohne Antwort finden kann).

Mein Ziel besteht darin, ein ausgehendes Paket, das den UDP-Port (21928) verwendet und an eine Multicast-Adresse (225.0.0.37) gesendet wird, an einen anderen UDP-Port (6010) derselben Multicast-Adresse umzuleiten, bevor es meine Schnittstelle verlässt.

Wenn dies nicht möglich ist, wäre die Umleitung des Ports (21928) auf die Adresse 192.168.0.20:6010 die nächstbeste Lösung, die ursprüngliche Multicast-Adresse ist jedoch vorzuziehen.

Soweit ich weiß, können Sie auf ausgehende Pakete keine PF-Regeln anwenden. Sie können diese Pakete jedoch an die Loopback-Adresse umleiten und die Regeln dann auf diese Weise ausführen.

rdr pass inet proto udp from any to 225.0.0.37 port 21928 -> 225.0.0.37 port 6010
pass out on en4 route-to lo0 proto udp from en4 to 225.0.0.37 port 21928 keep state

Dies sind die aktuellen Regeln, mit denen ich spiele, und in Wireshark kann ich sehen, dass, wenn PF aktiv ist, das Paket in die Loopback-Schnittstelle gelangt, ansonsten jedoch nichts passiert (wenn ich PF deaktiviere, verlässt das Paket die Schnittstelle wie ursprünglich vorgesehen über 225.0.0.37:21928, was zumindest darauf hinweist, dass PF etwas tut, wenn es aktiviert ist).

Zusätzlich habe ich diesen Befehl aktiviert:

sysctl net.inet.ip.forwarding=1

Ich bin nicht sicher, was ich hier falsch mache. Für jede Hilfe wäre ich sehr dankbar.

verwandte Informationen