Wioguard是一个VPN服务,可以在任何Linux安装上运行。Wioguard作为私人VPN解决方案,还是很容易安装和使用的。本指南的目标是在Ubuntu 16.04,18.04,18.04或20.04上安装Wioguard并配置Windows Desktop PC以连接到VPN服务器。
什么是WireGuard?
Wioguard是一个VPN服务,可以在任何Linux安装上运行。 它拥有许多流行的操作系统,如Windows,iOS,Android等许多受欢迎的操作系统。 Wioguard夸耀比OpenVPN更安全,同时拥有超过一百万的代码,这意味着安装较小,并且也更快。 作为私人VPN解决方案,还是很容易安装和使用的。
目的:
本指南的目标是在Ubuntu 16.04,18.04,18.04或20.04上安装Wioguard并配置Windows Desktop PC以连接到VPN服务器。这将是许多用户最常见的Wioguard使用。与本指南不同的其他操作系统的唯一步骤是初始安装,可以在3行或更少的时间内完成,可以在https://wireguard.com/install找到。
此软件的其他用途可以是网络服务器,将一个私有本地网络连接到运行远程数据库的服务器,该服务器不应该接受来自它们的服务器以外的服务器的请求,以便为其提供内容。
安装:
最好不要将root用户用于任何事物是最好的实践,而是使用sudo用户在需要时可以将事物作为词根运行。在本指南中,我们将以” sudo”为前缀。
在Ubuntu 16.04和18.04上,安装Wioguard的命令很简单。 但是,默认情况下不包括安装的存储库。 以下是要运行的3个命令以添加存储库并安装软件。
sudo add-apt-repository PPA:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard
在稍后的Ubuntu版本上,默认情况下包含Wioguard的存储库。 您可以使用命令安装:
sudo apt-get install wireguard
现在安装了Wioguard,是时候开始将其作为VPN服务器配置。
服务器配置:
首先,我们必须生成公共和私有加密密钥对。
sudo -i
cd /etc/wireguard/
umask 077; wg genkey | tee private key | wg pubkey > public key
现在我们可以使用cat命令查看它们。 您将希望在记事本中保存私钥或以供以后使用的内容。
ls -l private key public key
cat private key
现在我们将在添加VPN网络适配器中,以允许其他机器安全地连接。 使用您喜欢的文本编辑器,我们将进行一些配置更改 /etc/wireguard/wg0.conf, 对于本指南,我们将使用Nano。
sudo nano /etc/wireguard/wg0.conf
我们需要将以下内容添加到文件的末尾。 请注意,这只是一个模板,您需要更改与服务器相关的值。
[Interface]
Address = **YOURSERVERIPHERE**
SaveConfig = true
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o **ens3** -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o **ens3** -j MASQUERADE
ListenPort = **41194**
PrivateKey = **YOURPRIVATEKEYDETAILSHERE**
[Peer]
PublicKey = **YOURSERVERIPHERE**
AllowedIPs = **192.168.9.2/32**
使用CTRL + X保存为YES,然后输入以保持相同的文件名.`
在继续之前,我想在这里解释一些不同的事情。 首先是IP地址。 该地址必须是您选择的内部或私有IP。 192.168.xxx.xxx或10.xxx.xxx.xxx很常见。 在这里我将其设置为 您的服务器 因为所有其他机器都将与此连接到VPN。 接下来是[接口]部分中的私钥。 这是我们之前生成的关键。
我们想要谈论的下一件事是发布和后期。 当VPN启动和停止时,调用它们并允许您通过Wioguard转发流量。 你需要更换 ens3 使用您的公共IP地址的网络适配器的名称。如果您想要有一个”内部LAN”类型的环境或指向点,则会留下这些。点对点环境的应用程序例如连接远程数据库服务器。这 监听端口 可以是你想要的任何港口,只要它已经没有在它上运行了。
向下移动到[PEER]部分,我们有一些与OpenVPN等软件不同的东西。 我们有一个公钥和另一个内部IP地址。 此模板是工作配置的成品,您将替换使用自己的PublicKey值。 Wioguard不允许任何人连接到它。 最好生成一个新的公共/私钥对,并用公钥和您分配该连接的内部IP地址手动将每个用户分配给服务器。
我们现在在家里伸展。 我们需要允许通过防火墙进行流量,假设您使用的UFW:
sudo ufw allow 41194/UDP
现在,我们需要启用IPv4转发。 我们通过输入以下命令来执行此操作:
sysctl -w net.ipv4.ip_forward=1
最后但同样重要的是,我们开始一切。
wg-quick up wg0
让我们验证一切都处于良好的工作状态
sudo wg show
现在,您的Wioguard服务器已启动并运行。 在此时重新启动服务器是一个好主意,不要担心转回Wiguard。 它会自动回来。 是时候使用我们生成的公钥并获取连接到VPN的Windows PC。
可以找到官方客户的下载这里,我们将使用它为本指南。 安装后,您应该看到这样的客户。
设置客户端:
单击”添加隧道”旁边的箭头将允许我们添加空隧道。您的空洞隧道将使用我们将使用的公共/私钥对进行预装。
首先,让我们使用我们必须配置Windows VPN客户端的信息。
[Interface]
PrivateKey = **YOURPRIVATEKEY**
Address = **YOURSERVERIP**
DNS = 8.8.8.8
[Peer]
PublicKey = **YOURPUBLICKEY**
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 255.255.255.255:**LISTENPORT**
再次在[接口]块中,我们手动分配私有IP,我们将在我们的专用网络中使用,存储我们的私钥。我们还将分配用于DNS解析的地址。在此示例中,我们正在使用Google的公共DNS服务器。
在[PEER]块中,我们正在提供服务器的信息。 首先,提供服务器的公钥。 在允许的IP字段中,我们希望允许所有流量连接,因为我们使用服务器连接到Web地址。 以上,我们允许来自所有地址的IPv4和IPv6流量。 最后一个设置是端点,它告诉您的客户端查找VPN服务器的位置。 此地址和端口是服务器上的地址和端口。
现在是时候通过在YOURSERVERIP的[Peer]块中添加我们之前提到的公共密钥来结束这一过程了。 供参考,那是 /etc/wireguard/wg0.conf.
现在,我们准备激活VPN并享受我们的安全虚拟专用网络。