Last modified by Xiaoye on 2024/04/19 19:52

From version 21.1
edited by Xiaoye
on 2024/01/03 09:55
Change comment: Uploaded new attachment "image-20240103095549-5.png", version {1}
To version 6.1
edited by Xiaoye
on 2023/11/10 15:30
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Use Wireguard VPN in Dragino Gateways
1 +LoRaWAN Gateway version with Wireguard Support
Content
... ... @@ -1,44 +1,107 @@
1 -(% class="wikigeneratedid" %)
2 -**Table of Contents:**
1 += How to configure Wireguard on the LPS8N/DLOS8N/LG308N =
3 3  
4 -{{toc/}}
3 +== **1. Configuration via command line** ==
5 5  
5 +=== 1.1 Key Management ===
6 6  
7 +#Generate keys
7 7  
9 +(% class="box infomessage" %)
10 +(((
11 +umask go=
8 8  
9 -= 1. What is Wireguard VPN? =
13 +wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
10 10  
15 +wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
11 11  
12 -[[WireGuard>>https://www.wireguard.com/]]^^®^^ is an extremely simple yet fast and modern VPN that utilizes **state-of-the-art [[cryptography>>url:https://www.wireguard.com/protocol/]]**. It aims to be [[faster>>url:https://www.wireguard.com/performance/]], [[simpler>>url:https://www.wireguard.com/quickstart/]], leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.
17 +wg genpsk > wgclient.psk
18 +)))
13 13  
20 +[[image:image-20231110150147-1.png||height="82" width="566"]]
14 14  
15 -Network Structure for WireGuard VPN:
16 16  
17 -[[image:image-20231121160528-1.png]]
23 +=== 1.2 Firewall configuration ===
18 18  
25 +(((
26 +#Configure firewall
27 +)))
19 19  
20 -= 2. Run WireGuard VPN in PC =
29 +(((
30 +
31 +)))
21 21  
22 -There are many methods to install and set WireGuard server. Below is an example for reference to set up WireGuard Server in Windows.
33 +(% class="box infomessage" %)
34 +(((
35 +uci del_list firewall.wan.network="vpn"
23 23  
24 -**Video Instruction**: [[Install WireGuard Server in Windows>>https://www.youtube.com/watch?v=1AWVvW5oJtU]].
37 +uci add_list firewall.wan.network="vpn"
25 25  
26 -For other OS and methods, please search Google for more.
39 +uci commit firewall
40 +)))
27 27  
42 +[[image:image-20231110151524-2.png]]
28 28  
29 -= 3. Configure Wireguard VPN on Gatewaythe LPS8N/DLOS8N/LG308N =
30 30  
31 -== 3.1 For LPS8N/DLOS8N/LG308N ==
45 +(((
46 +#Reload firewall
47 +)))
32 32  
49 +(% class="box infomessage" %)
50 +(((
51 +/etc/init.d/firewall
52 +)))
33 33  
34 -Due to the size of Wireguard packages. We didn't add it as a default feature of gateways. If the user wants to use Wireguard Please upgrade your gateway firmware with the special [[firmware>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/DLOS8/Firmware/Wireguard-firmware/]].
35 35  
55 +=== 1.3. Network configuration ===
36 36  
37 -[[image:image-20240102190036-1.png]]
57 +(((
58 +#Configure network
59 +)))
38 38  
39 39  
62 +(% class="box infomessage" %)
63 +(((
64 + uci -q delete network.vpn
65 + uci set network.vpn="interface"
66 + uci set network.vpn.proto="wireguard"
67 + uci set network.vpn.private_key="{VPN_KEY}"
68 + uci add_list network.vpn.addresses="{VPN_ADDRESS}"
69 +)))
40 40  
41 -=== ===
71 +[[image:image-20231110152122-4.png]]
42 42  
43 43  
74 +(((
75 +#Add VPN peers
76 +)))
77 +
78 +(% class="box infomessage" %)
79 +(((
80 + uci -q delete network.wgserver
81 + uci set network.wgserver="wireguard_vpn"
82 + uci set network.wgserver.public_key="{VPN_PUB}"
83 + uci set network.wgserver.endpoint_host="{VPN_SERVER}"
84 + uci set network.wgserver.preshared_key="{VPN_PSK}"
85 + uci set network.wgserver.endpoint_port="{VPN_PORT}"
86 + uci set network.wgserver.persistent_keepalive="25"
87 + uci set network.wgserver.route_allowed_ips="1"
88 + uci add_list network.wgserver.allowed_ips="0.0.0.0/0"
89 + uci add_list network.wgserver.allowed_ips="::/0"
90 + uci commit network
91 +)))
92 +
93 +[[image:image-20231110152109-3.png]]
94 +
95 +
96 +(((
97 +#reload network service
98 +)))
99 +
100 +(% class="box infomessage" %)
101 +(((
102 +/etc/init.d/network reload
103 +)))
104 +
105 +
106 +
44 44  
image-20231121160528-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -78.9 KB
Content
image-20240102190036-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -80.1 KB
Content
image-20240103093849-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -62.7 KB
Content
image-20240103094049-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -62.9 KB
Content
image-20240103094832-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -100.1 KB
Content
image-20240103095200-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -82.2 KB
Content
image-20240103095549-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -31.5 KB
Content