本文轉(zhuǎn)載于SegmentFault社區(qū)
寫在前面
因為之前一直用于內(nèi)網(wǎng)滲透的ngrok使用的是ngrok 1.x的最新版本1.7.1,1.7.1存在嚴重的內(nèi)存泄漏問題。另外,1.x早就不維護了,ngrok 2.x之后也不再開源了,所以考慮換一個內(nèi)網(wǎng)滲透工具。
一、商業(yè)情景
設備如下:
一個阿里巴巴云服務器(Windows Server 2012)和公共IP。
有三個內(nèi)部網(wǎng)服務器,包括兩個Windows服務器和一個CentOS。
已解析為公共IP的一級域名。
要求:可以通過域名或IP訪問部署在三個內(nèi)網(wǎng)的http服務,通過域名或IP與三個內(nèi)網(wǎng)的遠程桌面或SSH通信
第二,為什么選擇玻璃鋼
開源和頻繁維護。
支持TCP、UDP、HTTP、HTTPS、STCP等協(xié)議。
GoLang開發(fā)占用內(nèi)存少,代理穩(wěn)定。
簡單方便的配置,自定義的插件配置,可以開發(fā)自己業(yè)務需求的插件。
它提供了許多功能,如安全地公開內(nèi)部網(wǎng)服務、加密和壓縮、用于底層通信的可選kcp協(xié)議、端口多路復用、負載平衡、健康檢查、URL路由、范圍端口映射和請求的報頭處理。
在第一次之前,您還可以通過瀏覽器查看frp的狀態(tài)和代理統(tǒng)計的顯示。在代理服務器上,您可以在瀏覽器中訪問每個代理狀態(tài)的可視儀表板。
內(nèi)網(wǎng)滲透服務器提供查看滲透狀態(tài)、動態(tài)在線配置、熱更新配置等功能。
第三,服務器配置1。打開云服務器的端口
登錄阿里巴巴云服務平臺,進入實例安全組,打開滲透代理所需的端口。首先打開端口,如下所示:
打開TCP端口,7000-7010。7000是frp服務器代理通信的默認端口,7001-7010可以代理內(nèi)網(wǎng)服務器的TCP應用端口。如果不夠,可以擴展端口。
開放TCP端口,7080和7443,方便HTTP和HTTPS代理。因為云服務器的80和443端口已經(jīng)被其他應用占用,所以命名為后綴80和443,方便內(nèi)存維護。
開放UDP端口,開放7001端口,必要時提供點對點內(nèi)網(wǎng)穿透。
以上端口的開啟不做規(guī)定,可定制靈活配置。
2.下載玻璃鋼
輸入GitHub發(fā)布frp的地址,查看最新版本,已經(jīng)提供了常用操作系統(tǒng)架構(gòu)編譯的包,下載相應的云服務器系統(tǒng)版本。
也可以下載源代碼,安裝GoLang環(huán)境,自己編譯。
3.配置FRP
下載后,解壓并打開文件夾,找到frps.ini文件配置服務器端代理規(guī)則。不會使用frpc開頭的文件代理服務器,但會在配置intranet的服務器上使用。
配置frps.ini的基本內(nèi)容如下:
[common] # 設置地址及通信端口 bind_addr= 0.0. 0.0 bind_port= 7000#設置默認UDP端口bind_udp_port= 7001
#監(jiān)聽端口7080和7443,執(zhí)行HTTP和HTTPS代理??梢詫⒊谋緜鬏攨f(xié)議和HTTPS端口設置為相同的超文本傳輸協(xié)議端口= 7080超文本傳輸協(xié)議端口= 7443
#設置用于查看儀表板的服務地址和端口。未設置dashboard_addr,默認情況下與bind_addr相同。如果未設置dashboard_port端口,此服務將不會啟動。dashboard _ addr = 0 . 0 . 0 . 0 dashboard _ port = 7500
#設置儀表板服務的登錄帳戶和密碼。如果未設置,默認值為admindashboard _ user = admindashboard _ pwd = admin
#設置云服務器的域名,方便簡單地配置代理服務,通過子域方式訪問subdomain _ host = example.com。
#設置Token,盡量讓配置變得復雜。token= 123456789將用于配置frpc
#設置日志文件記錄路徑log_file=。/logs/frps.log #設置日志記錄級別,包括跟蹤、調(diào)試、信息、警告、errorlog _ level = info #設置日志記錄最大天數(shù)log_max_days= 1
4.啟動frps
啟動frps服務非常簡單。輸入以下命令,代理服務器將被啟動。
./frps - c./frps.ini5.將frps配置為系統(tǒng)服務
如果服務器是Windows系統(tǒng),建議使用winsw工具將frps配置為系統(tǒng)服務。
如果服務器是Linux系統(tǒng),那么在下載的FRP解壓目錄的systemd目錄下,已經(jīng)有一個用于將FRP配置為系統(tǒng)服務的文件。
具體的配置流程需要更新
四.客戶端配置
1.下載frp
輸入玻璃鋼GitHub發(fā)布地址,查看已編譯的最新版本,下載相應代理系統(tǒng)的版本。
2.配置frpc
下載后,解壓打開文件夾,找到frpc.ini文件,配置服務器端代理規(guī)則。同樣,F(xiàn)RP開頭的文件不會在intranet服務器上使用。
配置frpc.ini的基本內(nèi)容如下:
[common]# 云服務器的IP地址及 frps 里面設置的通信端口server_addr= x.x.x.x server_port= 7000#授權(quán)令牌與frps配置的令牌相同。token= 123456789
#設置日志文件記錄路徑log_file=。/logs/frps.log #設置日志記錄級別,包括跟蹤、調(diào)試、信息、警告、errorlog _ level = info #設置日志記錄最大天數(shù)log_max_days= 1
#在瀏覽器admin _ addr = 127 . 0 . 0 . 1 admin _ port = 7400 admin _ user = admin admin _ pwd = admin中設置可以配置熱更新的服務
# tcp范圍7001-7010
# RDP,也就是遠程桌面遠程桌面。Windows的RDP默認端口是3389,協(xié)議是TCP [RDP]類型= TCP Local _ IP = 127 . 0 . 0 . 1 Local _ Port = 3389 Remote _ Port = 7001子域= RDP
# SMB,即Windows文件共享使用的協(xié)議,默認端口號為445,協(xié)議TCP。該規(guī)則可以實現(xiàn)遠程文件訪問。#[SMB]# type = TCP # local _ IP = 127 . 0 . 0 . 1 # local _ port = 445 # remote _ port = 7002
#代理本地ssh # [ssh] #類型= TCP # local _ IP = 127 . 0 . 0 . 1 # local _ port = 22 # remote _ port = 7003
#設置本地端口80。HTTP服務#的代理可以通過frps中配置的子域_主機域名#訪問test.example.com plus HTTP代理端口,即HTTP://test . example . com:7080[web _ test]type = HTTP local _ port = 80 subdomain = test
4.啟動frpc
啟動frpc的服務類似于FRP。
./frpc - c./frpc.ini之后,您可以訪問和測試遠程連接、SSH、web服務等。
5.將frpc配置為系統(tǒng)服務
這里就不贅述了,類似于把frps配置成系統(tǒng)服務。
5.將滲透域名配置為通用域名證書
待更新
參考數(shù)據(jù)
Frp使用文件
參考鏈接:
https://github . com/liuvigonzooshi/summary-web-resources/blob/master/operation/FRP . MD
1.《frp內(nèi)網(wǎng)穿透 記一次使用 frp 完成內(nèi)網(wǎng)服務器實現(xiàn)穿透全過程》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《frp內(nèi)網(wǎng)穿透 記一次使用 frp 完成內(nèi)網(wǎng)服務器實現(xiàn)穿透全過程》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/junshi/1108460.html