上古神器WireGuard异地高效率组网

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 相信很多的工作者、极客玩家或者学生党在项目开发以及发布的时候会遇到云上服务器资源不够(包括内存不够、磁盘不够等等),而我们可能由于一些问题,无法升级云服务器的配置,这样的场景就很尴尬对吧?现在的确有许多的像netapp、以及zerotier这样的内网穿透的存在,但是存在一个问题就是不安全,路由网关并不是在我们自己机器上,而且这些市面的望穿也有高效的方法但是要用money,苦于囊中羞涩,这时候WireGuard就可以很好提供高性能的内网穿透能力。

 Snipaste_2022-04-24_12-29-24.jpg

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟

🌈擅长领域:Java、大数据、运维、电子

🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!

🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


目录

缘由

简介

官网

WireGuard组网实现架构图

下面用WireGuard演示一台公网服务器和一台线下机器异步组网:


缘由

       相信很多的工作者、极客玩家或者学生党在项目开发以及发布的时候会遇到云上服务器资源不够(包括内存不够、磁盘不够等等),而我们可能由于一些问题,无法升级云服务器的配置,这样的场景就很尴尬对吧?现在的确有许多的像netapp、以及zerotier这样的内网穿透的存在,但是存在一个问题就是不安全,路由网关并不是在我们自己机器上,而且这些市面的望穿也有高效的方法但是要用money,苦于囊中羞涩,这时候WireGuard就可以很好提供高性能的内网穿透能力。

       举个例子:你是个学生或者工作者,在你的实验室或者公司电脑上,有着项目或者资料,你有又出门在外,想要访问实验室或者公司内部的资料,虽然像向日葵、ToDesk可以满足需求,但是由于是第三方提供着提供有带宽的限制,会导致一卡一卡的,这时候你就可以使用Windows或者Linux自带的远程服务搭配上WireGuard解决这种尴尬的场面。

简介

     WireGuard 是一个易于配置、快速且安全的开源 VPN,它利用了最新的加密技术。目的是提供一种更快、更简单、更精简的通用 VPN,它可以轻松地在树莓派这类低端设备到高端服务器上部署。他没有像OpenVPN那样10w的代码量,WireGuard非常精简只有4000行代码。

官网

地址:https://www.wireguard.com/quickstart/

