內網穿透神器 Lucky 使用分享
首先貼下我目前的網絡拓撲圖,由於目前 IPv4 地址緊張,現在運營商分配給個人家庭寬帶的 IP 地址都是內網 IP 地址,這樣就導致我們無法在外部網絡訪問我們家庭內網的設備。
經過我的多方搜索發現一款堪稱神器的軟件,可以輕鬆穿透運營商設備,實現類似的公網訪問,這款軟件就是 Lucky。
Lucky 最初是作爲一個小工具,由開發者爲自己的個人使用而開發,用於替代 socat,在小米路由 AX6000 官方系統上實現公網 IPv6 轉內網 IPv4 的功能。Lucky 的設計始終致力於讓更多的 Linux 嵌入式設備運行,以實現或集成個人用戶常用功能,降低用戶的硬件和軟件操作學習成本,同時引導使用者注意網絡安全。隨着版本更新和網友反饋,Lucky 不斷迭代改進,擁有更多功能和更好的性能,成爲用戶值得信賴的工具。
Lucky 的核心程序完全採用 Golang 實現,具有高效、穩定、跨平臺等優點。其後臺前端則採用 Vue3.2 技術進行開發,具有良好的用戶體驗和響應速度。此外,Lucky 的管理後臺採用前後端分離的架構,第三方開發者也可以自由使用 OpenToken 輕鬆調用 Lucky 的各種功能接口。目前 Lucky 還在不斷迭代更新加入了很多使用功能!
下面說下詳細設置過程,首先安裝 Lucky, 飛牛的應用商店中已經內置了這款軟件,當然也可以官網下載安裝或者通過 Docker 安裝!
首先貼下我目前的網絡拓撲圖,由於目前 IPv4 地址緊張,現在運營商分配給個人家庭寬帶的 IP 地址都是內網 IP 地址,這樣就導致我們無法在外部網絡訪問我們家庭內網的設備。
前不久我用自己的廢舊電腦配件組裝了一臺 NAS 安裝了目前非常火的免費 NAS 系統飛牛私有云 fnOS。雖然飛牛有自帶的內網穿透,但是是通過飛牛服務器中繼轉發的,因爲是免費的所以帶寬有限,只能提供一些訪問瀏覽,如果想看高清影視和照片之類的就顯得力不從心了!
經過我的多方搜索發現一款堪稱神器的軟件,可以輕鬆穿透運營商設備,實現類似的公網訪問,這款軟件就是 Lucky。
Lucky 最初是作爲一個小工具,由開發者爲自己的個人使用而開發,用於替代 socat,在小米路由 AX6000 官方系統上實現公網 IPv6 轉內網 IPv4 的功能。Lucky 的設計始終致力於讓更多的 Linux 嵌入式設備運行,以實現或集成個人用戶常用功能,降低用戶的硬件和軟件操作學習成本,同時引導使用者注意網絡安全。隨着版本更新和網友反饋,Lucky 不斷迭代改進,擁有更多功能和更好的性能,成爲用戶值得信賴的工具。
Lucky 的核心程序完全採用 Golang 實現,具有高效、穩定、跨平臺等優點。其後臺前端則採用 Vue3.2 技術進行開發,具有良好的用戶體驗和響應速度。此外,Lucky 的管理後臺採用前後端分離的架構,第三方開發者也可以自由使用 OpenToken 輕鬆調用 Lucky 的各種功能接口。目前 Lucky 還在不斷迭代更新加入了很多使用功能!
下面說下詳細設置過程,首先安裝 Lucky, 飛牛的應用商店中已經內置了這款軟件,當然也可以官網下載安裝或者通過 Docker 安裝!
開始之前我們需要在路由裏面設置一個端口轉發,我以愛快路由爲例,內網地址填寫飛牛的 IP 地址,內網端口,我這裏使用 15999(根據自己需要設置一個沒有佔用不衝突的端口即可),外網端口我使用 16999(同樣可以根據自己需要隨意設置不衝突的端口即可),爲了避免端口衝突建議設置數值大一些的端口。這個轉發的意義是外部從 16999 進來的流量都轉發到飛牛的 15999 端口上。
接下來我們登錄 Lucky, 選擇左側的 STUN 內網穿透,沒錯,Lucky 的內網穿透使用的就是 STUN 穿透技術。
然後我們點擊添加穿透規則,如下圖所示,首先給這個規格隨意起個名字,我這裏用的 “IPv4 穿透”,穿透類型我們選擇 "IPv4-TCP", 穿透通道本地端口填寫路由器裏面設置的端口轉發的外網端口也就是 16999,因爲我們已經設置了路由器端口轉發,所以下面我們打開不使用 Lucky 內置端口轉發,這樣可以緩解飛牛服務器的壓力,使用路由器的高性能端口轉發!
接下來我們點擊添加,稍等一下沒有錯誤的話,我們即可看到一個公網 IP 地址和對應的端口號,這樣就代表穿透成功了,就是從我們獲得的這個端口號進來的流量就會轉發到我們的路由器外部的 16999 端口,然後通過路由再轉發到飛牛的 15999 端口上。
接下來我們登錄飛牛,打開防火牆,添加一個入站規則,對 15999 端口進來 IPv4 訪問流量進行放行,
然後我們再點擊 Lucky 的動態域名服務,綁定域名讓域名對公網 IP 進行解析,這樣即使公網 IP 變化我們也不怕,直接可以使用域名加穿透的端口進行訪問。我這裏使用的騰訊雲域名,類型我們選擇 IPv4, 獲取公網 IP 方式,選擇 “通過接口獲取”, 域名列表我們這裏選擇填寫兩個,一個主域名,一個泛域名(xxx.xxx 和 *.xxx.xxx), 然後點擊添加任務即可
出現下圖所示代表解析成功了
爲了提供訪問的安全性,我們使用 https 訪問,這就需要我們申請 SSL 證書,我們點擊添加證書,同樣我這裏選擇騰訊雲,證書頒發機構選擇 Let's Encrypt 免費申請證書,其他內容和綁定域名時填寫一致!
稍等幾分鐘即可看到證書申請成功。
接下來我們點擊 Web 服務,添加 Web 服務規則,監聽類型我們選擇 tcp4,監聽端口選擇路由轉發到的飛牛的 15999,這樣從飛牛 15999 端口進來的流量就可以被 Lucky 監聽到!然後啓用 TLS。
接下來我們點擊添加子規則,服務類型選擇反向代理,前端地址,填寫一個名字加上自己的域名,比如我這裏就用 nas.xxx.xxx, 後端地址我們填寫,飛牛的登陸地址加端口號,因爲 Lucky 本身就安裝在飛牛上所以這裏填寫 127.0.0.1:5666!然後下面的幾個選項全部打開!
接下來我們在瀏覽器中輸入 https://nas.xxx.xxx:{穿透獲得的端口號},就可以登陸我們的飛牛 NAS 了!我們還可以添加更多的子規則來反代更多的應用,設置局域網的其他設備訪問!
但是運營商分配給的公網 IP 和穿透獲得的端口是不斷變化的每過一段時間就會發生變化,IP 的變化我們通過綁定域名解決了,但是端口的變化我們怎麼解決呢,怎麼知道端口何時變化成爲了什麼?其實是可以解決的,我抽時間其實說下怎麼在 STUN 穿透中添加自定義腳本,每次端口變化都可以,讓 Lucky 通過郵件告知我們,Lucky 還支持 Webhook 推送!
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/LTJ-gU3omcmK1z5XuSZVeA