Has anyone tried Tailscale to connect to Jellyfin?

I am not very knowledgeable about networking. I found I can connect to my Jellyfin server if I set under Networking “Allow remote connections” and in the remote IP address filter I put the remote IP that Tailscale assigns to my iPhone.

Is this how it’s supposed to work? I didn’t expect to have to use Remote Access Settings. I thought the point of Tailscale is to make it like you are on a local network.

  • maxprime@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 months ago

    When you install Tailscale on a device, that device is now a part of a virtual private network, and gets its own IP, usually starting with 100.*

    So if you usually access your Jellyfin instance 192.168.0.1:8096, and you install Tailscale on your server and a client device, check which IP Tailscale assigned your server and replace 192.168.0.1 with that IP. Make sure to keep the port in the url (the thing after the colon. Jellyfin’s default webui port is 8096).

    The main benefit here is not having to open a port. You can still access the port that Jellyfin’s webui is behind without exposing it to the internet.

    • SiriusCybernetics@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      9 months ago

      Thanks for the explanation. That part is clear, and I can access the server/Mac computer from my iPhone using the 100.x IP address. But if I’m on cellular I need to have Remote Access Settings enabled in order to connect.

      Edit: Actually on Wifi too on the same local network I need remote access enabled if I’m using the 100.x IP addresses. Using the usual IP pre-Tailscale I don’t need remote access on wifi.

  • pe1uca@lemmy.pe1uca.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Some services usually just listen to 127.0.0.1 which makes it’s only available for the current machine.
    The service needs to listen to 0.0.0.0 or the IP of the network adapter to be able to be reached outside the machine, this is what remote access means, both your local network and the internet are “remote access” to the services running inside a machine.

    So, yes, it’s normal you have to enable remote access to be able to connect via tailscale.

    Extra note: it’s good to be extra sure your services can be only accessed by you, this is what the ip address filter does, but if this is running inside a normal ISP’s router network then it’s already closed to the outside internet, so the filter would be a bit annoying in the case you want to share it with your other devices or any guest inside your network, you’ll need to remember to update that list, and also if your IP changes for some reason.
    With tailscale you can just remember to close all your ports and use your tailIP to connect to the service

    • SiriusCybernetics@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Not quite sure I followed all that. I’ve disabled a specific white list for now. When I have access to another computer I will confirm I can’t connect unless I am running Tailscale with the appropriate IP addresses.

      • pe1uca@lemmy.pe1uca.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        Yes, that’s the idea, if you’re not running tailscale in both machines then you won’t be able to connect to them (unless you do some other networking configurations).
        Once you have tailscale running in both machines or devices, you only need to use the Tail IP to connect to them, they will find each regardless if they are in the same local network (connected to your home router) or across the internet.
        If you want to have access to your jellyfin without connecting to tailscale it’ll require more configuration depending on your set up and you’ll have to take care of the security implications of the internet being able to reach your computer or server.

        A bit more information:
        My jellyfin runs in my computer, so with tailscale I have at least these IP addresses

        • 127.0.0.1: The machine itself (or localhost)
        • 192.168.X.X: The address in your local network (usually your ISP’s router)
        • 100.X.X.X: The Tail IP.

        Now, in my phone I can be at several places and I can access jellyfin like this:

        • Same local network: 192.168.X of my computer, 100.X tail IP of my computer (if I’m connected to tailscale).
        • Mobile data or any other wifi: 100.X tail IP of my computer only when connected to tailscale.

        Again, I won’t recommend you on making your jellyfin instance public to the internet, just make sure to always be connected to tailscale.
        If you want to share your instance then you can check to share it within tailscale to the specific people you want.

        • SiriusCybernetics@lemmy.caOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          Thank you that is tremendously helpful! I expect this post will help others that come along.

          So confirming for your setup, you do need Remote Access enabled to use 100.x while home on your local network on wifi as well (and of course while away on cellular).

          That’s how it seems to be for me, so I think I’m set up correctly. I don’t believe I’ve opened any unusual ports or anything like that.

  • RacoonVegetable@reddthat.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    8 months ago

    I have put

    127.0.0.1/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10

    In Networking > Server address settings > LAN networks

    No idea if this is correct/secure/best practice but it works

    Note the description of this setting:

    Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server’s subnet is considered to be on the local network.

    Also while I have your attention, set your Tailscale network to use Quad9 (9.9.9.9) as the global dns server. This will somewhat limit the amount of snooping your ISP can do into your internet activity.

    https://tailscale.com/kb/1054/dns/

    Or you can run PiHole in a docker container, put its IP into Tailscale and completely get rid of all ads as long as you’re connected to Tailscale!