Wireguard 部署
背景
- 应用 Wireguard 做 VPN 服务,平安的拜访内网中的资源
- 应用 Docker Compose 部署
frps 部署
-
在公网服务器上部署 Frp 服务端,配置文件
frps.ini
如下[common] bind_port = ${port} # validation, same in frpc.ini token = *** # dashboard config dashboard_port = ${dashboard_port} dashboard_user = ${user} dashboard_pwd = ${passwd}
bind port
是承受 Frp 客户端连贯的端口(留神在云服务配置界面的防火墙配置中关上对应的端口)token
用来验证 Frp 客户端连贯的合法性dashboard_port
是 Frp 提供的 dashboard 的拜访端口,能够查看连贯状况
- 执行
docker run --restart=always --network host -d -v ${PWD}/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
部署 Frp 服务端 - dashboard 拜访端口能够不裸露在公网中,参考端口映射
服务端部署
-
Docker Compose 联合 Frp 内网穿透裸露部署在内网的 VPN 服务,
wireguard.yaml
version: "2" services: vpn: image: place1/wg-access-server volumes: - wg-data:/data ports: - 51820:51820/udp - 8000:8000 restart: unless-stopped cap_add: - NET_ADMIN environment: - WG_ADMIN_PASSWORD=admin - WG_WIREGUARD_PRIVATE_KEY=... devices: - /dev/net/tun:/dev/net/tun frp: image: snowdreamtech/frpc restart: always volumes: - ./frpc.ini:/etc/frp/frpc.ini container_name: frpc network_mode: "host" volumes: wg-data:
-
WG_WIREGUARD_PRIVATE_KEY
局部能够间接应用 Wireguard 生成一个私钥进去- 这部分能够应用任意平台的 Wireguard 客户端间接生成
-
-
frpc.ini 配置文件
[common] server_addr = ... server_port = ... token = ... [wireguard] type = udp local_ip = ... local_port = 51820 remote_port = ...
server_addr
是公网服务器 IPserver_port
是公网裸露的用于连贯 Frp 服务端的端口,与frps.ini
中的${bind_port}
保持一致token
是用于平安验证的 token,与frps.ini
中的token
保持一致local_ip
是 Wireguard 部署的内网机器 IPlocal_port
是 Wireguard 部署的内网机器的端口remote_port
是公网服务器裸露的用于转发 UDP 链接的 UDP 端口,(留神在云服务配置界面的防火墙配置中关上对应的端口)
docker-compose -f wireguard.yaml up -d
开启服务
客户端部署
-
拜访
local_ip:8000
进入 dashboard 界面,输出连贯名,创立客户端 - 点击 Add 之后,可下载配置文件,增加到 Wireguard 客户端中,或者间接应用 App 扫码即可连贯
注意事项
- 默认生成的客户端配置文件中,对端的 IP 地址是 Wireguard 服务器的内网 IP 与内网 UDP 端口,须要本人手动换成
公网 IP: 公网 UDP 端口
参考
- Linux 应用 Docker 装置 wireguard