XiNian_dada's Blog

昔年的站点
24 种语言 · 同一片海
AN EXPERIMENT IN TYPE & TIDE

语言有边界,海没有。

移动鼠标探索 · 点击海面泛起涟漪

WireGuard 内网穿透之简单 TCP 转发

预计 2 分钟阅读 最后更新

至于我为什么叫他简单 TCP 转发主要是因为被穿透的那个机子看到的 IP 始终是WRT的内网 IP, 缺点就这一个, 但优点是配置起来要简单不少

先让 VPS 创建一个Socket文件来监听端口

nano /etc/systemd/system/pve-tcp-proxy.socket
[Unit]
Description=PVE TCP proxy listener on port 18006

[Socket]
ListenStream=0.0.0.0:18006
NoDelay=true

[Install]
WantedBy=sockets.target

再创建对应服务nano /etc/systemd/system/pve-tcp-proxy.service

[Unit]
Description=Proxy TCP port 18006 to PVE over WireGuard
Requires=pve-tcp-proxy.socket
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/lib/systemd/systemd-socket-proxyd 10.251.0.2:8006
NoNewPrivileges=true
PrivateTmp=true
ProtectHome=true
ProtectSystem=strict

启动服务

systemctl daemon-reload
systemctl enable --now pve-tcp-proxy.socket

这样就能直接从服务器的 18006 端口访问到WRT 的 8006 端口了, 接下来让 WRT 的 8006 端口转发到PVE的 8006 端口

来到WRT的 LUCI 里, 进入防火墙配置, 先配置端口转发, 从wg来的 TCP 入栈转发到 8006 端口

image.png

接下来再来到 NAT 转发配置

image.png

到这里就配置完了, 可直接访问服务, 发现已经通了, 最后用nginx反代一下 127 就可以域名访问了

留一行字

沿着文字,走向远处。 · 点击两侧高墙,拾起一句话
45%
95%

让海,换一种心情

动态背景暂时不可用,文章仍可阅读。