I have a client with locally hosted security cameras. There is a DVR box that has a port open and a 3rd party app you can view the cameras from. Traditionally we have been forwarding the port to the WAN via the router there. Its a restaraunt btw.

When the ISP upgrades the router every few years there’s a huge headache trying to get the ports back open and bridging the modem and router blah blah blah. Not only this, even though they are supposed to have a static wan ip, it does change from time to time.

What i would like to do is plug in a raspberry pi on the network and forward the DVR’s ports somewhere accessable.

Im thinking of something along the lines of wireguard, but just for a single ip/port that i can tunnel over ngrok. Seems doable but i’m having trouble finding the proper terms to google. Port forwarding generally brings up router config, and tunnelling seems to expect you to be on the device who’s ports you wish to access.

Any advice?

    • @cecilkorik@lemmy.ca
      link
      fedilink
      English
      911 months ago

      You can also automate this with autossh which is designed for exactly this kind of persistent tunnel. Although a simple “while” loop might seem like the intuitive way to keep it running, autossh is very reliable and takes care of all the corner cases for you.

  • Shadow
    link
    fedilink
    English
    8
    edit-2
    11 months ago

    Check out tailscale

    You would configure your pi to be a subnet router it should be stupid easy to get going.

    • dadarobotOP
      link
      English
      111 months ago

      Something ive noticed from using wireguard from my phone is my traffic across the board slows down significantly while connected because everything is routed back home.

      With tailscale can the user be connected, and only have a specific ip/domain routed through it? I also dont have access to the dvr’s internal system to run tailscale from it.

      Anyway thanks for the lead, im reading up now

      • @MangoPenguin@lemmy.blahaj.zone
        link
        fedilink
        English
        7
        edit-2
        11 months ago

        Something ive noticed from using wireguard from my phone is my traffic across the board slows down significantly while connected because everything is routed back home.

        This is a config issue, you have your VPN set as the default gateway instead of just for the specific subnet of your home network.

        By default tailscale will not be a default gateway or subnet router, it will only give access between 2 devices with tailscale installed.

        • dadarobotOP
          link
          English
          111 months ago

          Oh that makes sense because when i originally set it up, i did want all traffic routed through it. I guess i didnt realize it didnt have to be

        • @BearOfaTime@lemm.ee
          link
          fedilink
          English
          1
          edit-2
          11 months ago

          Yea, gotta turn off using an Exit Node that’s on that network.

          Also, sometimes Tailscale’s Magic DNS seems to override other name resolution and will route over Tailscale instead if another network (eg LAN). You can avoid this by using IP addresses instead of DNS if you have issues.

          For example, when I’m home and try to RDP to my server, sometimes TS DNS resolves the name and routes over TS, although it’s on the same LAN. If I RDP via the IP address of my server, it’s noticeably faster. If I turn off Tailscale, it’s faster, even using DNS, because then it resolves to the local, not TS, address.

          So basically, if I disable/re-enable TS on my laptop, DNS works fine. Think it’s just a bug.

      • @socphoenix@midwest.social
        link
        fedilink
        English
        411 months ago

        There’s a similar software called zerotier that only routes traffic you want across. You select an IP range (for instance 10.144..) and it gives your computer a new address. For my main computer let’s say it’s 10.144.168.128. The only traffic routed over the vpn is traffic addressed to that address. You can append the port to web traffic like https://10.144.168.128:8010/zm/index.php (zoneminder used as an example) and it would use the vpn for that connection but nothing else.

      • @BCsven@lemmy.ca
        link
        fedilink
        English
        311 months ago

        You can set what traffic goes across wireguard, either all of it, or only what is intended for the IP you are needing to connect to.

  • @Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    2
    edit-2
    11 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    IP Internet Protocol
    SSH Secure Shell for remote terminal access
    VPN Virtual Private Network

    [Thread #500 for this sub, first seen 9th Feb 2024, 22:55] [FAQ] [Full list] [Contact] [Source code]

    • dadarobotOP
      link
      English
      1
      edit-2
      11 months ago

      Edit: just looked at your link. I think for the time being im going to use tailscale. Its a restaraunt, and they dont have a self-hosted server. Im trying to get around opening ports, so using an existing service. Your link did make me aware of cloudflare tunnels whick looks like it allows 50 users on a free plan vs tailscale’s 3. Although the 3 might work for them, I’ll have to check. Ill probably drop in an ngrok tunnel too so i can maintenence the pi remotely. (They are in a different state) i was mostly looking for advice on how to connect a port on one machine to another over a lan, and socat looks perfect

      Actually, i found socat which seems to work just fine so far, and appears to be a standard linux command.

      socat TCP4-LISTEN:8096 TCP4:192.168.86.2:8096

      Thats a test i did with jellyfin at home