WireGuard 快速安装教程

安装前说明:

WireGuard 的安装和使用条件非常苛刻,对内核版本要求极高,不仅如此,在不同的系统中,内核,内核源码包,内核头文件必须存在且这三者版本要一致。

所以一般不建议在生成环境中安装,除非你对自己的操作很有把握。Red Hat、CentOS、Fedora 等系统的内核,内核源码包,内核头文件包名分别为 kernelkernel-develkernel-headers,Debian、Ubuntu 等系统的内核,内核源码包,内核头文件包名分别为 kernellinux-headers

如果这三者任一条件不满足的话,则不管是从代码编译安装还是从 repository 直接安装,也只是安装了 wireguard-tools 而已。

而 WireGuard 真正工作的部分,是 wireguard-dkms,也就是动态内核模块支持(DKMS),是它将 WireGuard 编译到系统内核中。

因此,在某些 VPS 商家,是需要你先自主更换系统内核,并事先将这三者安装好,才有可能不会出现编译或安装失败。

一、升级内核

对于 Ubuntu 等 apt 系的发行版来说,不需要升级内核即可安装 WireGuard,可以略过此步骤。

如果你使用的是 CentOS 等 rpm 系的发行版,必须要升级内核,步骤如下:

1.载入公钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.升级安装 elrepo

# centos7
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm# centos8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

3.载入 elrepo-kernel 元数据

yum --disablerepo=\* --enablerepo=elrepo-kernel repolist

4.安装最新版本的内核

yum --disablerepo=\* --enablerepo=elrepo-kernel install  kernel-ml  -y

5.删除旧版本工具包

yum remove kernel-tools-libs kernel-tools kernel-devel kernel-headers -y

6.安装新版本工具包

yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-ml-tools kernel-ml-devel kernel-ml-headers -y

7.查看内核插入顺序

centos7命令

grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2CentOS Linux (5.17.7-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-20210623111207095151419199170789) 7 (Core)
[root@duandian yum.repos.d]# 

centos8命令

grubby --info=ALL |grep titletitle="Red Hat Enterprise Linux (5.17.7-1.el8.elrepo.x86_64) 8.5 (Ootpa)"
title="Red Hat Enterprise Linux (0-rescue-4cb651785e634a439e0ba4d0a9408d82) 8.5 (Ootpa)"
title="Red Hat Enterprise Linux (4.18.0-348.12.2.el8_5.x86_64) 8.5 (Ootpa)"
title="Red Hat Enterprise Linux (0-rescue-ffffffffffffffffffffffffffffffff) 8.5 (Ootpa)"

默认新内核是从头插入,默认启动顺序也是从 0 开始。

8.查看当前实际启动顺序

centos7命令

grub2-editenv listsaved_entry=CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core)

centos8 命令

grubby --default-kernel
#grubby --default-title/boot/vmlinuz-5.17.7-1.el8.elrepo.x86_64

9.设置默认启动

centos7 命令

grub2-set-default 'CentOS Linux (5.17.7-1.el7.elrepo.x86_64) 7 (Core)'

centos8 命令

grubby --set-default /boot/vmlinuz-5.17.7-1.el8.elrepo.x86_64

10.重启检查

reboot
uname -r

二、安装 WireGuard

官方文档: Installation - WireGuard

1.yum安装

centos7 安装

$ sudo yum install epel-release elrepo-release
$ sudo yum install yum-plugin-elrepo
$ sudo yum install kmod-wireguard wireguard-tools

centos8 安装

$ sudo yum install elrepo-release epel-release
$ sudo yum install kmod-wireguard wireguard-tools

2.脚本一键安装

从源码编译安装 WireGuard,只需一条命令即可。

$ wget --no-check-certificate -O /opt/wireguard.sh https://raw.githubusercontent.com/teddysun/across/master/wireguard.sh$ chmod 755 /opt/wireguard.sh$ /opt/wireguard.sh -s

关于该脚本需要说明几点:

  • 支持两种安装方式:既支持从源代码编译安装,也支持从包管理器直接安装。
  • 脚本会创建默认的 wg0 设备,以及 wg0 的客户端配置,并生成客户端配置对应的二维码 png 图片。
  • 脚本会修改本机防火墙设置,如果未启用防火墙,则会出现警告提示,需要手动去设置。
  • 脚本会从 1024 到 20480 随机生成监听端口。
  • 脚本支持新增,删除,列出客户端功能。
  • 脚本支持查看已安装的 WireGuard 的版本号。
  • 脚本支持从代码编译安装的方式升级 WireGuard 到当前最新版本。

如果你想自己生成配置文件,请直接将配置文件目录清空:

rm -rf /etc/wireguard/*

WireGuard 安装相关推荐

  1. 基于树莓派的WireGuard安装配置与使用

    基于树莓派的WireGuard安装配置与使用 关于WireGuard 简介 WireGuard 是新一代的虚拟专用网协议,相比于 IPSec 和 OpenVPN 等软件,特点是简单.安全.高效,源码总 ...

  2. 组网神器WireGuard安装与配置教程(超详细)

    文章目录 01 引言 02 安装教程 2.1 前提条件 2.2 wireguard安装 2.2.1 步骤一: 安装wireguard 2.2.2 步骤二: 服务端生成秘钥对 2.2.3 步骤三: 配置 ...

  3. macOS安装wireguard

    macOS安装wireguard 安装wireguard 配置wireguard 服务器配置 启动Mac OS客户的网卡 参考: https://www.lixh.cn/archives/2165.h ...

  4. 基于wireguard与NAT实现windows10代理服务器

    前言 您可以前往我的个人博客获得更好地阅读体验 WireGuard是一个免费的网络通信隧道,它可以让您的私有网络和公共网络之间通过一个隧道,让您的私有网络不会被窃听.一般情况下,我们选择使用Linux ...

  5. WireGuard基本原理

    可直接看:WireGuard基本原理与配置 WireGuard:下一代内核网络隧道 摘要: WireGuard是一个安全的网络隧道,在第3层运行,作为Linux的内核虚拟网络接口实现,其目标是在大多数 ...

  6. Wireguard笔记(三) lan-to-lan子网穿透和多网段并存

    目录 Wireguard笔记(一) 节点安装配置和参数说明 Wireguard笔记(二) 命令行操作 Wireguard笔记(三) lan-to-lan子网穿透和多网段并存 多 Wireguard 服 ...

  7. Wireguard详细说明

    什么是 WireGuard? WireGuard 是一个易于配置.快速且安全的开源组网,它利用了最新的加密技术.目的是提供一种更快.更简单.更精简的通用 VPN,它可以轻松地在树莓派这类低端设备到高端 ...

  8. 通过WireGuard搭建隧道实现内网穿透

    1.安装wireguard 官方安装手册:https://www.wireguard.com/install/ docker安装:https://hub.docker.com/r/linuxserve ...

  9. 多云环境下部署 k3s 集群

    多云环境下部署 k3s 集群 最近在玩k3s,刚好手上有三台云服务器(白嫖的一年亚马逊,双11买的腾讯云,朋友的阿里云),尝试跨云厂商搭建k3s集群玩玩 一.基础配置 服务器信息 系统 公网IP 内网 ...

最新文章

  1. 为什么机器学习项目非常难管理?
  2. linux服务器之LVS、Nginx和HAProxy负载均衡器的对比
  3. 文件读写以及数据处理
  4. 【JavaSE04】Java中循环语句for,while,do···while
  5. xgboost学习率不能大于1的原因
  6. 数位 dp 最低位最高位之差绝对值大于2_2020赛季30大球员系列:第27位 微笑刺客 肯巴沃克...
  7. PHP中设置一个严格30分钟过期Session面试题的4种答案
  8. Firebug Lite——在没有调试工具的浏览器(如IE6-7)中调试
  9. Linkedin Camus的使用
  10. 如何运用领域驱动设计 - 领域事件
  11. 使用Camel在来自不同来源的Solr中索引数据
  12. 一键自动生成数据库文档,炫!(告别CV大法)
  13. i++为什么不能作为左值,而++i可以作为左值
  14. 更新linux gcc版本到gcc 4.4.2
  15. 打印收款单据(easypoi)Vue+springBoot+Mybatisplus
  16. 计算机怎么无线连接网络地址,电脑怎么设置无线网络ip地址
  17. 支付宝快捷支付接入问题
  18. 如何在Java中以编程方式阅读,添加或删除PPT中的幻灯片便笺?
  19. 安装iso格式的软件安装程序
  20. 云和恩墨 oracle 监控,产品速递 | 云和恩墨Bethune Pro2——数据库实时监控和智能巡检平台...

热门文章

  1. 计算机教师评语中职,中职计算机专业学生评语-20210614110723.doc-原创力文档
  2. WePy--使用zanUI组件
  3. Android实例-使用自定义字体文件(XE8+小米2)
  4. 导航系统 与 自动驾驶系统 基本概念
  5. DMM6500扫描测试软件(用作摩擦纳米发电测试)
  6. 深度解读 2018 JavaScript 趋势报告(含视频)
  7. 定时器的相关知识与运用定时器相关的程序
  8. Docker 安装 Portainer
  9. 基于OpenCV读取摄像头进行人脸检测和人脸识别
  10. 洛阳地铁一号线无人驾驶_洛阳超级拖拉机I号实现无人驾驶功能