ubuntu配置并连接wireguard客户端
(一)引言
为了能够在工作站上可以访问到远程网络的资源,可以使用wireguard配置。
(二)安装wireguard
首先执行系统更新:sudo apt update
等待更新结束后安装wireguard:sudo apt install wireguard
等待安装完成。
(三)配置wireguard
wg和wg-quick命令行工具可帮助您配置和管理WireGuard接口,WireGuard接口是虚拟网卡。WireGuard VPN网络中的每个设备都需要具有私钥和公钥。在此仅需要使用wg的客户端功能,所以无需生成密钥等等,直接创建新的接口,导入配置文件即可。
- 配置新的接口
sudo vim /etc/wireguard/wg0.conf
- 复制配置文件
复制已有的配置文件到vim打开的文件中去(涉及隐私的部分已用#替换),如下:
这里说明一下/etc/wireguard/wg0.conf配置文件定义接口的每个字段含义。# # Use this configuration with WireGuard client # [Interface] Address = 10.14.0.2/16 PrivateKey = 8DQguawg05nK3P99/##################q14bAYVo= DNS = 162.###.172.##, 149.###.159.92 [Peer] PublicKey = d0m2sIa0JGcxC#############oiWI/oKoX1TL2f2fTA= AllowedIPs = 0.0.0.0/0 Endpoint = 45.###.252.#:51820
Address wg0接口的IP v4或IP v6的地址。请使用保留给私有网络范围内的IP地址,比如10.0.0.0/8、172.16.0.0/12或192.168.0.0/16。
ListenPort 是接口监听的端口。
PrivateKey 由wg genkey命令生成的私钥。你可以使用sudo cat /etc/wireguard/privatekey命令要查看私钥文件的内容。
SaveConfig 设置为true时,当关闭接口时将当前配置将保存到配置文件中。
PostUp 在启动接口之前执行的命令或脚本。
在此示例中,在PostUp钩子启用iptables伪装。这允许流量离开服务器,使VPN客户端可以访问互联网。(三) 连接服务端
在连接之前,需要安装一个依赖包,否则会导致连接报错:sudo apt install openresolv
可以使用sudo wg-quick up wg0
连接服务端:
使用[#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip -4 address add ##.1#.0.#/16 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] resolvconf -a wg0 -m 0 -x Too few arguments. Too few arguments. [#] wg set wg0 fwmark 51820 [#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820 [#] ip -4 rule add not fwmark 51820 table 51820 [#] ip -4 rule add table main suppress_prefixlength 0 [#] sysctl -q net.ipv4.conf.all.src_valid_mark=1 [#] iptables-restore -n
sudo wg-quick down wg0
断开客户端连接,
连接后使可以用sudo wg show
显示当前的接口。
版权声明
本文仅代表作者观点。
本文系作者发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。