首页 > 其他分享 >WireGuard部署

WireGuard部署

时间:2024-12-15 23:57:40浏览次数:5  
标签:wg 部署 IP 网卡 WireGuard wg0 key

WireGuard是一个易于配置、快速、安全的基于UDP协议的开源VPN软件。Wireguard具有自定义配置路由转发的能力,所以可以被用来在多个不同地域将设备所在的内网网络通过路由转发的方式串通起来,组建一张属于自己的大内网!有时候,我们想将本地计算机上提供的服务与小伙伴分享,但是我们既没有公网IP,又希望能够有足够的安全性,避免使其暴露在公网上。因此,我们基于Wireguard这一项最基本的特性,设计和实现了一套异地组网方案。我们基于Wireguard这一项最基本的特性,设计和实现了一套异地组网方案。这里给大家介绍两种部署方式,以供大家选择。

一、WireGuard 基本概念

首先使用 WireGuard 你需要在系统中创建一块虚拟网卡,并配置好这个虚拟网卡的 IP 地址,掩码,网关不需要配置(可以使用 wg-quick@ 自动化)

然后你使用 WireGuard 连接另一台设备,两台互相 peer 对方并验证各自的公钥私钥是否正确,全部正确后成功建立 peer(可以使用 wg-quick@ 自动化)

建立成功后,所有前往虚拟网卡的流量都将被重新封装后发往另一台设备,由另一台设备解封装然后得到数据报文并在内部查找路由并匹配报文目的地。(可以使用 wg-quick@ 自动化)

以上为建立一个 WireGuard VPN 链接的过程,建立好后,A 设备与 B 设备互相需要保证虚拟网卡的 IP 在相同网络位的地址段中,并且这个地址段被 WireGuard 的配置文件 AllowedIPs 所允许通过

如果你试图从 A 设备访问 B 设备的对端子网,你需要在 A 设备上配置系统路由,将系统三层网络的路由目的地指向对端虚拟 IP 地址,出接口为虚拟网卡,并且这个地址段必须被 WireGuard 的配置文件 AllowedIPs 所允许通过

最后,在 WireGuard 中的所有数据报文,都采用 UDP 的方式发送。
 

二、安装 WireGuard

1.安装Wireguard

#root权限
sudo -i

#安装wireguard软件
apt install wireguard resolvconf -y

#开启IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

2.修改目录权限

cd /etc/wireguard/
chmod 0777 /etc/wireguard

#调整目录默认权限
umask 077

3.生成服务器密钥

#生成私钥
wg genkey > server.key

#通过私钥生成公钥
wg pubkey < server.key > server.key.pub

4.生成客户端密钥

#生成私钥
wg genkey > client1.key

#通过私钥生成公钥
wg pubkey < client1.key > client1.key.pub

5.查看密钥

cat server.key && cat server.key.pub && cat client1.key && cat client1.key.pub

6.创建服务端配置文件

echo "
[Interface]
PrivateKey = $(cat server.key) # 填写本机的privatekey 内容
Address = 10.0.8.1 #本机虚拟局域网IP

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
#注意eth0需要为本机网卡名称

ListenPort = 50814 # 监听端口
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey =  $(cat client1.key.pub)  #自动client1的公钥
AllowedIPs = 10.0.8.10/32 #客户端所使用的IP" > wg0.conf

7.启动服务

#设置开机自启动
systemctl enable wg-quick@wg0

#启动wg0
wg-quick up wg0

#关闭wg0
wg-quick down wg0

#如果启动失败只有有wg0网卡,需删除再次启动
ip link delete wg0

8.配置客户端

Windows下载地址:https://www.wireguard.com/install/

#客户端配置
[Interface]
PrivateKey = 6M8HEZioew+vR3i53sPc64Vg40YsuMzh4vI1Lkc88Xo= #此处为client1的私钥
Address = 10.0.8.10 #此处为peer规定的客户端IP
MTU = 1500

[Peer]
PublicKey = Tt5WEa0Vycf4F+TTjR2TAHDfa2onhh+tY8YOIT3cKjI= #此处为server的公钥
AllowedIPs = 10.0.8.0/24 #此处为允许的服务器IP
Endpoint = 114.132.56.178:50814 #服务器对端IP+端口

9.连接

