老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. VPS相关
  4. 正文

使用gost端口转发实现内网穿透

2023年7月31日 3730次阅读 0条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn
基于IPv6的内网主机暴露于公网的方案实现内网的可达性,既有其优势,也有其应用的限制。在有屏蔽内网信息的需求前提下,仍会有人希望实现传统的IPv4体制下的穿透(打洞)方案。内网穿透方法和工具很多,这里仅就gost实现进行简要说明,gost作为一个简单、灵活的隧道工具,内网穿透并不是其专攻方向,但在不追求可视化管理要求的前提下,可以快速、高效地实现内网服务的可达性。结合代理转发和加密通道配置,借助一台vps实现跨境加密通道和内网服务穿透可达的目标,同时可在此基础上进行协议自定义、组合、扩展。
这种情况下进行的内网穿透,借助gost一类的隧道/通道工具,实际就是让内网的主机主动与具有公网IP的主机建立一个连接,当数据发送给具有公网IP的主机后,再通过这个连接转发给内网中的目标主机,其基础作用面就是远程端口转发(rTCP、rUDP)。gost开源应用链接如下:
go-gost/gost: GO Simple Tunnel - a simple tunnel written in golang (github.com)

假定S为具有暴露在公网的中转服务器,其IP地址为a.b.c.d,A为穿透目标,即目标被访问主机,其IP为192.168.1.10,我们希望其他主机可以访问其上运行的Jellyfin服务(默认端口8096)。以下为分步骤的最小实现。

1.S-中转服务器(VPS/可暴露于公网的主机/网关)

在中转服务器上,按照规划放行端口(8443、8080)后,运行以下命令:

gost -L socks5://:8443?bind=true
#gost -L relay://:8443?bind=true

2.A-目标主机/被访问主机

目标主机/被访问主机是配置重点。将目标主机192.168.1.10的8096端口绑定/映射到中转服务器S的端口8080。rtcp、rudp为协议,指定远程端口转发,先后列出远程端口、本地端口。

gost -L rtcp://:8080/:8096 -F socks5://a.b.c.d:8443
#gost -L rtcp://:8080/:8096 -L rudp://:8080/:8096://:8080/:8096 -F relay://a.b.c.d:8443

3.B-访问主机/终端

作为访问终端,并非必须通过通过gost进行配置,可以直接访问S的8080端口,也即访问A的8096端口。

http://a.b.c.d:8080

通信两端都采用gost时,gost默认会进行协商加密(基于tls,对标准socks5协议进行了扩展),当S-中转服务器位于GFW另一侧,同时不希望额外付出开销的情况下,可以充分利用gost的这一特性。A和S的socks通信默认会进行协商加密,当使用tls、wss/mwss等协议时,应采用“notls=true”参数将加密功能关闭以避免重复加密。

#gost -L :10088 -F socks5://a.b.c.d:8443

#gost -L socks5:10088?notls=true -F socks5+tls://a.b.c.d:8443

此时,B(假定10.1.1.10/8)及B所处同一网段(10.1.1.x/8)的其他终端均可配置SwitchyOmega指向B的10088端口,通过访问S的8080端口实现穿透访问A于5000端口提供的服务。本文示例虽为socks5,但不推荐使用SwitchyOmega直接指向S,因为SwitchyOmega并不支持gost的协商加密特性。至本文发布时,Windows 10/11建议下载v3 rc8 windows-amd64版本,2.11 windows-amd64版本会遭遇Defender报毒问题。gost 3.0.0 rc8 windows-amd64链接如下:

https://github.com/go-gost/gost/releases/download/v3.0.0-rc8/gost_3.0.0-rc8_windows_amd64v3.zip

实际部署过程中,对S、A的IP地址和端口进行替换即可。在此最小实现基础上,调整协议、增加相应的参数,可实现更为安全、私密和稳定的内网访问。同时,如果B需要向内网外的用户提供相应的服务,同理参照A和S的配置部署。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: gost 内网穿透
最后更新:2024年6月2日

webmaster

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

站内搜索
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月

Copyright ©2023-2025 Appscross. All Rights Reserved.