frp需要有vps服務器做代理轉發!!!
說下環境:
frp服務器:公網上一個Centos7.5系統的ECS;
frp客戶端:內網中一台windows10系統並開啟RDP服務的PC。
1、下載frp到服務器和客戶端(鏈接:https://github.com/fatedier/frp/releases,有點慢)
服務器用的是0.30.0版本的frp_0.30.0_linux_amd64.tar.gz,使用tar zxvf *** 命令解壓后會有frpc、frpc.ini、frps、frps.ini、_full.ini等文件,帶c是客戶端需要的文件,帶s是服務端需要的文件,帶full是包含全部參數的配置文件。
這是windows版本解壓出來的文件
2、配置服務器端:
1)使用vi編輯frps.ini文件,看到默認的就如下三行:
bind_port為服務端和客戶端通信的端口,兩邊保持一致即可。
2)使用nohup ./frps -c frps.ini &命令可后台運行frps服務端程序,前台運行直接敲./frps -c frps.ini,采用后台運行時,frps的運行日志都在當前目錄下的nohup.out文件中,可cat查看。
ps:我運行了兩次。。
3、配置客戶端:
1)用notepad打開上述截圖中的frpc.ini文件,配置如下:
server_addr為公網服務器的ip地址,server_port為前面服務器端相同的端口號,[rdp]為反向代理名稱,type為協議類型(rdp是tcp的),local_ip為內網客戶端ip地址,local_port為內網客戶端端口(rdp默認是3389),remote_port為公網服務器端的映射端口(也是連接公網ip時要填的端口)。
2)使用frpc.exe -c frpc.ini命令啟動客戶端進程,並同步顯示連接和控制信息:
ps:對了,如果這里很久沒有顯示success,可能是服務器端開啟了防火牆,可以使用systemctl stop firewalld關閉嘗試,如果OK了,需要給端口加白名單。
####防火牆加白名單如下:
# firewall-cmd --permanent --zone=public --add-port=7000/tcp
添加7000端口到白名單,permanent參數表示永久,為了重啟后依然生效
# firewall-cmd --reload
重新加載防火牆
# firewall-cmd --zone=public --list-ports
查看白名單
OK了
4、測試RDP
使用另一台電腦打開遠程桌面mstsc,輸入公網ip:映射端口(如111.111.111.111:33890)后確定並輸入客戶端系統的賬號和口令登錄成功。
5、手機也可以進行遠程管理內網電腦
下載RD Client工具同樣方法輸入公網ip:端口后輸入賬號口令即可。
frp提供管理控制台的功能,frps.ini后面繼續加上如下字段:
使用公網ip:7500,輸入賬號和口令訪問,界面如下:
更多詳細配置可以查看官方中文手冊:https://github.com/fatedier/frp/blob/master/README_zh.md