前言
-
對於沒有公網 IP 的內網用戶來說,遠程管理或在外網訪問內網機器上的服務是一個問題。
-
今天給大家介紹一款好用內網穿透工具 FRP,FRP 全名:Fast Reverse Proxy。FRP 是一個使用 Go 語言開發的高性能的反向代理應用,可以幫助您輕松地進行內網穿透,對外網提供服務。FRP 支持 TCP、UDP、HTTP、HTTPS等協議類型,並且支持 Web 服務根據域名進行路由轉發。
FRP 的作用
-
利用處於內網或防火牆后的機器,對外網環境提供 HTTP 或 HTTPS 服務。
-
對於 HTTP, HTTPS 服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共用一個 80 端口。
-
利用處於內網或防火牆后的機器,對外網環境提供 TCP 和 UDP 服務,例如在家里通過 SSH 訪問處於公司內網環境內的主機。
FRP 安裝
FRP 服務端配置
[common] # frps的ip地址 server_addr = xxx.xxx.xxx.xxx # frps的端口 server_port = 7000 # 認證token token = xxx # 日志 log_file = ./frpc.log log_level = info log_max_days = 3
#遠程桌面配置 [dangkou] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 3389 use_encryption = true
#http配置 [web-xinhu] type = http # 本地http服務地址 local_ip = 127.0.0.1 # 本地http服務端口 local_port = 80 # 使用壓縮 use_compression = true # 分配自定義域名訪問穿透服務 假如沒有域名,則此處請填為frps服務端的服務器(IP) custom_domains = xxx.xxx.xxx # 設置認證的用戶名 #http_user = abc # 設置認證的密碼 #http_pwd = abc # 重定向到本地域名 host_header_rewrite = xinhu.test #[ssh] #type = tcp #local_port = 22 #local_ip = 127.0.0.1 # 在服務端注冊端口 服務端將監聽 7022 ssh root@118.118.118.118 -p 7022 即可代理到本機 ssh 登錄 #remote_port = 7022
執行命令 $ ./frpc -c frpc.ini
http/https 服務是在服務端定義的端口,客戶端指定協議后會自動關聯,ssh 等使用 tcp 的則是在客戶端定義好,服務端注意防火牆開放此端口即可。
FRP 默認給出兩個服務端配置文件,一個是簡版的 frps.ini,另一個是完整版本 frps_full.ini。
[common] #監聽地址 bind_addr = 0.0.0.0 #服務端口 bind_port = 7000 #認證token token = xxx #面板界面 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = xxx dashboard_pwd = xxx #http服務端口 vhost_http_port = 7080 #https服務端口 vhost_https_port = 7443
#日志
log_file = ./frps.log
log_level = info
log_max_days = 3
#Web 服務增加自定義二級域名
subdomain_host = ***.com #其次在 FRP 客戶端配置文件配置 subdomain 參數 通過 subdomain.subdomain_host 就可以訪問到內網的 Web 服務
放到后台運行:
方式一(終端退出后會被清除):jobs
執行命令 $ ./frps -c frps.ini &
查看后台工作
jobs
將后台暫停的工作恢復到前台執行
fg %工作號
把后台暫停的工作恢復到后台執行
bg %工作號
方式二:screen
$ screen -S frp #創建一個窗口
$ ./frps -c frps.ini #啟動
ctrl + a + d #推出當前窗口
$ screen -ls #查看窗口
$ screen -X -S frp quit #刪除窗口
https://man.linuxde.net/screen
客戶端和服務器起來后第三方通過 訪問 xxx.xxx.xxx:7080 就可以訪問到內網的 xinhu.test。
推薦
windows下注冊服務軟件 snnm https://blog.csdn.net/mc_linfen/article/details/82115439
linux下注冊服務軟件 supervisor
另一款穿牆軟件 zeroTier
參考:
https://www.jianshu.com/p/00c79df1aaf0
http://www.chuantou.org/47.html