WireGuard
WireGuard 是一种简洁高效、易配置且跨平台的开源 VPN 技术。它采用先进加密算法确保安全可靠,通过简单配置文件即可设置,可在 Linux、Windows、macOS、Android 和 iOS 等多种操作系统上运行。能助力远程办公、保护隐私,为用户提供安全稳定的网络连接。
一些应用场景
WireGuard 的使用场景非常广泛,以下是一些主要的应用场景:
-
个人隐私保护:用户可以在家中或公司网络中搭建 WireGuard VPN 服务,将所有流量通过 VPN 隧道进行传输,以保护个人隐私和数据安全。
-
远程办公:企业员工可以通过 WireGuard VPN 连接到公司内部网络,实现远程办公和访问内部资源。
-
站点到站点连接:在拥有多个办公地点的企业中,可以使用 WireGuard 构建站点到站点的 VPN 连接,实现不同地点的网络互联。
-
跨云连接:在现代云计算环境中,WireGuard 可以用于连接不同的云服务提供商,实现跨云的网络连接和数据同步。
- 点对点连接:WireGuard 可以用于创建直接连接两台设备的 VPN 隧道,适用于需要直接安全通信的场景。
- IPv6 网络:对于拥有公网 IPv6 的用户,WireGuard 可以利用 IPv6 实现远程访问局域网,无需通过第三方服务器进行打洞,延迟低,可以跑满本地带宽。
搭建教程
本次搭建教程将在Rocky Linux 9
中进行,且使用docker
的方式来部署。
linux 的内核需要升级到 5.6
检查内核
通过下方的命令来查看系统内核版本:
uname -r
我的内核是5.14.0
已经满足使用完整的 WireGuard 服务的内核要求。
如果你的系统的内核不满足最低的5.6
版本,则需要对内核进行升级。
设置开机加载内核模块
先加载内核:
modprobe ip_tables && modprobe iptable-nat
设置开机自动加载:
sudo vi /etc/modules-load.d/iptables.conf
写入以下内容:
ip_tables
iptable_nat
安装Docker服务
如果你已经安装了这步可以直接跳过:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
# 安装
yum install -y docker-ce docker-ce-cli containerd.io
# 启动
systemctl enable --now docker
创建容器
使用docker 快速启动服务:
docker run -d \
--name=wg-easy \
-e WG_HOST=192.168.31.213 \
-e PASSWORD=123456 \
-e WG_DEFAULT_ADDRESS=10.0.0.x \
-e WG_DEFAULT_DNS=114.114.114.114 \
-e WG_PERSISTENT_KEEPALIVE=30 \
-e WG_ALLOWED_IPS=10.0.0.0/24 \
-v $PWD/wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart=always \
weejewel/wg-easy
需要修改几个参数:
- WG_HOST:改为服务器公网IP或者域名。
- PASSWORD:we b ui的密码。然后启动服务:
等待服务启动完成后,通过访问51821
端口来进入到web界面管理wireguard服务:
添加客户端
登录到web ui界面后,即可通过web界面来管理客户端:
WireGuard 的客户端程序可以通过下方的地址进行下载安装:
https://www.wireguard.com/install/
导入配置文件
我们可以从web界面下载客户端连接的配置文件:
然后可以通过客户端程序进行导入: