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