[點晴永久免費OA]【附下載】帶你使用frp實現內網穿透詳細教程!
當前位置:點晴教程→點晴OA辦公管理信息系統
→『 經驗分享&問題答疑 』
frp實現內網穿透項目地址:https://github.com/fatedier/frp/releases
下載:frp_windwos_amd64.zip這個(amd64是64系統,386是32位系統,現在電腦基本64位了),比如frp_0.33.0_windows_amd64.zip frp 是一個可用于內網穿透的高性能的反向代理應用,支持 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支持了點對點穿透。名稱其實就是使用了 Fast Reverse Proxy 的首字母縮寫。架構如下: 案例:將內網Linux服務器上的web網站映射到公網上去做具體的配置前,根據對應的操作系統及架構,從github 頁面下載最新版本的程序。 將 frps 及 frps.ini 放到具有公網 IP 的機器上。請注意配置防火墻或安全組放過配置文件中使用的端口。 將 frpc 及 frpc.ini 放到處于內網環境的機器上。 在公網windows上部署frps第一步:上傳frp_0.39.1_windows_386到公網上的Windows服務器上第二步:修改文件frps.ini文件第三步:在cmd中輸入以下命令啟動frps.exe程序出現 frps started successfully 代表frps啟動成功; 在內網liunx上部署frpc第四步:把frpc上傳到本地內網的liunx服務器上并解壓此文件第五步:編輯 frpc.ini (這里需要有一個自己的域名)第六步:啟動frpc,出現[web] start proxy success即可在瀏覽器訪問第七步:在瀏覽器上訪問成功使用場景1. 通過 rdp 訪問家里的機器修改 frps.ini 文件,為了安全起見,這里最好配置一下身份驗證,服務端和客戶端的 common 配置中的 token 參數一致則身份驗證通過: # frps.ini [common] bind_port = 7000 # 用于身份驗證,請自行修改,要保證服務端與客戶端一致 token = password2022 啟動 frps: Linux上啟動:
windows上使用
修改 frpc.ini 文件,假設 frps 所在服務器的公網 IP 為 x.x.x.x: # frpc.ini [common] server_addr = x.x.x.x server_port = 7000 用于身份驗證,請自行修改,要保證服務端與客戶端一致token = password2022 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 6000 啟動 frpc: ./frpc -c ./frpc.ini frpc.exe -c ./frpc.ini 通過 rdp 訪問遠程的機器,地址為: x.x.x.x:6000 開機自啟針對 Windows 系統,為了便于使用,可以配置一下開機的時候靜默啟動。 在 frpc.exe 的同級目錄創建一個 start_frpc.vbs: start_frpc.vbs 請根據實際情況修改路徑 CreateObject("WScript.Shell").Run """D:\Program Files\frp_windows_amd64\frpc.exe""" & "-c" & """D:\Program Files\frp_windows_amd64\frpc.ini""",0 復制 start_frpc.vbs 文件,打開以下目錄,注意將 `C:\Users\<USER_NAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup`
2. 通過 SSH 訪問公司內網機器frps 的部署步驟同上。 啟動 frpc,配置如下: frpc.ini [common] server_addr = x.x.x.x server_port = 7000 用于身份驗證,請自行修改,要保證服務端與客戶端一致token = abcdefgh [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 通過 SSH 訪問內網機器,假設用戶名為 test:
3. 通過自定義域名訪問部署于內網的 Web 服務有時想要讓其他人通過域名訪問或者測試我們在本地搭建的 Web 服務,但是由于本地機器沒有公網 IP,無法將域名解析到本地的機器,通過 frp 就可以實現這一功能,以下示例為 http 服務,https 服務配置方法相同, vhost_http_port 替換為 vhost_https_port, type 設置為 https 即可。 修改 frps.ini 文件,設置 http 訪問端口為 8080: frps.ini [common] bind_port = 7000 vhost_http_port = 8080 用于身份驗證,請自行修改,要保證服務端與客戶端一致token = abcdefgh 啟動 frps:
修改 frpc.ini 文件,假設 frps 所在的服務器的 IP 為 x.x.x.x,local_port 為本地機器上 Web 服務對應的端口, 綁定自定義域名 `www.yourdomain.com`: frpc.ini [common] server_addr = x.x.x.x server_port = 7000 用于身份驗證,請自行修改,要保證服務端與客戶端一致token = abcdefgh [web] type = http local_port = 80 custom_domains = http://ctf.caichuanqi.cn 啟動 frpc:
4. 對外提供簡單的文件訪問服務通過 static_file 插件可以對外提供一個簡單的基于 HTTP 的文件訪問服務。 frps 的部署步驟同上。 啟動 frpc,啟用 static_file 插件,配置如下:
用于身份驗證,請自行修改,要保證服務端與客戶端一致token = abcdefgh [test_static_file] type = tcp remote_port = 6000 plugin = static_file 要對外暴露的文件目錄plugin_local_path = /tmp/file 訪問 url 中會被去除的前綴,保留的內容即為要訪問的文件路徑plugin_strip_prefix = static plugin_http_user = abc plugin_http_passwd = abc
常用功能統計面板(Dashboard)通過瀏覽器查看 frp 的狀態以及代理統計信息展示。
需要在 frps.ini 中指定 dashboard 服務使用的端口,即可開啟此功能: 打開瀏覽器通過 http://[server_addr]:7500 訪問 dashboard 界面,用戶名密碼默認為 admin 。 加密與壓縮這兩個功能默認是不開啟的,需要在 frpc.ini 中通過配置來為指定的代理啟用加密與壓縮的功能,壓縮算法使用 snappy: 如果公司內網防火墻對外網訪問進行了流量識別與屏蔽,例如禁止了 SSH 協議等,通過設置 如果傳輸的報文長度較長,通過設置 TLS從 v0.25.0 版本開始 frpc 和 frps 之間支持通過 TLS 協議加密傳輸。通過在 frpc.ini 的 為了端口復用,frp 建立 TLS 連接的第一個字節為 0x17。 注意: 啟用此功能后除 xtcp 外,不需要再設置 use_encryption。 代理限速目前支持在客戶端的代理配置中設置代理級別的限速,限制單個 proxy 可以占用的帶寬。 在代理配置中增加 bandwidth_limit 字段啟用此功能,目前僅支持 范圍端口映射在 frpc 的配置文件中可以指定映射多個端口,目前只支持 tcp 和 udp 的類型。 這一功能通過 例如要映射本地 6000-6005, 6007 這 6 個端口,主要配置如下: 實際連接成功后會創建 8 個 proxy,命名為 test_tcp_0, test_tcp_1 ... test_tcp_7。 更多配置由于 frp 目前支持的功能和配置項較多,完整的示例配置文件請參考: frps 完整配置文件 frpc 完整配置文件 參考資料[3]github 頁面:https://github.com/fatedier/frp/releases [4]frps 完整配置文件:https://github.com/fatedier/frp/blob/master/conf/frps_full.ini [5]frpc 完整配置文件:https://github.com/fatedier/frp 該文章在 2023/12/29 0:46:16 編輯過 |
關鍵字查詢
相關文章
正在查詢... |