This is an old revision of the document!
Wireguard can be configured/run via the web interface, or at the command line. Either interface lets you configure Wireguard settings and generate configuration scripts. This page describes how to configure Wireguard through the web interface.
To configure Wireguard manually, and for some basic theory, see this HOWTO: Set up Wireguard
Unless you're using an external VPN provider, you are advised to “nominate” a main router where configurations will be produced. Clients, such as other FreshTomato routers, and other devices must import the configuration generated by this main router. Relevant configuration changes may require you to delete and reimport the configuration on those client devices.
The Wireguard web interface menu has been working since r2024.1. PBR (Policy-based Routing) and the kill switch feature are supported since r2025.3. Split-tunnelling is supported from within Policy-based Routing.
More importantly, two serious bugs in r2025.3 and earlier can cause kernel panics. See the Wireguard Notes and Troubleshooting section at the bottom for details.
Starting with r2025.3, FreshTomato supports the import of preconfigured Wireguard configuration scripts from external VPN providers.
The following VPN providers' scripts have been tested as working:
Alternatively, many have succeeded in using the following tutorial to manually configure settings for an external VPN Provider:
How to Connect to a VPN Provider's Wireguard Tunnel on FreshTomato
This setting affects the creation of peer configurations.
Please remember these troubleshooting tips when trying to configure your VPN:
The point of failure will provide critical insight into whatever issue you are facing.