本次演示在 debian12 下进行。
本次演示将尝试让两台不同区域的内网机器互通。
WireGuard 原版不支持 nat 穿透,这里不进行演示。
需要准备三台,机器其中一台需要有公网 ip
这里对三台机器进行命名方便后端的理解
server 公网机
home 内网机
dev 内网机
登录三台机器安装 WireGuard
1 | sudo apt install wireguard |
分别在三台机器上运行下面的命令生成密匙对
1 | wg genkey > priv_key && wg pubkey < priv_key > pub_key |
server 上面的操作
wireguard 节点互通时需要通过公网机进行流量转发所以需要允许转发。
在 /etc/sysctl.conf 增加 net.ipv4.ip_forward = 1 以允许流量转发
创建 /etc/wireguard/wg0.conf
并写入以下内容
1 | [Interface] |
内容写入好后启动服务
1 | sudo wg-quick up wg0 |
如果没有没有任何报错那么就是启动成功了
home 上面的操作
创建 /etc/wireguard/wg0.conf 并写入以下内容
1 | [Interface] |
启动服务
1 | sudo wg-quick up wg0 |
可以尝试 ping 192.168.20.1
检测,联通是否正常。如果配置没有错误的话,会有正常的ping回复
dev 上面的操作
创建 /etc/wireguard/wg0.conf 并写入以下内容
1 | [Interface] |
启动服务
1 | sudo wg-quick up wg0 |
这时我们尝试 ping home 的内网机。ping 192.168.20.2
如果回复正常的话,那么两台内网机就已经实现联通了
开启自启动
分别在三台机器上运行 sudo systemctl enable wg-quick@wg0
开启自启动