4658e56cf5dc493194931b981480e24a.png这时候很明显我电脑和服务器地址不在一个网段,但是我也可以成功访问公司网络咯~

09870e03be6c457aaca5f71da26dc80c.png

三、docker部署

这种方式简单,前提是需要安装docker。关于docker部署,cicd专栏-kubeadm部署k8s一篇博文中有写到。感兴趣小伙伴可以参考

docker run -d \
  --name=wg-easy \
  -e WG_HOST=123.123.123.123 (

标签:wg,部署,IP,网卡,WireGuard,wg0,key
From: https://blog.csdn.net/m0_69326428/article/details/144492325

相关文章

  • 飞牛 fnos docker镜像部署OpenSpeedtest宽带网速测试教程
    penSpeedTest是一个跨平台的网络测速应用,支持不同操作系统的浏览器,无需安装额外软件或插件。您可以在iPhone、iPad、Android设备、Windows和Linux系统的电脑、手机和平板上直接测试设备与NAS之间的宽带速度。通过这个可以排查出设备与NAS之间的传输速度。docker安装1、下......
  • fastapi本地部署,网页调用
      Fastapi本地部署:1、启动main.py。文件test_main.http,点击3处运行,运行接口报错:Responsecode:504(GatewayTime-out);Time:10032ms(10s32ms);Contentlength:101929bytes(101.93kB)2、文件main.py运行。在浏览器输入:http://10.58.71.144:8000/。打印:{"m......
  • Ubuntu 22.04 部署 Kubernetes v1.30
    1Shell工具xshell免费版,工具菜单下可选,同时控制所有的会话,后面不同节点安装Kubernetes会提高效率2节点规划Linux为UbuntuServer22.04,下载地址https://ubuntu.com/download/server域名IP资源节点名k8s-master192.168.0.1508C16Gk8s-masterk8s-node1......
  • 基于微信小程序的医院设备报修管理系统设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3具体实现截图3.1小程序端部分效果3.2后台管理端部分效果4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2微信小程序5.3系统开发平台6.业务流程分析7.代码参考8.数据库参考9.为什么选择我们10.源码及文档获取1.前言博主介绍:✌C......
  • 部署云端
    ......
  • 基于SpringBoot + Vue的超市外卖系统的设计与实现(精选计算机毕业设计-源码+文档+部署)
    文章目录系统演示录像系统实际运行效果图技术框架SpringBoot-后端开发框架Vue-前端开发框架前后端分离的开发流程可行性分析系统测试系统测试的目的系统功能测试数据库表设计(供参考)1.用户表(t_user)2.角色表(t_role)3.权限表(t_permission)4.用户-角色关联表(t_user_r......
  • WindowsServer2022部署DHCP服务器及其中继服务器
    Step0:环境检查首先需要关闭VMware自带的DHCP服务,这个会影响自己的DHCP服务 把使用本地DHCP服务将IP地址分配关闭即可 给VM1网卡一个静态的IP地址,需要在子网81.6.63.0/24网段里即可  我这里给的是81.6.63.100/24Step1:在WindowsServer上的配置    ......
  • NAS部署quark-auto-save,实现网盘资源自由
    安装拉取镜像dockerpullcp0204/quark-auto-save:latest一键运行容器dockerrun-d--namequark-auto-save-p5005:5005-eTZ=Asia/Shanghai-v/volume1/docker/quark-auto-save:/app/config#配置文件路径--restartunless-stoppedcp0204/quark-auto-save......
  • NAS部署quark-auto-save,实现网盘资源自由
    安装拉取镜像dockerpullcp0204/quark-auto-save:latest一键运行容器dockerrun-d--namequark-auto-save-p5005:5005-eTZ=Asia/Shanghai-v/volume1/docker/quark-auto-save:/app/config#配置文件路径--restartunless-stoppedcp0204/quark-auto-save......
  • 通过学习和掌握以上的内容,您将能够有效部署、优化、管理并确保 Windows Server 2022
    WindowsServer2022文件服务器初级使用教程大纲1.引言1.1什么是文件服务器?定义和用途WindowsServer2022文件服务器的特点1.2文件服务器的常见应用场景中小型企业文件共享数据存储与备份权限管理与安全性要求2.WindowsServer2022文件服务器基础概......