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

From version 23.1
edited by Xiaoye
on 2024/01/03 10:02
Change comment: There is no comment for this version
To version 8.5
edited by Xiaoling
on 2023/11/10 16:23
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
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoye
1 +XWiki.Xiaoling
Content
... ... @@ -6,79 +6,113 @@
6 6  
7 7  
8 8  
9 -= 1. What is Wireguard VPN? =
10 10  
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.
13 13  
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:
16 16  
17 -[[image:image-20231121160528-1.png]]
16 +== 1. Configuration via command line ==
18 18  
18 +=== 1.1 Key Management ===
19 19  
20 -= 2. Run WireGuard VPN in PC =
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.
21 +**#Generate keys**
23 23  
24 -**Video Instruction**: [[Install WireGuard Server in Windows>>https://www.youtube.com/watch?v=1AWVvW5oJtU]].
23 +(% class="box infomessage" %)
24 +(((
25 +umask go=
25 25  
26 -For other OS and methods, please search Google for more.
27 +wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
27 27  
29 +wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
28 28  
29 -= 3. Configure Wireguard VPN on Gatewaythe LPS8N/DLOS8N/LG308N =
31 +wg genpsk > wgclient.psk
32 +)))
30 30  
31 -== 3.1 For LPS8N/DLOS8N/LG308N ==
34 +[[image:image-20231110150147-1.png||height="82" width="566"]]
32 32  
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/]].
37 +=== 1.2 Firewall configuration ===
35 35  
36 36  
37 -=== 1.) Preparation ===
40 +(((
41 +**#Configure firewall**
42 +)))
38 38  
39 -* **Prepare WireGuard server public key, IP address, port, and peer address.**
44 +(% class="box infomessage" %)
45 +(((
46 +uci del_list firewall.wan.network="vpn"
40 40  
48 +uci add_list firewall.wan.network="vpn"
41 41  
50 +uci commit firewall
51 +)))
42 42  
43 -=== 2.) Steup WireGuard ===
53 +[[image:image-20231110151524-2.png]]
44 44  
45 45  
46 -* **Accessing the gateway's WireGuard page**
56 +(((
57 +**#Reload firewall**
58 +)))
47 47  
48 -[[image:image-20240103094049-2.png||height="437" width="915"]]
60 +(% class="box infomessage" %)
61 +(((
62 +/etc/init.d/firewall
63 +)))
49 49  
50 50  
51 -* **Add the gateway's public key to the server and assign the peer address.**
66 +=== 1.3 Network configuration ===
52 52  
53 -[[image:image-20240103094832-3.png||height="545" width="912"]]
54 54  
69 +(((
70 +**#Configure network**
71 +)))
55 55  
56 -* **Fill in the parameters of the WireGuard server**
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 +)))
57 57  
58 -[[image:image-20240103095200-4.png||height="642" width="929"]]
82 +[[image:image-20231110152122-4.png]]
59 59  
60 -=== 3. Testing ===
61 61  
85 +(((
86 +**#Add VPN peers**
87 +)))
62 62  
63 -* **Ping Client Peer Address**
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 +)))
64 64  
65 -[[image:image-20240103095549-5.png||height="405" width="928"]]
104 +[[image:image-20231110152109-3.png]]
66 66  
67 67  
68 -* **Access Gateway WebUI via Client Peer Address**
107 +(((
108 +**#reload network service**
109 +)))
69 69  
70 -[[image:image-20240103095756-6.png||height="488" width="933"]]
111 +(% class="box infomessage" %)
112 +(((
113 +/etc/init.d/network reload
114 +)))
71 71  
72 72  
73 -=== 4. Troubleshooting ===
74 74  
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 -
84 84  
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
image-20240103095756-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -562.0 KB
Content