🌐
← All setup guides

GL.iNet WireGuard Setup Guide

Manual gateway Works as a gateway for one LAN with no extra steps. Extra VLANs need a few rules added on the device by hand, explained below.

GL.iNet routers are OpenWrt-based with WireGuard client built into the web UI. One of the easiest setups available. Note: PostUp/PostDown lines are stripped by the GL.iNet UI — NAT is handled differently.

1

Create a tunnel in ProxyLink

Go to Devices → + Add → Router / LAN site, select Router / Gateway, enter your LAN subnet (e.g. 192.168.1.0/24), and download your .conf file. On the gateway page, switch the download picker to 🌐 Router (MikroTik / pfSense / OpenWRT) before clicking Activate, otherwise you get a RouterOS .rsc script instead of a .conf file.

2

Open GL.iNet admin panel

Go to 192.168.8.1 in your browser (default GL.iNet IP) and log in.

3

Import the config

Go to VPN → WireGuard Client → Add a New VPN.

Select Upload Config File and upload your .conf file. The UI will parse all fields automatically.

4

Enable masquerade via SSH (router mode only)

GL.iNet strips PostUp lines. SSH into the router and add the masquerade rule permanently:

uci add firewall rule
uci set firewall.@rule[-1].name='proxylink-masq'
uci set firewall.@rule[-1].src='vpn'
uci set firewall.@rule[-1].dest='lan'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall

# Or add directly to firewall.user:
echo "iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE" >> /etc/firewall.user
fw3 restart
5

Connect the tunnel

Back in the GL.iNet admin panel, go to VPN → WireGuard Client and toggle your ProxyLink tunnel ON.

Good to know

GL.iNet's UI strips PostUp and PostDown directives when saving. You must add NAT rules via SSH in /etc/firewall.user to survive reboots.
GL.iNet Firmware 4.x has built-in policy routing — you can route specific LAN clients through the tunnel without any manual iptables rules.

Reaching more than one VLAN

One LAN needs nothing beyond this guide. If the site has several VLANs (a camera VLAN, a PBX VLAN, a guest network), there is one more thing to know.

ProxyLink gives every gateway its own private address range and translates between that range and your real LAN addresses. That is what lets two different clients both use 192.168.1.0/24 without colliding. The translation rules live in the PostUp and PostDown lines of the config we generate.

GL.iNet cannot run those rules for itself, so extra VLANs are routed directly instead of being translated. Two consequences worth knowing:

If a site has several VLANs and you would rather not maintain that by hand, put a small Linux box (a Raspberry Pi is plenty) or a MikroTik beside the router and use it as the gateway. Both are managed, so every VLAN is handled automatically and the existing router is left alone. See the Linux and MikroTik guides.

What you get once the tunnel is up

Ready to connect?

Create a free account and set up your first tunnel in minutes. Free during early access — no card required.

Setup guides for other platforms