极简记录:如何配置WireGuard内网访问

     分类: 个人笔记 发布时间: 2022-10-08 17:26 2,153人浏览

wireguard ,一个新时代的vpn
其主要特征是支持点对点(peer to peer)的访问,或构建一个虚拟局域网。
当然,我的主要目标很简单,还是利用wireguard实现最传统的VPN网关功能,也就是连接上wireguard之后可以直接访问路由器后家庭内网的任意主机,大概拓扑如下:
极简记录:如何配置WireGuard内网访问插图

最简单的方式就是通过docker安装,github上有一个wireguard+配置面板的项目:
https://github.com/Place1/wg-access-server

以上图拓扑为例
1. 在主机192.168.1.101上安装docker
2. 执行以下命令,其中WG_ADMIN_PASSWORD字段是web登录的密码(账号为admin),WG_WIREGUARD_PRIVATE_KEY是本机的wireguard私钥,提前生成一个填进去就ok,如果本机已经装上了wg,直接这样变量的形式写上去也可以。我是在另外一个装好wireguard的机子上复制了一个key过去用了

export WG_ADMIN_PASSWORD="example"
export WG_WIREGUARD_PRIVATE_KEY="$(wg genkey)"
  1. 输入以下命令启动容器
docker run \
  -d \
  --cap-add NET_ADMIN \
  --device /dev/net/tun:/dev/net/tun \
  -v wg-access-server-data:/data \
  -e "WG_ADMIN_PASSWORD=$WG_ADMIN_PASSWORD" \
  -e "WG_WIREGUARD_PRIVATE_KEY=$WG_WIREGUARD_PRIVATE_KEY" \
  -p 8000:8000/tcp \
  -p 51820:51820/udp \
  --restart unless-stopped \
  --privileged=true \
  place1/wg-access-server
  1. 访问http://192.168.1.100:8000 即可进入管理页面:
    极简记录:如何配置WireGuard内网访问插图1
  2. 填写客户端名称后点击Add A Device,即可添加对端,之后将配置文件下载到办公主机即可,虚拟局域网ip,秘钥什么的都是自动配好的
  3. 需要注意的是,因为我们是在内网配的wireguard服务端,所以自动生成的配置连接的IP是内网的,需要手动conf文件内最后一行Endpoint = 192.168.1.101:51820改为Endpoint = 外网域名:51820
  4. 一切正常的话,就可以成功连接啦。后续通过192.168.1.x,就可以访问到内网的所有网段,估计已经把路由转发都给自动配置好了。

参考链接:
局域网组建(一) 远程办公实现 — WireGuard组建跨地域局域网(AlmaLinux+Docker)
通过WireGuard搭建隧道实现内网穿透
怎么通过 WireGuard 怎么访问局域网中其他设备


更多阅读
WireGuard基本原理


上一篇文章:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注