本文主要是介绍为Ubuntu22.04系统配置WireGuard客户端,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于Ubuntu客户端的配置,我个人认为是最难的,因为我对Linux只是处于了解状态,而且ubuntu一般作为服务器端使用,对于客户端的资料基本没有,但是笔者最近安装了Ubuntu的最新操作系统Ubuntu22.04桌面版,感觉很惊艳啊,在micros Egde浏览器的加持下,Ubuntu系统也基本上够用了,所以很想为Ubuntu系统安装一个WireGuard客户端。
按照前面的规则,先在服务器端创建好ubuntu客户端配置文件,然后下载到ubuntu系统本地,将文件名重命名为wg0.conf,并保存在‘etc/wireguard ’文件夹,若没有路径则以以下命令创建:mkdir -p /etc/wireguard,必须要有这一步,因为后面用得到。
WireGuard-Ubuntu客户端可以通过终端安装,也可以从官网下载.deb客户端和wirguard-tool.deb,再通过软件中心安装。
安装好后就可以在终端操作了:
-
最高权限登录终端:
sudo -i
-
提示输入密码:
[sudo] mrhou 的密码:
-
虽然导入了配置文件,但是直接运行的时候出错了,提示网络错误,后来查阅各方资料发现对于Linux系统,必须要设定本机网络参数,具体请看下文。
-
查看本机网络,对于使用公共 IP 地址通过 SSH 或其他协议访问的远程对等方,需要向对等方的文件添加一些额外的规则。这些规则将确保您在连接系统时仍可以从隧道外部连接到系统。否则,当建立隧道时,通常在公共网络接口上处理的所有流量将无法正确路由以绕过隧道接口,从而导致无法访问的远程系统:
输入:
ip route list table main default
输出:
default dev wg0 scope link
default via 192.168.45.47 dev wlp1s0 proto dhcp metric 600
记下网关突出显示的 IP 地址以供以后使用,并记下网卡号wlp1s0 当然每个人的设备名称可能不同。如果是这样,请在命令中替换它。
-
输入:
ip -brief address show wlp1s0
输出:
wlp1s0 UP 192.168.45.40/24 240e:44d:5414:502:58b0:27f0:1da5:492e/64 240e:44d:5414:502:28b8:eb1f:fc41:b387/64 fe80::a547:c15d:61b5:4d78/64
-
输入:
sudo nano /etc/wireguard/wg0.conf
编辑 wg0.conf文件将得到的网络信息以固定格式加入:PostUp = ip rule add table 200 from xxx.xxx.xxx.xxx(本机IP地址),PostUp = ip route add table 200 via xxx.xxx.xxx.xxx(网关IP地址),PreDown = ip rule delete table 200 from xxx.xxxx.xxx.xxx(本机IP),PreDown = ip route delete table 200 via xxxx.xxx.xxx.xxx(网关IP地址),并保存,这些线路将创建自定义路由规则,并添加自定义路由以确保到系统的公共流量使用默认网关。
如以下格式:
[Interface]PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxAddress = 10.0.9.5/24DNS = 114.114.114.114PostUp = ip rule add table 200 from 192.168.222.87PostUp = ip route add table 200 default via 192.168.208.1PreDown = ip rule delete table 200 from 192.168.222.87PreDown = ip route delete table 200 default via 192.168.208.1[Peer]PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAllowedIPs = 10.0.9.0/24PersistentKeepalive = 25Endpoint = xxx.xxx.xxx.xxx:xxxxx
-
如果您通过VPN路由所有流量并设置了DNS转发,则需要在启动隧道之前在WireGuard对等体上安装‘resolvconf‘程序。
输入:
sudo apt install resolvconf #安装resolvconf 程序
-
重启wg0服务:
输入:
sudo wg-quick down wg0 #关闭隧道wg0
输出: [#] ip link delete dev wg0 [#] resolvconf -d tun.wg0 -f
输入:
sudo wg-quick up wg0 #重新开启隧道wg0
8.输入:sudo wg # 您可以使用此命令检查对等体上隧道的状态
看到上面的信息基本可以确定客户端已成功开启,也可以通过WireGuard服务器页面查看客户端或者ping命令查看是否正常运行:
这篇关于为Ubuntu22.04系统配置WireGuard客户端的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!