FastTunnel是什么?
FastTunnel是一款高性能跨平台内网穿透工具,使用它可以实现将内网服务暴露到公网供自己或任何人访问。
与其他穿透工具不同的是,FastTunnel项目致力于打造一个易于扩展、易于维护的内网穿透框架。
你可以通过引用FastTunnel.Cored的nuget包构建出自己的穿透应用,并针自己所需的业务扩展功能。
FastTunnel有哪些特性
在任何地方远程内网计算机(公司或家里的计算机) Windows/Linux/Mac
通过自定义域名访问内网web服务(常用于微信开发或对外开放web服务)
端口转发/端口映射,访问内网任意端口提供的服务 mysql、redis、ftp等等
p2p穿透
支持绑定多个域名访问内网服务
支持域名白名单限制
支持客户端身份校验
快速搭建服务
在 releases 页面下载对应的程序
根据自己的需求修改客户端以及服务端配置文件appsettings.json
服务端运行FastTunnel.Server
客户端运行FastTunnel.Cient
如何在 Linux/Mac系统运行?
Windows
直接双击 FastTunnel.Client.exe 即可运行
Linux
chmod +x FastTunnel.Client./FastTunnel.Client
Mac
直接运行 FastTunnel.Client
配置示例
1. 用自定义域名访问内网web服务
例如你拥有一个服务器,公网ip地址为 110.110.110.110 ,同时你有一个顶级域名为 abc.com 的域名,你希望访问 test.abc.com可以访问内网的一个网站。
你需要新增一个域名地址的DNS解析,类型为A,名称为 * , ipv4地址为 110.110.110.110 ,这样 *.abc.com的域名均会指向110.110.110.110的服务器,由于FastTunnel默认监听的http端口为1270,所以要访问http://test.abc.com:1270
如果不希望每次访问都带上端口号,可以通过nginx转发实现。
http {
# 添加resolver
resolver 8.8.8.8;
# 设置 *.abc.com 转发至1270端口
server {
server_name *.abc.com;
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;
}
}
如果服务端配置的域名为ft.suidao.io, 则通过子域名test.ft.suidao.io:1270访问在本地的站点,IIS配置如下:
2. 远程内网计算机 Windows/Linux/Mac
客户端配置如下,内网有两台主机,ip如下: appsettings.json
“ClientSettings”: {
“Common”: {
“ServerAddr”: “xxx.xxx.xxx.xxx”,
“ServerPort”: 1271
},
“SSH”: [
{
“LocalIp”: “192.168.0.100”, // linux主机
“LocalPort”: 22, // ssh远程默认端口号
“RemotePort”: 12701
},
{
“LocalIp”: “192.168.0.101”, // windows主机
“LocalPort”: 3389, // windows远程桌面默认端口号
“RemotePort”: 12702
}
]
}
ssh远程内网linux主机 (ip:192.168.0.100)
假设内网主机的用户名为 root,服务器ip为x.x.x.x,访问内网的两个主机分别如下
ssh -oPort=12701 root@x.x.x.x
mstsc远程桌面Windows主机(ip:192.168.0.101)
被控制端设置
打开cmd输入指令 sysdm.cpl 在弹出的对话框中选中允许远程连接此计算机
控制端设置
打开cmd输入指令 mstsc,打开远程对话框,在对话框的计算机输入框,输入 x.x.x.x:12701 然后指定用户名密码即可远程内网的windows主机
没有回复内容