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

From version 28.1
edited by Xiaoye
on 2024/04/19 19:14
Change comment: Uploaded new attachment "image-20240419191407-2.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,81 +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/LPS8V2 ==
45 +(((
46 +#Reload firewall
47 +)))
32 32  
49 +(% class="box infomessage" %)
50 +(((
51 +/etc/init.d/firewall
52 +)))
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/Release/]]. after 169 to get WireGuard support.
35 35  
36 -=== 1.) Preparation ===
55 +=== 1.3. Network configuration ===
37 37  
38 -* **Prepare WireGuard server public key, IP address, port, and peer address.**
57 +(((
58 +#Configure network
59 +)))
39 39  
40 -=== 2.) Steup WireGuard ===
41 41  
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 +)))
42 42  
43 -* **Accessing the gateway's WireGuard page**
71 +[[image:image-20231110152122-4.png]]
44 44  
45 -[[image:image-20240103094049-2.png||height="437" width="915"]]
46 46  
74 +(((
75 +#Add VPN peers
76 +)))
47 47  
48 -* **Add the gateway's public key to the server and assign the peer address.**
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 +)))
49 49  
50 -[[image:image-20240103094832-3.png||height="545" width="912"]]
93 +[[image:image-20231110152109-3.png]]
51 51  
52 52  
53 -* **Fill in the parameters of the WireGuard server**
96 +(((
97 +#reload network service
98 +)))
54 54  
55 -[[image:image-20240103095200-4.png||height="642" width="929"]]
100 +(% class="box infomessage" %)
101 +(((
102 +/etc/init.d/network reload
103 +)))
56 56  
57 -=== 3. Testing ===
58 58  
59 59  
60 -* **Ping Client Peer Address**
61 -
62 -[[image:image-20240103095549-5.png||height="405" width="928"]]
63 -
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 -
81 81  
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
image-20240419191339-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -52.8 KB
Content
image-20240419191407-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -44.4 KB
Content