Version 12.1 by Edwin Chen on 2023/11/21 16:06

Show last authors
1 (% class="wikigeneratedid" %)
2 **Table of Contents:**
3
4 {{toc/}}
5
6
7
8
9 = 1. What is Wireguard VPN? =
10
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
14
15 = 2. Run WireGuard VPN in PC =
16
17
18 = 3. Configure Wireguard VPN on Gatewaythe LPS8N/DLOS8N/LG308N =
19
20 == 3.1 For LPS8N/DLOS8N/LG308N ==
21
22
23 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/]].
24
25
26 === 3.1.1 Configuration via command line ===
27
28 ==== 3.1.1.1 Key Management ====
29
30
31 **#Generate keys**
32
33 (% class="box infomessage" %)
34 (((
35 umask go=
36
37 wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
38
39 wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
40
41 wg genpsk > wgclient.psk
42 )))
43
44 [[image:image-20231110150147-1.png||height="82" width="566"]]
45
46
47 ==== 3.1.1.2 Firewall configuration ====
48
49
50 (((
51 **#Configure firewall**
52 )))
53
54 (% class="box infomessage" %)
55 (((
56 uci del_list firewall.wan.network="vpn"
57
58 uci add_list firewall.wan.network="vpn"
59
60 uci commit firewall
61 )))
62
63 [[image:image-20231110151524-2.png]]
64
65
66 (((
67 **#Reload firewall**
68 )))
69
70 (% class="box infomessage" %)
71 (((
72 /etc/init.d/firewall
73 )))
74
75
76 ==== 3.1.1.3 Network configuration ====
77
78
79 (((
80 **#Configure network**
81 )))
82
83 (% class="box infomessage" %)
84 (((
85 uci -q delete network.vpn
86 uci set network.vpn="interface"
87 uci set network.vpn.proto="wireguard"
88 uci set network.vpn.private_key="{VPN_KEY}"
89 uci add_list network.vpn.addresses="{VPN_ADDRESS}"
90 )))
91
92 [[image:image-20231110152122-4.png]]
93
94
95 (((
96 **#Add VPN peers**
97 )))
98
99 (% class="box infomessage" %)
100 (((
101 uci -q delete network.wgserver
102 uci set network.wgserver="wireguard_vpn"
103 uci set network.wgserver.public_key="{VPN_PUB}"
104 uci set network.wgserver.endpoint_host="{VPN_SERVER}"
105 uci set network.wgserver.preshared_key="{VPN_PSK}"
106 uci set network.wgserver.endpoint_port="{VPN_PORT}"
107 uci set network.wgserver.persistent_keepalive="25"
108 uci set network.wgserver.route_allowed_ips="1"
109 uci add_list network.wgserver.allowed_ips="0.0.0.0/0"
110 uci add_list network.wgserver.allowed_ips="::/0"
111 uci commit network
112 )))
113
114 [[image:image-20231110152109-3.png]]
115
116
117 (((
118 **#reload network service**
119 )))
120
121 (% class="box infomessage" %)
122 (((
123 /etc/init.d/network reload
124 )))
125
126
127
128