LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

.NET 开源免费跨平台内网穿透工具 FastTunnel

admin
2025年4月10日 22:49 本文热度 55

前言

在当今互联互通的世界中,访问内网资源的需求日益增长。面对动态IP、防火墙限制等问题,frp等开源工具提供了一种简单而强大的解决方案。不需要复杂配置,就能帮助你轻松实现自定义域名访问内网站点、远程SSH登录及微信小程序对接等功能。

项目介绍

FastTunnel 是一款高性能、跨平台的内网穿透工具,能够轻松将内网服务暴露到公网,供自己或他人访问。不管是个人开发者还是企业用户,都可以通过它实现安全、高效的远程访问。

与其他内网穿透工具不同,FastTunnel 致力于打造一个易于扩展、易于维护的内网穿透框架。通过引用 FastTunnel.Core 的 NuGet 包,可以快速开发专属的穿透应用,并根据实际业务需求灵活扩展功能。无论是搭建个人站点、调试开发环境,还是实现复杂的业务场景,FastTunnel 都能为提供稳定可靠的支持。

注意:使用内网穿透暴露3389端口的,一定要注意,电脑的密码一定要设置复杂一点,避免被黑客破解计算机登录密码,造成损失。

项目特点

  • 在任何地方远程内网计算机(公司或家里的计算机) Windows/Linux/Mac

  • 通过自定义域名访问内网web服务(常用于微信开发或对外开放web服务)

  • 端口转发/端口映射,访问内网任意端口提供的服务 mysql、redis、ftp等等

  • p2p穿透

  • 支持绑定多个域名访问内网服务

  • 支持域名白名单限制

  • 支持客户端身份校验

什么是内网穿透?

通常情况下,如果你在内网中部署了一个网站或应用程序,只有处于同一内网的其他设备能够访问。

但是,如果你想让公网上的任何人也能访问你的内网应用,就需要采取一些特定的技术手段。内网穿透技术正是为了解决这一问题而生,它允许你安全地将内网服务暴露到公网上。

FastTunnel 能够做什么?

FastTunnel 是一个高性能且跨平台的内网穿透工具,它可以帮助你轻松实现多种应用场景:

1、家中建站

即使在家中的内网环境下搭建网站,也能让公网用户访问。

2、微信开发

支持微信公众号和小程序的本地开发调试,无需公网IP地址。

3、远程桌面

从任何地方通过公网连接回内网电脑,进行远程控制。

4、ERP互通

使企业的ERP系统能够在保证安全的前提下,实现内外网数据同步。

5、SVN代码仓库

让团队成员即使在外网也能访问公司内部的版本控制系统。

6、端口转发

灵活地将内网服务的指定端口映射到公网。

7、IoT物联网

便于管理和监控部署在内网环境下的物联网设备。

8、联机游戏

与朋友一起享受内网搭建的游戏服务器的乐趣,不受网络限制。

当然,FastTunnel 的应用场景远不止以上这些。

如何搭建属于自己的内网穿透平台?

1、下载程序: releases 页面下载对应的程序。

2、配置文件调整:根据自己的具体需求,编辑客户端和服务端的配置文件 appsettings.json

3、运行服务端:在具备公网IP的服务器上启动 FastTunnel.Server。

4、运行客户端:在内网任意一台需要被访问的设备上运行 FastTunnel.Client。

通过这几个简单的步骤,就可以拥有一个完全自定义、功能强大的内网穿透平台了。

内网穿透原理揭秘 

FastTunnel内网穿透实现原理图,具体如下图所示:

项目使用

用自定义域名访问内网 Web 服务

如果你拥有一台云服务器(公网 IP 地址为 110.110.110.110),并且有一个域名 suidao.io,希望可以通过 test.suidao.io 访问你本地电脑上部署的网站,FastTunnel 可以轻松帮你实现这一需求。

步骤一:配置 DNS 解析

在你的域名管理后台新增一条 DNS 解析记录:

类型:A 记录

名称*(泛解析)

IPv4 地址110.110.110.110

这样,所有形如 *.suidao.io 的子域名都会指向你的云服务器。

默认情况下,FastTunnel 监听的 HTTP 端口为 1270,因此你可以通过 http://test.suidao.io:1270 访问你的内网服务。

步骤二:配置 FastTunnel 服务端

