狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】FastTunnel - 打造人人都能搭建的內網穿透工具

admin
2024年6月1日 16:43 本文熱度 1003

FastTunnel是用.net core開發的一款跨平臺內網穿透工具,它可以實現將內網服務暴露到公網供自己或任何人訪問。
與其他穿透工具不同的是:FastTunnel項目致力于打造一個易于擴展、易于維護的內網穿透框架,任何人都可以基于該框架二次開發,你可以直接通過nuget安裝依賴進行開發,當然它也是開箱即用的工具。

實現原理

《FastTunnel-內網穿透原理揭秘》

榮獲GVP開源項目

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

開源倉庫地址

github: https://github.com/SpringHgui/FastTunnel
gitee: https://gitee.com/Hgui/FastTunnel
官網:https://suidao.io

什么是內網穿透?

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

FastTunnel能夠做什么?

  • 家中建站

  • 微信開發

  • 遠程桌面

  • erp互通

  • svn代碼倉庫

  • 端口轉發

  • iot物聯網

  • 聯機游戲
    等等場景,不局限以上

搭建屬于自己的內網穿透平臺

1.在倉庫的 releases 頁面下載對應的程序
2.根據自己的需求修改客戶端以及服務端配置文件appsettings.json
3.服務端運行FastTunnel.Server
4.客戶端運行FastTunnel.Cient (客戶端可運行在內網任何一臺設備上)

配置示例

用自定義域名訪問內網web服務

例如你擁有一臺云服務器,公網ip地址為 110.110.110.110 ,同時你有一個域名 suidao.io,你希望訪問 test.suidao.io可以訪問你自己電腦上部署的一個網站。
你需要新增一個域名地址的DNS解析,類型為A,名稱為 * , ipv4地址為 110.110.110.110 ,這樣 *.abc.com的域名均會指向110.110.110.110的服務器,由于FastTunnel默認監聽的http端口為1270,所以要訪問http://test.abc.com:1270。
服務端配置文件:config/appsettings.json

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

客戶端配置文件:

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

如何去掉域名后的端口號

在服務器端部署nginx,通過nginx反向代理將80端口流量轉發至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;
    }
}

配置端口轉發

假設內網有一個mysql服務端口為3306,在內網的ip地址為192.168.1.100,你希望訪問suidao.io:33306端口的請求轉發至內網的mysql上,則需要如下配置:
1.服務端配置文件不變
2.客戶端配置如下

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

遠程內網電腦

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

結語

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

有興趣的可加qq群

 

出處:https://www.cnblogs.com/springhgui/archive/2021/07/13/15005329.html


該文章在 2024/6/1 16:43:26 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved