日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FastTunnel-开源内网穿透框架

發(fā)布時間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FastTunnel-开源内网穿透框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

FastTunnel


?????

FastTunnel是用.net core開發(fā)的一款跨平臺內(nèi)網(wǎng)穿透工具,它可以實現(xiàn)將內(nèi)網(wǎng)服務(wù)暴露到公網(wǎng)供自己或任何人訪問。

與其他穿透工具不同的是:FastTunnel項目致力于打造一個易于擴展、易于維護的內(nèi)網(wǎng)穿透框架,任何人都可以基于該框架二次開發(fā),你可以直接通過nuget安裝依賴進行開發(fā),當然它也是開箱即用的工具。

榮獲GVP開源項目


FastTunnel榮獲開源中國2020最有價值開源項目

開源倉庫地址


github: https://github.com/SpringHgui/FastTunnel

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

官網(wǎng):https://suidao.io

什么是內(nèi)網(wǎng)穿透?


一般來說,如果你在內(nèi)網(wǎng)部署一個網(wǎng)站或應(yīng)用,也只有處于內(nèi)網(wǎng)之中的其他網(wǎng)絡(luò)設(shè)備才能訪問;但如果你想讓公網(wǎng)上任何人都可以訪問你內(nèi)網(wǎng)的應(yīng)用,則必須要采取一些手段,內(nèi)網(wǎng)穿透在這種背景下應(yīng)用而生。

FastTunnel能夠做什么?


  • 家中建站

  • 微信開發(fā)

  • 遠程桌面

  • erp互通

  • svn代碼倉庫

  • 端口轉(zhuǎn)發(fā)

  • iot物聯(lián)網(wǎng)

  • 等等場景,不局限以上

搭建屬于自己的內(nèi)網(wǎng)穿透平臺


????1.在倉庫的?releases?頁面下載對應(yīng)的程序

????2.根據(jù)自己的需求修改客戶端以及服務(wù)端配置文件appsettings.json

????3.服務(wù)端運行FastTunnel.Server

????4.客戶端運行FastTunnel.Cient (客戶端可運行在內(nèi)網(wǎng)任何一臺設(shè)備上)

配置示例


1.用自定義域名訪問內(nèi)網(wǎng)web服務(wù)

例如你擁有一臺云服務(wù)器,公網(wǎng)ip地址為 110.110.110.110 ,同時你有一個域名 suidao.io,你希望訪問 test.suidao.io可以訪問你自己電腦上部署的一個網(wǎng)站。

你需要新增一個域名地址的DNS解析,類型為A,名稱為 * , ipv4地址為 110.110.110.110 ,這樣 *.abc.com的域名均會指向110.110.110.110的服務(wù)器,由于FastTunnel默認監(jiān)聽的http端口為1270,所以要訪問http://test.abc.com:1270。

服務(wù)端配置文件:config/appsettings.json

"ServerSettings": {// 必選 默認值"BindAddr": "0.0.0.0",// 必選 默認值"BindPort":?1271,// 自定義域名web穿透必須"WebDomain":?"suidao.io",// 服務(wù)監(jiān)聽的端口號, 訪問自定義域名站點時url為 http://{SubDomain}.{Domain}:{ProxyPort_HTTP}/// web穿透必須"WebProxyPort":?1270,// 可選,ngixn反向代理后可省略域名后的端口號進行訪問"WebHasNginxProxy":?false,// 可選,訪問白名單,不在白名單的ip拒絕"WebAllowAccessIps":?[],// 可選,是否開啟SSH,禁用后不處理SSH類型端口轉(zhuǎn)發(fā).默認false。"SSHEnabled": true}

客戶端配置文件:

"ClientSettings": {"Common": {// 服務(wù)端公網(wǎng)ip, 對應(yīng)服務(wù)端配置文件的 BindAddr,支持域名"ServerAddr":?"test.cc",// 服務(wù)端通信端口,對應(yīng)服務(wù)端配置文件的 BindPort"ServerPort": 1271},"Webs": [{// 本地站點所在內(nèi)網(wǎng)的ip"LocalIp":?"127.0.0.1",// 站點監(jiān)聽的端口號"LocalPort":?8080,// 子域名, 訪問本站點時的url為 http://{SubDomain}.{Domain}:{ProxyPort_HTTP}/"SubDomain":?"test",?//?test.test.cc}]}

2.如何去掉域名后的端口號

在服務(wù)器端部署nginx,通過nginx反向代理將80端口流量轉(zhuǎn)發(fā)至1270端口,nginx的配置示例如下:

http {# 添加resolver resolver 8.8.8.8;# 設(shè)置 *.abc.com 轉(zhuǎn)發(fā)至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;} }

3.配置端口轉(zhuǎn)發(fā)

假設(shè)內(nèi)網(wǎng)有一個mysql服務(wù)端口為3306,在內(nèi)網(wǎng)的ip地址為192.168.1.100,你希望訪問suidao.io:33306端口的請求轉(zhuǎn)發(fā)至內(nèi)網(wǎng)的mysql上,則需要如下配置:

1.服務(wù)端配置文件不變

2.客戶端配置如下

"ClientSettings": {"Common": {// 服務(wù)端公網(wǎng)ip, 對應(yīng)服務(wù)端配置文件的 BindAddr,支持域名"ServerAddr": "test.cc",// 服務(wù)端通信端口,對應(yīng)服務(wù)端配置文件的 BindPort"ServerPort": 1271},"Webs":?[],/*** ssh穿透,ssh訪問內(nèi)網(wǎng)主機* 訪問方式 #ssh -oPort=12701 {root}@{ServerAddr}* ServerAddr 填入服務(wù)端ip,root對應(yīng)內(nèi)網(wǎng)用戶名*/"SSH": [{"LocalIp": "192.168.1.100","LocalPort": 3306,"RemotePort": 33306}]}

3.遠程內(nèi)網(wǎng)電腦

windows:只需要將上一步中的3306端口換成3389,

linux:只需要將上一步中的3306端口換成21

結(jié)語


相信聰明的你已經(jīng)看懂了如何配置,以及每個參數(shù)代表的意義,如果還有不懂的地方,可以提issue給作者。有興趣的朋友可以去clone下來耍耍,給作者提提需求、bug,如果能提交代碼一起參與開發(fā)改進就更完美了。

作者建了qq群,有興趣的可以加下:

總結(jié)

以上是生活随笔為你收集整理的FastTunnel-开源内网穿透框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。