什麼是frp
frp 是一個高性能的反向代理應用,可以幫助您輕鬆地進行內網穿透,對外網提供服務,支持 tcp, http, https 等協議類型,並且 web 服務支持根據域名進行路由轉發。
準備工作
1.一臺公網IP的服務器(示例:xx.bbb.xx.bbb)
2.一臺需要實現內網穿透的服務器(示例:192.168.1.100)
3.SSH工具
4.域名(示例:xxxxx.com)
開始搭建
我是在阿里雲購買的一臺服務器,有一個公網IP,系統爲centos7 。
服務端
1.使用一臺Windows電腦下載frp:下載 速度可能會比較慢
2.下載完成後,使用winscp上傳到服務器上
解壓
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
服務端,可以刪掉不必要的客戶端文件,使用rm指令刪除文件。
rm -f frpc
rm -f frpc.ini
接下來修改服務器配置文件,使用vi指令對目標文件進行編輯。
vi frps.ini
[common]
bind_port = 7000 自己設定的frp服務端端口
vhost_http_port = 8081 自己設定的http訪問端口
保存上面的配置後,使用以下指令啓動frp服務端
./frps -c ./frps.ini
客戶端
客戶端前面的操作和服務端是一模一樣的,將frp上傳到客戶端服務器上。
解壓
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
客戶端,可以刪掉不必要的服務端文件,使用rm指令刪除文件。
rm -f frps
rm -f frps.ini
接下來修改服務器配置文件,使用vi指令對目標文件進行編輯。
vi frpc.ini
[common]
server_addr =xx.bbb.xx.bbb 填frp服務端的ip
server_port = 7000 填frp服務端的bind_prot
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 80 客戶端網站端口
custom_domains = xxxxx.com 映射的域名,記得域名的A記錄要解析到外網主機的IP
保存配置,輸入以下指令運行frp客戶端
./frpc -c ./frpc.ini
此時在服務端會看到"start proxy sucess"字樣,即連接成功,(如果失敗,請檢查端口是否開放)
最後,一定要在阿里雲開放端口,重要的事情說三遍!重要的事情說三遍!重要的事情說三遍!
開放以下端口:
- 7000 frp服務端端口
- 6000 shh訪問端口
- 8081 http訪問端口