在云服务器上编辑 FastTunnel 的服务端配置文件 config/appsettings.json,内容如下:

"ServerSettings": {
    "BindAddr""0.0.0.0",          // 必填,默认值
    "BindPort"1271,               // 必填,服务端通信端口
    "WebDomain""suidao.io",       // 自定义域名穿透必须
    "WebProxyPort"1270,           // 服务监听的 HTTP 端口号
    "WebHasNginxProxy"false,      // 是否使用 Nginx 反向代理
    "WebAllowAccessIps": [],        // 可选,访问白名单
    "SSHEnabled"true              // 是否开启 SSH 穿透
}

步骤三:配置 FastTunnel 客户端

在运行内网服务的设备上(例如你本地电脑)编辑客户端配置文件 appsettings.json,内容如下:

"ClientSettings": {
    "Common": {
        "ServerAddr""110.110.110.110",  // 服务端公网 IP 或域名
        "ServerPort"1271               // 服务端通信端口
    },
    "Webs": [
        {
            "LocalIp""127.0.0.1",      // 内网服务地址
            "LocalPort"8080,           // 内网服务端口
            "SubDomain""test"          // 子域名,最终访问地址为 http://test.suidao.io
        }
    ]
}

启动客户端后,你就可以通过 http://test.suidao.io:1270 访问本地部署的网站了。

去掉域名后的端口号

为了去掉 URL 中的端口号(如 :1270),可以在云服务器上部署 Nginx,并通过反向代理将 HTTP 默认端口 80 流量转发到 FastTunnel 的 1270 端口。

以下是 Nginx 配置示例:

http {
    resolver 8.8.8.8;  # 添加 DNS 解析器

    server {
        server_name *.suidao.io;  # 匹配所有子域名

        location / {
            proxy_pass http://$host:1270;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_log /var/log/nginx/error_ft.log error;  # 可选,记录错误日志
    }
}

完成配置后,重启 Nginx 服务,即可通过 http://test.suidao.io 无端口访问你的内网服务。

端口转发:访问内网 MySQL 服务

假设你的内网中有一个 MySQL 数据库服务运行在 192.168.1.100:3306,希望公网用户可以通过 suidao.io:33306 访问该服务,可以按以下步骤配置:

服务端配置

无需修改服务端配置文件。

客户端配置

编辑客户端配置文件,添加如下内容:

"ClientSettings": {
    "Common": {
        "ServerAddr""110.110.110.110",  // 服务端公网 IP 或域名
        "ServerPort"1271               // 服务端通信端口
    },
    "Webs": [],
    "SSH": [
        {
            "LocalIp""192.168.1.100",   // 内网 MySQL 服务地址
            "LocalPort"3306,           // 内网 MySQL 服务端口
            "RemotePort"33306          // 公网暴露端口
        }
    ]
}

启动客户端后,公网用户可以通过 suidao.io:33306 访问内网的 MySQL 服务。

远程控制内网电脑

FastTunnel 还支持远程桌面连接,只需简单调整端口号即可:

Windows:将上述 MySQL 示例中的 3306 替换为 Windows 远程桌面协议(RDP)的默认端口 3389

Linux:将上述 MySQL 示例中的 3306 替换为 Linux SSH 的默认端口 22

例如,若要远程控制内网的 Windows 电脑,客户端配置如下:

"SSH": [
    {
        "LocalIp""192.168.1.100",   // 内网电脑地址
        "LocalPort"3389,           // Windows RDP 端口
        "RemotePort"3399          // 公网暴露端口
    }
]

完成后,你可以通过 suidao.io:3399 使用远程桌面工具访问内网的 Windows 电脑。

项目文档

帮助大家快速上手,具体可以访问项目源码。

项目源码

GitHub:https://github.com/FastTunnel/FastTunnel

Gitee:https://gitee.com/Hgui/FastTunnel

总结

通过本文的介绍相信大家已经看懂了如何配置,以及每个参数代表的意义,根据以上的步骤大家就可以拥有一个完全自定义、功能强大的内网穿透平台了。

以上仅展示了FastTunnel-内网穿透的部分功能。更多实用特性和详细信息,请大家访问项目源码。

希望通过本文能为.NET 内网穿透工具开发方面提供有价值的参考。


阅读原文:原文链接


该文章在 2025/4/11 9:48:11 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved