组网神器WireGuard安装与配置教程(超详细)
创始人
2025-01-19 09:03:59
0

文章目录

  • 01 引言
  • 02 安装教程
    • 2.1 前提条件
    • 2.2 wireguard安装
      • 2.2.1 步骤一: 安装wireguard
      • 2.2.2 步骤二: 服务端生成秘钥对
      • 2.2.3 步骤三: 配置文件生成
        • 2.2.3.1 服务端配置文件生成
        • 2.2.3.2 客户端配置文件生成
      • 2.2.4 步骤四: 启动
        • 2.2.4.1 服务端启动
        • 2.2.4.2 客户端启动
      • 2.2.5 步骤五: 测试
  • 03 其它
    • 3.1 命令
    • 3.2 密钥生成
  • 04 文末

01 引言

wireguard官网地址:https://www.wireguard.com

在这里插入图片描述
wireguard是什么?维基百科是这样描述的:

  • WireGuard是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用高速性能低攻击面
  • 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;
  • WireGuard 协议通过UDP传递流量。

通过描述,我们知道了wireguard其实就是一个FAST(速度快)、MODERN(流行)、SECURE (安全)的VPN TUNNEL(VPN隧道)

ok,那么如何安装呢?本文来讲解下:

02 安装教程

注意本文讲解的安装教程是wireguard能在外网的条件下使用的,内网间的调试就不讲解了,区别只是互联网的不稳定性或防火墙等因素

安装视频与教程:

  • https://www.wireguard.com/install/
  • https://www.wireguard.com/quickstart/

2.1 前提条件

如果在外网的情况下使用wireguard,安装之前需要满足以下条件:

  1. 需要有公网的ip地址(这些地址可以直接在腾讯云、阿里云等厂商购买);
  2. 如果Linux内核版本<5.6,可能需要首先更新内核(本文不介绍内核升级教程);
  3. 不同的系统中,内核,内核源码包,内核头文件必须存在且这三者版本要一致(例如:Red Hat、CentOS、Fedora 等系统的内核源码包,内核头文件包名分别为 kernel、kernel-devel、kernel-headersDebian、Ubuntu 等系统的内核源码包,内核头文件包名分别为 kernel、linux-headers)。

2.2 wireguard安装

安装的总体流程如下:

  • step1: 安装wireguard
  • step2: 服务端生成秘钥对
  • step3: 配置文件生成(服务端与客户端)
  • step4: 启动(服务端与客户端)
  • step5: 测试

2.2.1 步骤一: 安装wireguard

官方安装教程: https://www.wireguard.com/install

使用命令安装:

sudo apt-get install wireguard 

2.2.2 步骤二: 服务端生成秘钥对

① 开启ipv4流量转发:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p 

② 创建并进入WireGuard文件夹:

mkdir -p /etc/wireguard && chmod 0777 /etc/wireguard cd /etc/wireguard umask 077 

③ 生成服务器和客户端密钥对:

wg genkey | tee server_privatekey | wg pubkey > server_publickey wg genkey | tee client_privatekey | wg pubkey > client_publickey 

2.2.3 步骤三: 配置文件生成

2.2.3.1 服务端配置文件生成

生成的配置文件路径/etc/wireguard/wg0.conf,命令如下:

echo " [Interface] PrivateKey = $(cat server_privatekey) # 填写本机的privatekey 内容 Address = 10.0.8.1/24 PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 50814 # 注意该端口是UDP端口 DNS = 8.8.8.8 MTU = 1420 [Peer] PublicKey =  $(cat client_publickey)  # 填写对端的publickey 内容 AllowedIPs = 10.0.8.10/24 " > wg0.conf 

注意:

  • 如果名字不是eth0, 以下PostUpPostDown处里面的eth0替换成自己服务器显示的名字;
  • ListenPort为端口号,可以自己设置想使用的数字;
  • 以上内容一次性粘贴执行,不要分行执行

还需要设置开机启动:

systemctl enable wg-quick@wg0 
2.2.3.2 客户端配置文件生成

生成的配置文件路径/etc/wireguard/client.conf,命令如下:

echo " [Interface]   PrivateKey = $(cat client_privatekey)  # 填写本机的privatekey 内容   Address = 10.0.8.10/24   DNS = 8.8.8.8   MTU = 1420  [Peer]   PublicKey = $(cat server_publickey)  # 填写对端的publickey 内容   Endpoint = server公网的IP:50814   AllowedIPs = 0.0.0.0/0, ::0/0   PersistentKeepalive = 25 " > client.conf 

2.2.4 步骤四: 启动

2.2.4.1 服务端启动

启动或停止wireguard服务端的命令如下:

# 启动WireGuard wg-quick up wg0 # 停止WireGuard wg-quick down wg0 

查看wireguard服务端运行状态命令:

wg 

在这里插入图片描述

2.2.4.2 客户端启动

启动或停止wireguard客户端的命令如下:

# 启动WireGuard wg-quick up client # 停止WireGuard wg-quick down client 

查看wireguard客户端运行状态命令:

wg 

在这里插入图片描述
还可以在客户端配置路由

ip route add 103.52.188.136 via 192.168.1.2  ip route add 0.0.0.0/0 via 10.0.8.1   # 所有的流量都走这个ip 

当然,最简单的方式就是直接导入2.2.3.2 生成客户端的配置文件/etc/wireguard/client.conf),不过要下载wireguard客户端:
在这里插入图片描述

2.2.5 步骤五: 测试

多台机器互ping即可:

ping 10.0.8.1 

服务器也可以安装tcpdump来监听网络接口的数据包:

apt -y install tcpdump  tcpdump -i wg0  # 我们的转发都是经过这个私网来进行的可以客户ping的同时,服务端进行抓包查看 

03 其它

至此,wireguard安装成功了!下面的内容,有兴趣的也可以继续阅读。

3.1 命令

可以通过添加一个新接口ip-link(8),它应该自动处理模块加载(非 Linux 用户将改为编写wireguard-go wg0.):

ip link add dev wg0 type wireguard 

一个 IP 地址和对等体可以被分配ifconfig(8)ip-address(8)

ip address add dev wg0 192.168.2.1/24 

或者,如果总共只有两个对等点,则可能更需要这样的操作:

ip address add dev wg0 192.168.2.1 peer 192.168.2.2 

该接口可以使用包含的wg(8)实用程序配置密钥和对等端点:

wg setconf wg0 myconfig.conf 

或者

wg set wg0 listen-port 51820 private-key /path/to/private-key peer ABCDEF... allowed-ips 192.168.88.0/24 endpoint 209.202.254.14:8172 

最后,可以使用 ifconfig(8) 或激活接口ip-link(8)

ip link set up dev wg0 

还有wg showwg showconf命令,用于查看当前配置。

调用wg不带参数默认为wg show所有WireGuard接口。

3.2 密钥生成

WireGuard 需要 base64 编码的公钥和私钥。这些可以使用该wg(8)实用程序生成:

$ umask 077 $ wg genkey > privatekey 

这将privatekey在包含新私钥的stdout上创建。


然后,您可以从您的私钥派生您的公钥:

$ wg pubkey < privatekey > publickey 

privatekey将从标准输入读取并将相应的公钥写入publickey标准输出。


当然,您可以一次完成所有这些:

$ wg genkey | tee privatekey | wg pubkey > publickey 

04 文末

参考文献:

  • 《wireguard安装与配置》
  • 《wireguard安装教程》
  • 《wireguard快速了解》

本文主要讲解了wireguard的安装与配置教程,希望能帮助到大家,谢谢大家的阅读,本文完!

相关内容

热门资讯

十分钟妙计!微乐家乡官方app... 十分钟妙计!微乐家乡官方app,新畅游互娱科技,专业教程(一直是有挂的);无需打开直接搜索薇:136...
第四分钟举措!可乐辅助,wpk... 第四分钟举措!可乐辅助,wpk模拟器是什么,可靠教程(一贯有挂) 了解更多开挂安装加(1367043...
6分钟秘籍!开挂科技软件免费,... 6分钟秘籍!开挂科技软件免费,花花生活圈怎么开挂,新版2026教程(一贯确实有挂)1、下载安装好花花...
第4分钟积累!超凡辅助平台,掌... 第4分钟积累!超凡辅助平台,掌电竞技辅助工具,必赢教程(其实是有挂);无需打开直接搜索打开薇:136...
1分钟绝活儿!奇迹陕西辅助器,... 1分钟绝活儿!奇迹陕西辅助器,xpoker透视辅助,第三方教程(其实真的是有挂) >>您好:软件加薇...
第五分钟举措!广东闲来app辅... 第五分钟举措!广东闲来app辅助,德普之星私人局辅助免费,详细教程(其实真的是有挂)>>您好:软件加...
第七分钟积累!大唐撸麻雀作弊码... 大唐撸麻雀作弊码 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
第二分钟方案!赣湘互娱怎么下载... 第二分钟方案!赣湘互娱怎么下载辅助,wepoker脚本下载,教你教程(其实有挂) >>您好:软件加薇...
八分钟积累!边锋干瞪眼辅助器,... 八分钟积累!边锋干瞪眼辅助器,浙江宝宝游戏辅助器,安装教程(其实有挂);无需打开直接搜索加(薇:13...
第4分钟妙计!蜀山手游全自动辅... 蜀山手游全自动辅助是一款专注玩家量身打造的游戏记牌类型软件,在蜀山手游全自动辅助这款游戏中我们可以记...