Version 11.3 by Xiaoling on 2023/11/11 11:26

Hide last authors
Xiaoling 8.2 1 (% class="wikigeneratedid" %)
2 **Table of Contents:**
3
4 {{toc/}}
5
6
7
8
Edwin Chen 9.1 9 = 1. What is Wireguard VPN? =
Xiaoling 8.2 10
Xiaoling 11.2 11
Edwin Chen 11.1 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.
Xiaoye 6.1 13
Edwin Chen 11.1 14
Edwin Chen 10.1 15 = 2. Run WireGuard VPN in PC =
Xiaoye 7.1 16
Edwin Chen 9.1 17
Edwin Chen 10.1 18 = 3. Configure Wireguard VPN on Gatewaythe LPS8N/DLOS8N/LG308N =
Edwin Chen 9.1 19
Edwin Chen 10.1 20 == 3.1 For LPS8N/DLOS8N/LG308N ==
21
Xiaoling 11.2 22
Xiaoye 8.1 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/]].
Xiaoye 7.1 24
Xiaoye 6.1 25
Edwin Chen 10.1 26 === 3.1.1 Configuration via command line ===
Xiaoling 8.2 27
Edwin Chen 10.1 28 ==== 3.1.1.1 Key Management ====
Xiaoye 6.1 29
30
Xiaoling 8.2 31 **#Generate keys**
32
Xiaoye 6.1 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
Edwin Chen 10.1 47 ==== 3.1.1.2 Firewall configuration ====
Xiaoye 6.1 48
49
50 (((
Xiaoling 8.2 51 **#Configure firewall**
Xiaoye 6.1 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 (((
Xiaoling 8.2 67 **#Reload firewall**
Xiaoye 6.1 68 )))
69
70 (% class="box infomessage" %)
71 (((
72 /etc/init.d/firewall
73 )))
74
75
Edwin Chen 10.1 76 ==== 3.1.1.3 Network configuration ====
Xiaoye 6.1 77
Xiaoling 8.2 78
Xiaoye 6.1 79 (((
Xiaoling 8.2 80 **#Configure network**
Xiaoye 6.1 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 (((
Xiaoling 8.3 96 **#Add VPN peers**
Xiaoye 6.1 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 (((
Xiaoling 8.3 118 **#reload network service**
Xiaoye 6.1 119 )))
120
121 (% class="box infomessage" %)
122 (((
123 /etc/init.d/network reload
124 )))
125
126
127
128