架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1727|回复: 2

使用 Docker 搭建 WireGuard 异地组网

[复制链接]
发表于 2023-10-14 17:36:49 | 显示全部楼层 |阅读模式
需求:基于  WireGuard 将多台异地设备组成一个局域网,各设备之间可以相互访问,例如:上海移动的一台电脑和山东联通的一台电脑可以相互访问,如下图:


QQ截图20231014163744.jpg

异地组网方案比较Tailscale、ZeroTier、WireGuard、OmniEdge 和 Ngrok
https://www.itsvse.com/thread-10646-1-1.html



WireGuard 是一种极其简单但快速且现代的 VPN,采用最先进的加密技术。它的目标是比 IPsec更快、更简单、更精简、更有用,同时避免令人头疼的问题。它的性能远高于 OpenVPN。WireGuard 被设计为通用 VPN,可在嵌入式接口和超级计算机上运行,​​适合许多不同的情况。它最初针对 Linux 内核发布,现在已跨平台(Windows、macOS、BSD、iOS、Android)且可广泛部署。它目前正在大力开发中,但它可能已被视为业内最安全、最易于使用且最简单的 VPN 解决方案。

官网:https://www.wireguard.com/
源码:https://www.wireguard.com/repositories/



Docker WireGuard 镜像:https://hub.docker.com/r/weejewel/wg-easy
Docker WireGuard 源码:https://github.com/wg-easy/wg-easy

本文基于 Docker 运行 WireGuard,最开始使用 CentOS 7 启动 wg-easy 容器会报错如下:


Error: WireGuard exited with the error: Cannot find device "wg0"
This usually means that your host's kernel does not support WireGuard!
所以,更换一台 Ubuntu 20.04 系统并安装 docker 服务,命令如下:

运行 WireGuard 容器示例如下:

$ docker run -d \
  --name=wg-easy \
  -e WG_HOST=YOUR_SERVER_IP \
  -e PASSWORD=YOUR_ADMIN_PASSWORD \
  -v ~/.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 unless-stopped \
  weejewel/wg-easy
需要修改和添加环境变量:WG_HOST、PASSWORD、WG_DEFAULT_DNS、WG_PERSISTENT_KEEPALIVE,修改后命令如下:

云服务器防火墙安全组需要放行:UDP/51820,TCP/51821 端口。

然后通过浏览器访问:http://ip:51821/ 即可,如下图:

QQ截图20231014164903.jpg QQ截图20231014165005.jpg

新建两个客户端,然后下载配置文件,Home1 对应上海移动,Home2 对应山东联通,如下图:

QQ截图20231014165147.jpg

上海移动和山东联通都是两台 Windows 设备,需要下载 Windows 安装程序,下载地址:https://download.wireguard.com/windows-client/

游客,如果您要查看本帖隐藏内容请回复


配置文件示例:



上海移动和山东联通分别下载安装完成后,分别导入 WireGuard 配置文件,如下图:

QQ截图20231014165528.jpg QQ截图20231014165656.jpg

另外一台电脑导入另外一个配置文件,然后连接。(略)

测试从 10.8.0.2 访问 10.8.0.3 电脑上面的 web 服务,如下图:

QQ截图20231014173355.jpg

(完)




上一篇:阿里云 ECS 和轻量云服务器同地域内网互通
下一篇:Linux 包管理 yum 与 dnf 的区别
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-10-15 14:15:59 | 显示全部楼层
基于 WireGuard 访问 Peer 节点局域网
https://www.itsvse.com/thread-10683-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-10-16 17:19:27 | 显示全部楼层
学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-28 05:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表