FastTunnel是一款跨平臺內(nèi)網(wǎng)穿透工具,提供反向代理內(nèi)網(wǎng)服務,將內(nèi)網(wǎng)服務暴露在公網(wǎng)供別人訪問,您可以通過本項目快速搭建一個穿透服務,需要的物料如下:
- 一臺公網(wǎng)的服務器
- 自己的域名(如果使用域名穿透訪問內(nèi)網(wǎng)站點則需要)
免費內(nèi)網(wǎng)穿透地址
https://suidao.io
特性
- 用自定義域名訪問內(nèi)網(wǎng)web服務(常用于微信開發(fā))
- 遠程內(nèi)網(wǎng)計算機 windows/linux/mac
- 端口轉(zhuǎn)發(fā),訪問內(nèi)網(wǎng)任意端口提供的服務 MySQL、redis、ftp等等
- 點對點p2p穿透
快速開始
- 在 releases 頁面下載對應的程序
- 分別修改配置文件Appsettings.json
- 服務端運行FastTunnel.Server.exe(windows),其他平臺安裝dotnetcore運行時,執(zhí)行 dotnet FastTunnel.Server.dll
- 客戶端運行FastTunnel.Cient.exe(windows),其他平臺同安裝dotnetcore運行時,執(zhí)行 dotnet FastTunnel.Client.dll
1. 用自定義域名訪問內(nèi)網(wǎng)web服務
- 例如你擁有一個服務器,公網(wǎng)ip地址為 110.110.110.110 ,同時你有一個頂級域名為 test.cc 的域名,你希望訪問 test.test.cc可以訪問內(nèi)網(wǎng)的一個網(wǎng)站。
- 你需要新增一個域名地址的DNS解析,類型為A,名稱為 * , ipv4地址為 110.110.110.110 ,這樣 *.test.cc的域名均會指向110.110.110.110的服務器,由于FastTunnel默認監(jiān)聽的http端口為1270,所以要訪問http://test.test.cc:1270
- 如果不希望每次訪問都帶上端口號,可以通過Nginx轉(zhuǎn)發(fā)實現(xiàn)。
- 如果服務端配置的域名為ft.suidao.io, 則通過子域名test.ft.suidao.io訪問在本地的站點,IIS配置如下:
2. 遠程內(nèi)網(wǎng)計算機 Windows/Linux/Mac
客戶端配置如下,內(nèi)網(wǎng)有兩臺主機,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遠程內(nèi)網(wǎng)linux主機 (ip:192.168.0.100)
假設內(nèi)網(wǎng)主機的用戶名為 root,服務器ip為x.x.x.x,訪問內(nèi)網(wǎng)的兩個主機分別如下
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 然后指定用戶名密碼即可遠程內(nèi)網(wǎng)的windows主機
參與開發(fā)/PR
- 安裝 vs2019
- 安裝 dotnetcore runtime&sdk 3.1 或以上版本