之前内网穿透一般用的是frp,组网我一般使用tailscale + 自建derp。
试了一下wireguard 组网,好像也挺好用的,有安卓,iOS,Windows,Linux,mac客户端。配置也不算麻烦。
比如想将本地电脑和一台远程手机组网。
1、服务器安装 wireguard
apt update apt install wireguard iptables
2、服务器配置,本地电脑公钥和手机公钥等2,3步设置好了再修改。
cd /etc/wireguard umask 077 # 生成服务器的公钥server_public.key 和私钥server_private.key wg genkey | tee server_private.key | wg pubkey > server_public.key #编辑配置文件 vim /etc/wireguard/wg0.conf #添加以下内容 [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = <服务器私钥内容> # 开启IP转发 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # 本地电脑配置 [Peer] PublicKey = <本地电脑的公钥> AllowedIPs = 10.0.0.2/32 # 手机配置 [Peer] PublicKey = <手机的公钥> AllowedIPs = 10.0.0.3/32
服务器分配的局域网ip是:10.0.0.1
本地电脑分配的ip是:10.0.0.2
远程手机分配的ip是:10.0.0.3
3、本地电脑配置:
下载安装Windows版本:https://www.wireguard.com/install/
#生成本地电脑的公钥server_public.key 和私钥server_private.key wg genkey | tee pc_private.key | wg pubkey > pc_public.key #创建一个配置文件 pc.conf [Interface] PrivateKey = <本地电脑私钥> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] PublicKey = <服务器公钥> Endpoint = <服务器公网IP>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 25
Windows:打开 WireGuard → 添加隧道 → 导入配置文件
4、远程手机配置
可以使用电脑或者服务器生成一份密钥和私钥文件先。
#生成远程手机的的公钥server_public.key 和私钥server_private.key wg genkey | tee pc_private.key | wg pubkey > pc_public.key #创建一个配置文件 sj.conf [Interface] PrivateKey = <手机私钥> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] PublicKey = <服务器公钥> Endpoint = <服务器公网IP>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 25
手机客户端,WireGuard,点击 “+” → 导入sj.conf
5、启动服务。
服务器配置文件修改一下手机和电脑的公钥。
# 本地电脑配置 [Peer] PublicKey = <本地电脑的公钥> AllowedIPs = 10.0.0.2/32 # 手机配置 [Peer] PublicKey = <手机的公钥> AllowedIPs = 10.0.0.3/32
服务器启动。
#启动,启动服务器会都偶哦个 wg0的网络接口。 wg-quick up wg0 #关闭 wg-quick down wg0 #或者 systemctl restart wg-quick@wg0 systemctl enable wg-quick@wg0
电脑客户端激活,手机客户端启动就好了。


6、测试联通性:
# 查看所有连接的设备 sudo wg show # 只查看 wg0 接口 sudo wg show wg0 # 电脑 ping 服务器 ping 10.0.0.1 # 电脑 ping 手机 ping 10.0.0.3 # 手机终端或网络工具 ping 电脑 ping 10.0.0.2