WireGuard组网实现架构图

    • 架构图:
    • image.gif

    下面用WireGuard演示一台公网服务器和一台线下机器异步组网:

    WireGuard Server(一台公网服务器):

      更新update

      yum update -y

      image.gif安装wireguard

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

      创建目录

      cd /etc/wireguard

      生成密钥对

      # 开始生成 密匙对(公匙+私匙)。
      wg genkey | tee privatekey-server | wg pubkey > publickey-server # 生成服务端密钥对

      配置服务端文件
      vim /etc/wireguard/wg0.conf输入以下内容

      [Interface]
      Address = 10.100.0.1/16  # 这里指的是使用 10.100.0.1,网段大小是 16 位
      SaveConfig = true
      ListenPort = 51820  # 监听的 UDP 端口
      PrivateKey = < 这里填写 Server 上 privatekey 的内容 >
      # 下面这两行规则允许访问服务器的内网,注意替换`eth0`
      PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
      # Client,可以有很多 Peer
      [Peer]
      PublicKey = < 这里填写 Client 上 publickey 的内容 >
      AllowedIPs = 10.100.0.2/32  # 这个 Peer 只能是 10.100.0.2/32
      # 如果想把所有流量都通过服务器的话,这样配置:
      # AllowedIPs = 0.0.0.0/0, ::/0


      启停服务端

      wg-quick up wg0    #启动服务端
      wg-quick down wg0  #停止服务端
      wg #查看节点列表
      wg syncconf wg0 <(wg-quick strip wg0) #重载配置文件,不影响已有连接.

      image.gif

      WireGuard Client(N台非公网服务器):

      更新update

      yum update -y

      安装wireguard

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

      创建目录

      cd /etc/wireguard

      生成密钥对

      # 开始生成 密匙对(公匙+私匙)。
      wg genkey | tee privatekey-client | wg pubkey > publickey-client   # 生成客户端密钥对

      image.gif配置客户端文件

      [Interface]
      PrivateKey = < 这里填写 Client 上 privatekey 的内容 >
      Address = 10.100.0.2/32
      DNS = 8.8.8.8  # 连接后使用的 DNS, 如果要防止 DNS 泄露,建议使用内网的 DNS 服务器
      [Peer]
      PublicKey = < 这里填写 Server 上 publickey 的内容 >
      Endpoint = 1.1.1.1:51820  # 服务端公网暴露地址,51280 是上面指定的
      AllowedIPs = 10.100.0.0/16,172.17.0.11/20  # 指定要访问的服务端网段,或者设置0.0.0.0/0来进行全局代理.
      PersistentKeepalive = 25

      image.gif

      启动客户端连接

      wg-quick up ./wg0.conf

      image.gif

      启动完客户端之后回WireGuard服务端查看,也可以尝试从客户端pingWireGuard服务器(内网地址),注意公网作为WireGuard的服务器要安全组开端口

      wg

      image.gif


      相关文章
      |
      4月前
      |
      网络性能优化 定位技术 C++
      跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
      贝锐蒲公英云智慧组网采用自研智能选路技术,可根据实时网络状况自动选择最优路径,大幅降低延迟并提升传输速率。相较于传统单线模式下数据必须经由单一服务器转发导致高延迟与无备份线路的问题,蒲公英通过全球分布式节点与SD-WAN技术实现了智能实时导航能力。实测显示,智能选路可使通讯延迟降低5倍、传输速率提升百倍。该技术基于多云服务商的主干网络与FullMesh架构,能自动避开拥堵路径并确保网络可用性,即使面对线路故障也能自动切换,提供更快速、稳定和可靠的跨地区远程访问体验。
      111 3
      跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
      |
      3月前
      |
      监控 安全 数据挖掘
      企业管理新挑战:局域网上网控制软件之选
      在数字化办公时代,企业常面临员工上班分心的问题。本文精选四款局域网上网控制软件:A10 Thunder CFW 强调网络安全与准入控制,监控上网行为,但成本较高;WorkWin 功能全面,支持灵活管理策略及强大的数据分析,且注重数据安全;OsMonitor 实时监控上网活动,满足一般管理需求;BMC TrueSight 则提供深度网络安全防护与精细上网行为管理,但配置较复杂。各具特色,助您选择最适合的一款。
      45 0
      企业管理新挑战:局域网上网控制软件之选
      |
      6月前
      |
      监控 安全 数据可视化
      必备工具丨这三款局域网监控软件真不错
      探索局域网监控利器:WorkWin、ManageEngine OpManager和SolarWinds NPM。WorkWin助你精确管理员工时间,保障企业合规运营;OpManager提供全面的网络、服务器和应用监控;SolarWinds NPM则以实时数据、自定义警报和可视化工具确保网络性能。提升效率,确保安全,这些工具不容错过![链接](https://www.bilibili.com/read/cv34857525)
      133 0
      |
      6月前
      |
      网络安全 SDN 网络虚拟化
      《计算机网络简易速速上手小册》第8章:软件定义网络(SDN)与网络功能虚拟化(NFV)(2024 最新版)
      《计算机网络简易速速上手小册》第8章:软件定义网络(SDN)与网络功能虚拟化(NFV)(2024 最新版)
      143 2
      |
      6月前
      |
      监控 安全 API
      《计算机网络简易速速上手小册》第5章:无线网络和移动通信(2024 最新版)
      《计算机网络简易速速上手小册》第5章:无线网络和移动通信(2024 最新版)
      52 2
      |
      缓存 负载均衡 NoSQL
      山东布谷科技直播软件源码Nginx服务器横向扩展:搭建更稳定的平台服务
      Nginx服务器横向扩展提高了[直播软件源码](https://developer.aliyun.com/article/1302799?spm=a2c6h.13148508.setting.15.65934f0e6yi0Cp)性能,使直播软件源码平台性容错性、负载能力、处理高并发能力等能力有了极大地提升,确保了平台向着更高心梗、更稳定的方向发展,并且这样,使用户的体验大大增加,增加用户黏性,增多了用户的数量。
      山东布谷科技直播软件源码Nginx服务器横向扩展:搭建更稳定的平台服务
      |
      网络协议 数据库 网络虚拟化
      华为网工组网技术的常用命令
      华为网工组网技术的常用命令
      |
      机器学习/深度学习 区块链 Android开发
      |
      存储 网络虚拟化
      华为、H3C设备巡检命令大全,网络工程师福音!
      华为、H3C设备巡检命令大全,网络工程师福音!
      538 0
      |
      编解码 算法 安全
      实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
      大家好,我是码农飞哥,作为一个常年混迹职场的老码农。我在工作和生活中碰到了很多问题,也帮助别人解决了很多问题。前有帮实习生配环境,后有帮同事调BUG,中间还有教老爸如何使用手机。
      171 0
      实测办公场景下,国产远程控制软件的表现力如何?(技术解析)