Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS PF forwarding rules are incompatible with Docker Desktop and some VPN apps #248

Open
oleg-vinted opened this issue Oct 11, 2023 · 0 comments

Comments

@oleg-vinted
Copy link

On macOS, Invoker uses PF to set up forwarding rules (80 -> 23401, 443 -> 23402)*. Sometimes this setup conflicts with other applications that manage firewall rules, such as some VPN apps and Docker Desktop.

These applications set the PF option set skip on lo0 which skips any processing on the loopback interface, effectively disabling Invoker's forwarding rules. The way you can check if you're affected by this exact issue is:

sudo pfctl -s Interfaces -v 2>/dev/null | grep lo0

If it says just lo0, forwarding should work. If it says lo0 (skip) then the forwarding rules will not work.

Workaround: reset PF options by running sudo pfctl -O -f /etc/pf.conf.

A possible solution is to switch to userspace forwarding, like the socat-based solution Invoker uses on Linux.

* Ports are set dynamically during setup depending on port availability, you might have different target ports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant