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

From version 24.1
edited by Xiaoye
on 2024/01/03 10:06
Change comment: There is no comment for this version
To version 8.4
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,77 +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 -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/Wireguard-firmware/]]. after 169 to get WireGuard support.
37 +=== 1.2 Firewall configuration ===
35 35  
36 -=== 1.) Preparation ===
37 37  
38 -* **Prepare WireGuard server public key, IP address, port, and peer address.**
40 +(((
41 +**#Configure firewall**
42 +)))
39 39  
44 +(% class="box infomessage" %)
45 +(((
46 +uci del_list firewall.wan.network="vpn"
40 40  
41 -=== 2.) Steup WireGuard ===
48 +uci add_list firewall.wan.network="vpn"
42 42  
50 +uci commit firewall
51 +)))
43 43  
44 -* **Accessing the gateway's WireGuard page**
53 +[[image:image-20231110151524-2.png]]
45 45  
46 -[[image:image-20240103094049-2.png||height="437" width="915"]]
47 47  
56 +(((
57 +**#Reload firewall**
58 +)))
48 48  
49 -* **Add the gateway's public key to the server and assign the peer address.**
60 +(% class="box infomessage" %)
61 +(((
62 +/etc/init.d/firewall
63 +)))
50 50  
51 -[[image:image-20240103094832-3.png||height="545" width="912"]]
52 52  
66 +=== 1.3 Network configuration ===
53 53  
54 -* **Fill in the parameters of the WireGuard server**
55 55  
56 -[[image:image-20240103095200-4.png||height="642" width="929"]]
69 +(((
70 +**#Configure network**
71 +)))
57 57  
58 -=== 3. Testing ===
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 +)))
59 59  
82 +[[image:image-20231110152122-4.png]]
60 60  
61 -* **Ping Client Peer Address**
62 62  
63 -[[image:image-20240103095549-5.png||height="405" width="928"]]
85 +(((
86 +**#Add VPN peers**
87 +)))
64 64  
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 +)))
65 65  
66 -* **Access Gateway WebUI via Client Peer Address**
104 +[[image:image-20231110152109-3.png]]
67 67  
68 -[[image:image-20240103095756-6.png||height="488" width="933"]]
69 69  
107 +(((
108 +**#reload network service**
109 +)))
70 70  
71 -=== 4. Troubleshooting ===
111 +(% class="box infomessage" %)
112 +(((
113 +/etc/init.d/network reload
114 +)))
72 72  
73 -* **Unable to ping client**
74 74  
75 - Please check if the client and server are on the same Network
76 76  
77 -
78 -
79 -=== ===
80 -
81 -
82 82  
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