This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wireguard_on_freshtomato [2023/07/17 17:58] – [Point-to-Point Connection] -standardize "routera" hogwild | wireguard_on_freshtomato [2024/04/28 16:55] (current) – [Introduction] -remove right bracket hogwild | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Wireguard ====== | ====== Wireguard ====== | ||
- | Wireguard is a revolutionary VPN technology that allows for very fast throughput | + | Wireguard is a revolutionary VPN technology that allows for very fast throughput |
Here are some rough benchmarks that illustrate the performance differences: | Here are some rough benchmarks that illustrate the performance differences: | ||
Line 12: | Line 12: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Wireguard' | + | Wireguard' |
- | Wireguard is not a " | + | Wireguard is not a " |
Before configuring Wireguard, you should consult the official documentation' | Before configuring Wireguard, you should consult the official documentation' | ||
Line 130: | Line 130: | ||
<code -> | <code -> | ||
- | root@routera:/jffs# wg genkey > privateKey_$(hostname) | + | root@routerA:/jffs# wg genkey > privateKey_$(hostname) |
- | root@routera:/jffs# wg pubkey < privateKey_$(hostname) > publicKey_$(hostname) | + | root@routerA:/jffs# wg pubkey < privateKey_$(hostname) > publicKey_$(hostname) |
</ | </ | ||
Line 141: | Line 141: | ||
<code -> | <code -> | ||
- | root@routera:/jffs# ls -l | + | root@routerA:/jffs# ls -l |
- | -rw-r--r-- | + | -rw-r--r-- |
- | -rw-r--r-- | + | -rw-r--r-- |
</ | </ | ||
Line 152: | Line 152: | ||
Please **do not** use the keys from this example. They are fake/ | Please **do not** use the keys from this example. They are fake/ | ||
- | \\ The contents of the wg0.conf file on routera | + | \\ The contents of the wg0.conf file on routerA |
\\ | \\ | ||
<code -> | <code -> | ||
- | root@routera:/jffs# cat wg0.conf | + | root@routerA:/jffs# cat wg0.conf |
- | [Interface] # routera | + | [Interface] # routerA |
- | PrivateKey = WOOgLRpUxq3XjGfuP79JHKR/ | + | PrivateKey = WOOgLRpUxq3XjGfuP79JHKR/ |
ListenPort = 51820 # Default port this router listen to, but can be changed if needed | ListenPort = 51820 # Default port this router listen to, but can be changed if needed | ||
- | [peer] # routerb | + | [peer] # routerB |
Endpoint = rtrb.ddns.org: | Endpoint = rtrb.ddns.org: | ||
PublicKey = iu3524WoHe0UHkY4o6kQSTe1sx9lBArrdBR9mbe+0yA= # This is the public key as generated on the remote device. | PublicKey = iu3524WoHe0UHkY4o6kQSTe1sx9lBArrdBR9mbe+0yA= # This is the public key as generated on the remote device. | ||
Line 168: | Line 168: | ||
</ | </ | ||
- | | + | |
\\ | \\ | ||
<code -> | <code -> | ||
- | root@routerb:/jffs# cat wg0.conf | + | root@routerB:/jffs# cat wg0.conf |
- | [Interface] # routerb | + | [Interface] # routerB |
- | PrivateKey = WOOgLRpUxq3XjGfuP79JHKR/ | + | PrivateKey = WOOgLRpUxq3XjGfuP79JHKR/ |
ListenPort = 51820 # Default port this router listen to, but can be changed if needed | ListenPort = 51820 # Default port this router listen to, but can be changed if needed | ||
- | [peer] # routera | + | [peer] # routerA |
Endpoint = rtra.ddns.org: | Endpoint = rtra.ddns.org: | ||
PublicKey = Pr1EV/ | PublicKey = Pr1EV/ | ||
Line 198: | Line 198: | ||
\\ | \\ | ||
- | On a network with private addressing (behind NAT) that isn't reachable from the Internet, the connection will be initiated from the NATed device. However, you'll need to force keepalive activity towards the unNATed device to maintain the connection. Remember, by default, Wireguard doesn' | + | On a network with private addressing (behind NAT) that isn't reachable from the Internet, the connection will be initiated from the NATed device. However, you'll need to force keepalive activity towards the unNATed device to maintain the connection. Remember, by default, Wireguard doesn' |
\\ \\ The necessary changes to the wg0.conf file for this are seen here: \\ \\ | \\ \\ The necessary changes to the wg0.conf file for this are seen here: \\ \\ | ||
<code -> | <code -> | ||
- | [peer] # routera | + | [peer] # routerA |
Endpoint = rtra.ddns.org: | Endpoint = rtra.ddns.org: | ||
PublicKey = Pr1EV/ | PublicKey = Pr1EV/ | ||
Line 247: | Line 247: | ||
* The wg.sh and " | * The wg.sh and " | ||
- | \\ \\ {{: | + | \\ \\ {{: |
- | \\ | + | |
- | The script will display an introduction screen: | + | |
\\ {{: | \\ {{: | ||
Line 257: | Line 255: | ||
* wg.sh | * wg.sh | ||
* wg0.conf | * wg0.conf | ||
+ | |||
\\ | \\ | ||
You do not need to make any changes to those files. Simply copy them both to the relevant device (preferably jffs). This means you must run the makeconf on any one (and only one) device.\\ | You do not need to make any changes to those files. Simply copy them both to the relevant device (preferably jffs). This means you must run the makeconf on any one (and only one) device.\\ | ||
- | The wg.sh script has been written such that it can be run multiple times, even consecutively. Router and iptables/ | + | The wg.sh script has been written such that it can be run multiple times, even consecutively. Router and iptables/ |