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

From version 8.1
edited by Xiaoye
on 2023/11/10 15:42
Change comment: There is no comment for this version
To version 29.1
edited by Xiaoye
on 2024/04/19 19:16
Change comment: Uploaded new attachment "image-20240419191607-3.png", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -LoRaWAN Gateway version with Wireguard Support
1 +Use Wireguard VPN in Dragino Gateways
Content
... ... @@ -1,110 +1,81 @@
1 -= How to configure Wireguard on the LPS8N/DLOS8N/LG308N =
1 +(% class="wikigeneratedid" %)
2 +**Table of Contents:**
2 2  
4 +{{toc/}}
3 3  
4 -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/]].
5 5  
6 -== **1. Configuration via command line** ==
7 7  
8 -=== 1.1 Key Management ===
9 9  
10 -#Generate keys
9 += 1. What is WireGuard VPN? =
11 11  
12 -(% class="box infomessage" %)
13 -(((
14 -umask go=
15 15  
16 -wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
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 17  
18 -wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
19 19  
20 -wg genpsk > wgclient.psk
21 -)))
15 +Network Structure for WireGuard VPN:
22 22  
23 -[[image:image-20231110150147-1.png||height="82" width="566"]]
17 +[[image:image-20231121160528-1.png]]
24 24  
25 25  
26 -=== 1.2 Firewall configuration ===
20 += 2. Run WireGuard VPN in PC =
27 27  
28 -(((
29 -#Configure firewall
30 -)))
22 +There are many methods to install and set WireGuard server. Below is an example for reference to set up WireGuard Server in Windows.
31 31  
32 -(((
33 -
34 -)))
24 +**Video Instruction**: [[Install WireGuard Server in Windows>>https://www.youtube.com/watch?v=1AWVvW5oJtU]].
35 35  
36 -(% class="box infomessage" %)
37 -(((
38 -uci del_list firewall.wan.network="vpn"
26 +For other OS and methods, please search Google for more.
39 39  
40 -uci add_list firewall.wan.network="vpn"
41 41  
42 -uci commit firewall
43 -)))
29 += 3. Configure Wireguard VPN on Gatewaythe LPS8N/DLOS8N/LG308N =
44 44  
45 -[[image:image-20231110151524-2.png]]
31 +== 3.1 For LPS8N/DLOS8N/LG308N/LPS8V2 ==
46 46  
47 47  
48 -(((
49 -#Reload firewall
50 -)))
34 +After Firmware lgw-5.4.1704197758, we added Wireguard. Users can upgrade the gateways to [[firmware>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/DLOS8/Firmware/Release/]]. after 169 to get WireGuard support.
51 51  
52 -(% class="box infomessage" %)
53 -(((
54 -/etc/init.d/firewall
55 -)))
36 +=== 1.) Preparation ===
56 56  
38 +* **Prepare WireGuard server public key, IP address, port, and peer address.**
57 57  
58 -=== 1.3. Network configuration ===
40 +=== 2.) Steup WireGuard ===
59 59  
60 -(((
61 -#Configure network
62 -)))
63 63  
43 +* **Accessing the gateway's WireGuard page**
64 64  
65 -(% class="box infomessage" %)
66 -(((
67 - uci -q delete network.vpn
68 - uci set network.vpn="interface"
69 - uci set network.vpn.proto="wireguard"
70 - uci set network.vpn.private_key="{VPN_KEY}"
71 - uci add_list network.vpn.addresses="{VPN_ADDRESS}"
72 -)))
45 +[[image:image-20240103094049-2.png||height="437" width="915"]]
73 73  
74 -[[image:image-20231110152122-4.png]]
75 75  
48 +* **Add the gateway's public key to the server and assign the peer address.**
76 76  
77 -(((
78 -#Add VPN peers
79 -)))
50 +[[image:image-20240103094832-3.png||height="545" width="912"]]
80 80  
81 -(% class="box infomessage" %)
82 -(((
83 - uci -q delete network.wgserver
84 - uci set network.wgserver="wireguard_vpn"
85 - uci set network.wgserver.public_key="{VPN_PUB}"
86 - uci set network.wgserver.endpoint_host="{VPN_SERVER}"
87 - uci set network.wgserver.preshared_key="{VPN_PSK}"
88 - uci set network.wgserver.endpoint_port="{VPN_PORT}"
89 - uci set network.wgserver.persistent_keepalive="25"
90 - uci set network.wgserver.route_allowed_ips="1"
91 - uci add_list network.wgserver.allowed_ips="0.0.0.0/0"
92 - uci add_list network.wgserver.allowed_ips="::/0"
93 - uci commit network
94 -)))
95 95  
96 -[[image:image-20231110152109-3.png]]
53 +* **Fill in the parameters of the WireGuard server**
97 97  
55 +[[image:image-20240103095200-4.png||height="642" width="929"]]
98 98  
99 -(((
100 -#reload network service
101 -)))
57 +=== 3. Testing ===
102 102  
103 -(% class="box infomessage" %)
104 -(((
105 -/etc/init.d/network reload
106 -)))
107 107  
60 +* **Ping Client Peer Address**
108 108  
62 +[[image:image-20240103095549-5.png||height="405" width="928"]]
109 109  
64 +
65 +* **Access Gateway WebUI via Client Peer Address**
66 +
67 +[[image:image-20240103095756-6.png||height="488" width="933"]]
68 +
69 +
70 +=== 4. Troubleshooting ===
71 +
72 +* **Unable to ping client**
73 +
74 + Please check if the client and server are on the same Network
75 +
76 +
77 +
78 +=== ===
79 +
80 +
110 110  
image-20231121160528-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +78.9 KB
Content
image-20240102190036-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +80.1 KB
Content
image-20240103093849-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +62.7 KB
Content
image-20240103094049-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +62.9 KB
Content
image-20240103094832-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +100.1 KB
Content
image-20240103095200-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +82.2 KB
Content
image-20240103095549-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +31.5 KB
Content
image-20240103095756-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +562.0 KB
Content
image-20240419191339-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +52.8 KB
Content
image-20240419191407-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +44.4 KB
Content
image-20240419191607-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +45.1 KB
Content