Wireguard部署
背景
- 应用Wireguard做VPN服务,平安的拜访内网中的资源
- 应用Docker Compose部署
frps部署
在公网服务器上部署Frp服务端,配置文件
frps.ini
如下[common]bind_port = ${port}# validation, same in frpc.initoken = ***# dashboard configdashboard_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 = udplocal_ip = ...local_port = 51820remote_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