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

From version 8.5
edited by Xiaoling
on 2023/11/10 16:23
Change comment: There is no comment for this version
To version 23.1
edited by Xiaoye
on 2024/01/03 10:02
Change comment: There is no comment for this version

Summary

Details

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