This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| wireguard_on_freshtomato [2024/09/24 17:49] – [Introduction] -condense hogwild | wireguard_on_freshtomato [2025/11/12 21:57] (current) – [Web interface or command-line configuration] -Update intro and add link to main WireGuard page hogwild | ||
|---|---|---|---|
| Line 11: | Line 11: | ||
| ===== Web interface or command-line configuration ===== | ===== Web interface or command-line configuration ===== | ||
| - | Since release 2024.1, Wireguard | + | r2024.1 and later allow Wireguard |
| - | Instructions on this wiki page detail how to configure Wireguard via the command-line interface. Instructions for the graphical web interface will follow later. | + | The main principles |
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | Wireguard' | + | Wireguard' |
| - | Wireguard is not a " | + | Wireguard is not a " |
| - | Before configuring Wireguard, consult the official documentation' | + | Before configuring Wireguard, consult the official documentation' |
| ===== Overview ===== | ===== Overview ===== | ||
| - | Wireguard is now available in FreshTomato' | + | Wireguard is now available in FreshTomato' |
| - | Once you understand some basic principles, it is fairly simple to configure. Currently, only ARM-based devices include the code needed | + | Once you understand some basic principles, it is fairly simple to configure. Currently, only ARM-based devices include the code to run Wireguard. |
| \\ | \\ | ||
| + | |||
| + | === Checking if Modules are Available/ | ||
| + | |||
| + | \\ If you're unsure, try loading the kernel module as follows: | ||
| <code -> | <code -> | ||
| Line 37: | Line 41: | ||
| </ | </ | ||
| - | If you see no output, | + | If you see no output, |
| | | ||
| Line 50: | Line 54: | ||
| \\ | \\ | ||
| - | If Wireguard | + | If Wireguard |
| <code -> | <code -> | ||
| Line 60: | Line 64: | ||
| ===== Syntax ===== | ===== Syntax ===== | ||
| - | The first step is familiarize yourself with the '' | + | The first step is to familiarize yourself with the '' |
| \\ | \\ | ||
| Line 88: | Line 92: | ||
| For example: | For example: | ||
| - | |||
| - | \\ | ||
| <code -> | <code -> | ||
| Line 110: | Line 112: | ||
| Let's assume there are two devices with these prerequisites: | Let's assume there are two devices with these prerequisites: | ||
| - | * An ARM-based device with Wireguard | + | * An ARM-based device with Wireguard in the firmware build. |
| * At least one device with a public IP address. | * At least one device with a public IP address. | ||
| - | * DDNS configured for the device' | + | * DDNS configured for the device' |
| - | * SSH access available on to both devices. | + | * SSH access available on both devices. |
| - | * An alternate method of accessing the router, or a host on the LAN accessible via \\ remote access software that doesn' | + | * An alternate method of accessing the router, or a host on the LAN \\ accessible via remote access software that doesn' |
| \\ | \\ | ||
| Line 129: | Line 131: | ||
| \\ | \\ | ||
| - | If that storage becomes unavailable, | + | If the storage becomes unavailable, |
| + | |||
| + | For this example, and the final setup, we' | ||
| \\ | \\ | ||
| Line 146: | Line 150: | ||
| \\ | \\ | ||
| - | The above two key generation programs should | + | The above two key generation programs should |
| <code -> | <code -> | ||
| Line 158: | Line 162: | ||
| The content of these files must be added to the configuration file. In this case, we will call that file: " | The content of these files must be added to the configuration file. In this case, we will call that file: " | ||
| - | **Do not** use the keys from this example. They are fake/hypothetical and only serve as an example. | + | **Do not** use the keys from this example. They are hypothetical and only an example. |
| - | \\ The contents of the wg0.conf file on routerA are as follows: | + | |
| <code -> | <code -> | ||
| Line 204: | Line 208: | ||
| \\ | \\ | ||
| - | On a network with private addressing (behind NAT) that is unreachable from the Internet, the connection | + | On a network with private addressing (behind NAT), unreachable from the Internet, the connection |
| + | |||
| + | \\ | ||
| - | Let's assume routerB is behind an unmanaged NAT device (so your WAN has a private IP) your routerA [peer] definition | + | Let's assume routerB is behind an unmanaged NAT device (your WAN has a private IP). Your routerA [peer] definition |
| - | \\ \\ The necessary changes to the wg0.conf | + | \\ \\ The necessary changes to wg0.conf for this are: \\ |
| <code -> | <code -> | ||
| Line 220: | Line 226: | ||
| \\ | \\ | ||
| - | A // | + | A // |
| \\ | \\ | ||
| Line 232: | Line 238: | ||
| {{: | {{: | ||
| - | On a point-to-point connection, | + | On a point-to-point connection, |
| Line 240: | Line 246: | ||
| <code -> | <code -> | ||
| - | wget https://tinyurl.com/28b5rckn | + | wget https://gist.githubusercontent.com/pedro0311/ |
| </ | </ | ||