pfctl port forwarding in mac osx?


16
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
-A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
COMMIT

Der obige Code ist ein Code, den ich verwendet habe, um den Verkehr unter Linux weiterzuleiten.

Jetzt muss ich dasselbe unter Mac OSX tun. 10.8 wenn es darauf ankommt.

Also, hier ist der Deal.

Früher verwendete ich einen Proxy, um eine Verbindung zum Linux-Computer herzustellen, und mithilfe dieses Proxys konnte ich den Datenverkehr mithilfe von mitmproxy überwachen

Jetzt, auf dem Mac, verwende ich die eingebaute Internetfreigabe und möchte mitmproxy verwenden, das nur Sachen von Port 8080 abhört.

bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:81:1d:4a 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        priority 0 hellotime 0 fwddelay 0 maxage 0
        ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
             port 5 priority 0 path cost 0

Das obige ist die "geteilte Verbindung", die ich weiterleiten muss, glaube ich.

Antworten:


23

Angenommen, Ihre gesamte Web-Traffic-Anfrage stammt von 192.168.2.0/24und von der Benutzeroberflächebridge0

Fügen Sie folgende Regeln zu /etc/pf.conf hinzu

rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port http -> 127.0.0.1 port 8080
rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port https -> 127.0.0.1 port 8080

Schnelle Tipps

  1. Testen Sie pf.conf auf Syntaxfehler

    pfctl -v -n -f /etc/pf.conf
    
  2. Übernehmen / Laden Sie die Regeln neu

    pfctl -f /etc/pf.conf
    

Dies ist ein Spickzettel für OS X pfctl.


3
pfscheint nicht standardmäßig aktiviert werden, so dass Sie das vielleicht hinzufügen müssen -eFlagge: pfctl -ef /etc/pf.conf.
Webthusiast

4
Es heißt Syntaxfehler
Hitesh Joshi

@ HiteshJoshi: Ich habe das gleiche Problem. Für mich hat das Verschieben der Linien zwischen den Linien mit "rdr-anchor" und "dummynet-anchor" das Problem behoben.
Albin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.