Tailscale Subnet Router Configuration
Introduction
This guide explains how to configure a Docker container running Tailscale as a subnet router, allowing remote access to internal lab networks through Tailscale’s mesh VPN.
Prerequisites
- A running Tailscale container with host networking
- Preapproved reusable auth key
- Reachable internal VLANs via the host
- Access to the Tailscale admin panel
Step 1 – Advertise internal subnets
Edit your docker-compose.yml and add --advertise-routes to TS_EXTRA_ARGS:
environment:
- TS_AUTHKEY=tskey-xxxxxxxxxxxxxxxx
- TS_EXTRA_ARGS=--hostname=dock1 --advertise-routes=10.0.0.0/24,10.10.0.0/24,10.20.0.0/24,10.30.0.0/24,10.40.0.0/24,10.50.0.0/24,10.60.0.0/24
You can include multiple comma-separated CIDRs.
Step 2 – Restart the container
docker-compose up -d
Step 3 – Approve routes in the admin panel
- Go to https://login.tailscale.com/admin/machines
- Locate the node
dock1 - Click "Enable subnet routes"
- Make sure the route indicator turns green

Step 4 – Test from another node
From a remote Tailscale device:
tailscale status
ping 10.10.0.1
ssh user@10.10.0.50
If successful, you are reaching your lab's internal LAN over Tailscale.
Enable IP forwarding on the host
sysctl -w net.ipv4.ip_forward=1
Make it persistent:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
VLANs and advertised subnets
| Subnet | Interface | Suggested Purpose |
|---|---|---|
10.0.0.0/24 |
ether1 |
Primary network and internet gateway |
10.10.0.0/24 |
vlan10-mgmt |
Management: Proxmox, Ceph, MikroTik, monitoring |
10.20.0.0/24 |
vlan20-svc |
Internal services: containers, APIs, databases |
10.30.0.0/24 |
vlan30-stor |
Storage: TrueNAS, MinIO, Nextcloud |
10.40.0.0/24 |
vlan40-bak |
Backups and snapshots: PBS, Veeam, Restic, Borg |
10.50.0.0/24 |
vlan50-iot |
IoT devices: cameras, sensors, automation |
10.60.0.0/24 |
vlan60-dmz |
Public exposure: reverse proxies, VPN entrypoints |
10.70.0.0/24 |
vlan70-guest |
Guest Wi-Fi and isolated traffic |
Validation and Tests
From inside the container:
tailscale status
ping 10.10.0.1
From a remote client:
ping 10.10.0.10
ssh user@10.20.0.5
Common Issues
| Issue | Solution |
|---|---|
| Routes not advertised | Check TS_EXTRA_ARGS syntax |
| Cannot ping internal IPs | Enable IP forwarding on host |
| Traffic doesn't reach VLANs | Check firewall rules or bridge config on dock1 |