whatisgithub

What is nordvpn-linux-gateway-panel?

vdionisopoulos/nordvpn-linux-gateway-panel — explained in plain English

Analysis updated 2026-05-18

14ShellAudience · ops devopsComplexity · 4/5Setup · hard

In one sentence

A self-hosted Ubuntu gateway with a web panel that routes chosen home devices through NordVPN, with fail-closed protection if the VPN drops.

Mindmap

mindmap
  root((VPN Gateway Panel))
    What it does
      Per-device VPN routing
      Fail closed protection
      Web control panel
    Tech stack
      Ubuntu
      nftables
      systemd
      dnsmasq
    Use cases
      Protect smart TVs
      Manage devices via web
      Prevent VPN leaks
    Audience
      Homelab operators
      Network admins
    Setup
      Needs Ubuntu VM
      Needs NordVPN login
      Bridged network required

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Route a smart TV or game console through NordVPN without changing settings on every other device in the house.

USE CASE 2

Manage which devices use the VPN through a simple web panel instead of the command line.

USE CASE 3

Ensure devices lose internet access rather than leak traffic if the VPN connection drops.

USE CASE 4

Run a validation smoke test after installing or updating the gateway to confirm it still works.

What is it built with?

ShellUbuntunftablessystemdPythondnsmasq

How does it compare?

vdionisopoulos/nordvpn-linux-gateway-panelalhajashafffy/shellsafebrettkinny/tower-dashboard
Stars141414
LanguageShellShellShell
Setup difficultyhardeasymoderate
Complexity4/52/52/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a dedicated Ubuntu Server VM with a fixed LAN IP, bridged networking, and an already authenticated NordVPN CLI login.

So what is it?

This project turns an Ubuntu Linux machine into a small network gateway that routes specific devices, like a smart TV, tablet, or game console, through a NordVPN connection, while leaving the rest of your home network untouched. It includes a web panel you can open from a browser on your local network to add or remove devices by their IP address, switch which country NordVPN connects through, and check whether the gateway is healthy. The gateway sits between your router and the devices you want protected. Those devices point to the Ubuntu machine as their gateway and DNS server. Traffic from managed devices is routed through a dedicated routing table that sends it out through NordVPN's NordLynx tunnel, and a local DNS proxy makes sure DNS lookups also travel through the VPN rather than leaking out normally. If the VPN tunnel ever goes down, the system is designed to fail closed, meaning managed devices simply lose connectivity rather than silently falling back to an unprotected connection. Setting it up requires an Ubuntu Server machine with systemd, nftables, Python 3, and a fixed IP address on the same local network as the devices you want to protect, plus an already authenticated NordVPN Linux client. The installer configures the required NordVPN settings automatically, such as enabling its own routing and firewall while turning off its built in kill switch, since this project provides its own per-device fail-closed protection instead. Installation is a single script run with root privileges, with optional environment variables to customize the network interface, gateway IP, web panel port, admin credentials, and default VPN country. The project also includes an update script that backs up configuration files before making changes and can roll back automatically if an update fails, plus a smoke test script to verify the gateway is working correctly, including an optional test that intentionally disconnects and reconnects the VPN to confirm the fail-closed behavior actually works. The web panel supports both English and Greek, detected automatically from the browser. Documentation covering the DNS design, NordVPN authentication handling, and a release checklist is included in the repository.

Copy-paste prompts

Prompt 1
Walk me through the prerequisites and install.sh steps to set up this NordVPN gateway on Ubuntu.
Prompt 2
Explain how the fail-closed routing and DNS proxy work together to prevent VPN leaks in this project.
Prompt 3
Help me configure a managed device's IP, subnet, and DNS settings to route it through this gateway.
Prompt 4
Explain what the smoke-test.sh script checks and when I should run it with the failover option.
Prompt 5
Show me how to override the LAN interface, gateway IP, and web panel port during installation.

Frequently asked questions

What is nordvpn-linux-gateway-panel?

A self-hosted Ubuntu gateway with a web panel that routes chosen home devices through NordVPN, with fail-closed protection if the VPN drops.

What language is nordvpn-linux-gateway-panel written in?

Mainly Shell. The stack also includes Shell, Ubuntu, nftables.

How hard is nordvpn-linux-gateway-panel to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is nordvpn-linux-gateway-panel for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.