mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-08 21:59:09 -05:00
[GH-ISSUE #267] Rules and Tailscale #6165
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jaydis1 on GitHub (Mar 3, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/267
Hello,
Love the rules feature, exactly what I needed.
I'm wondering if it is possible to always allow Tailscale IP's. Tailscale is installed on the server where Pangolin is installed.
Hacky workarounds welcome!
@oschwartz10612 commented on GitHub (Mar 3, 2025):
Tailscale uses the 100.64.0.0/10 CGNAT range by default to assign IPv4 addresses to nodes in a tailnet. I think you could add that as a range and it should work?
@jaydis1 commented on GitHub (Mar 3, 2025):
I first tried a single Tailscale IP which didn't work.
When I try to allow 100.64.0.0/10, it tells me invalid IP.
I wonder if this doesn't work because the request is not being made over Tailscale?
@oschwartz10612 commented on GitHub (Mar 3, 2025):
You will want to use "IP Range" in the dropdown not IP. It should accept that CIDR.
But yeah if your requests are not coming from tailscale itself it will not do anything. They probably are not if I had to guess because it is going through your VPS interface to traefik from public internet right?
@jaydis1 commented on GitHub (Mar 3, 2025):
IP Range worked, silly oversight by me.
Correct, just a very standard setup. Jellyfin at home -> VPS via Pangolin -> public internet.
Anything you can think of to make this work? Somehow point to the Tailscale IP of Jellyfin in Pangolin?
@oschwartz10612 commented on GitHub (Mar 3, 2025):
Is the goal to do the following?
If this is the case you could try using the public IP of the VPS itself in the rules or the IP of the VPS's tailscale interface. I would expect traffic to "leave" the VPS from the tailscale interface destined to the public IP and do some sort of loopback. You could also try 127.0.0.1 but I am not sure if that would work.
@jaydis1 commented on GitHub (Mar 3, 2025):
That is the goal, yes. I want my Tailscale devices (and other specific IP's) to bypass authentication, while rest of the world gets the auth page.
Tried the VPS IP and Pangolin Tailscale IP, didn't help unfortunately.
Jellyfin and Newt are both installed on my Unraid server at home with Pangolin on a cheap VPS.
@oschwartz10612 commented on GitHub (Mar 3, 2025):
Are you forcing traffic to all go through tailscale? Like is the pangolin tailscale node an exit node in tailscale? If not your requests are probably going over the open internet.
One thing you can do is turn on the debug logs in config.yml and restart the container and watch the logs when you access. It should print out the source IP of the requests and that should help you narrow down what is going on.
@jaydis1 commented on GitHub (Mar 3, 2025):
No, it's not an exit node. I think that would probably work but I find the exit node feature really slows everything down. I will still try it though.
Should be as simple as whitelisting the public IP of the VPS for the resource and connecting to the Pangolin Tailscale exit node right?
@oschwartz10612 commented on GitHub (Mar 3, 2025):
Yeah without sending your traffic through tailscale you dont know how it is getting to pangolin to whitelist if that makes sense.
Yeah I would do that and look at the logs and see if it even works and if it does what the source is.
@EmeraldPi commented on GitHub (Mar 5, 2025):
I would think you could accomplish what you actually want to do (tailscale bypass auth) by using a custom DNS in tailscale (for instance I use NextDNS) and set the record for pangolin in that DNS to the container's or host's tailscale IP. Then the origin IP should be over tailscale for your devices.
@jaydis1 commented on GitHub (Mar 5, 2025):
This sounds perfect! I use ControlD so I will give this a try.