大部分家用寬帶沒有獨立的IPV4字旭,沒法直接連接对湃。FRP是一個內(nèi)網(wǎng)穿透的神器,可以通過一個有公網(wǎng)IP的服務器搭建FRP服務端遗淳,去轉發(fā)流量實現(xiàn)內(nèi)網(wǎng)穿透
下載
FRP在Github開源:https://github.com/fatedier/frp
在releases頁面下載對應的版本拍柒。壓縮包只是對應平臺不通,每個包解壓都包含服務器端和客戶端屈暗。
服務器端配置
下載
服務器端我用的是centos拆讯,所以在releases頁面下載"frp_0.33.0_linux_amd64.tar.gz",如果服務器端是其他系統(tǒng),下載對應的解壓就行养叛。
解壓文件夾內(nèi):
"frps"种呐、"frps_full.ini"、"frps.ini"是放在服務器端運行的可執(zhí)行文件和配置文件弃甥。
"frpc"爽室、"frpc_full.ini"、"frpc.ini"是放在客戶端端運行的可執(zhí)行文件和配置文件淆攻。
修改配置文件
使用命令vi frps.ini修改frps.ini文件阔墩,然后保存退出:
[common]
bind_addr=0.0.0.0
bind_port = 7000
token=12310086
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123
說明:
"bind_addr"是服務器本地IP,不改卜录。
"bind_port"是frp監(jiān)聽端口戈擒。
"token"是驗證token建議設置上。
"dashboard_port"是frp面板端口艰毒。
"dashboard_user""dashboard_pwd"是面板的賬戶密碼筐高。
除了"bind_addr"參數(shù)之外的其他參數(shù),都可以根據(jù)需求自行修改丑瞧,務必記住改過的參數(shù)柑土。
然后給服務器端frps賦予執(zhí)行權限:
sudo chmod 755 ./frps
運行frps
./frps -c ./frps.ini
可以配合nohup或者screen在讓frps后臺運行。注意防火墻或者寶塔之類放行響應的端口绊汹。登錄網(wǎng)頁查看一下是否確實成功運行
訪問面板
面板僅供參考稽屏,可用可不用。訪問 http://服務器ip:7500
上面配置的7500端口西乖,使用上面配置的用戶名和密碼 admin/admin123
登陸可以看到如下界面:
客戶端配置
下載frp
演示的客戶端為windows狐榔,下載frp windows版"frp_0.33.0_windows_amd64.zip",解壓進入文件夾:
修改配置文件
本地演示用到程序是windows遠程桌面获雕,使用3389端口薄腻。需要用frp將windows客戶端的3389轉發(fā)到服務器端上。比如將客戶端的3389轉發(fā)到服務器端的33389端口届案。用文本編輯器打開"frpc.ini"文件:
[common]
server_addr = FRP服務端VPSip
server_port = 7000
token=12310086
[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 33389
保存退出庵楷,在cmd里執(zhí)行
frpc.exe -c frpc.ini
出現(xiàn)success就是連接成功
此時服務器段也有連接提醒
控制面板里也有提示
如果沒有提示,請注意在服務器防火墻或者寶塔之類的管理面板里放行響應的端口!
現(xiàn)在我們在外網(wǎng)任意一臺電腦尽纽,打開windows遠程桌面程序咐蚯,輸入服務器ip:33389,就可以連接到本地windows了
注意一定要開啟windows電腦的“允許遠程連接”弄贿,否則有可能失敗春锋。
原理
服務器端啟動根據(jù)配置文件監(jiān)聽7000端口〔畎迹客戶端根據(jù)配置文件啟動和服務器的frp 7000端口進行連接看疙。
兩者連接成功之后,客戶端讀取本地配置文件告訴服務器端直奋,需要哪些轉發(fā)操作用到什么端口能庆。
上述操作中,客戶端讀取本地配置文件告訴服務器端脚线,客戶端轉發(fā)本地的3389端口到了服務器端的33389搁胆。
然后服務器端再新開33389的監(jiān)聽端口南吮,把來自外網(wǎng)訪問33389端口的流量轉發(fā)到客戶端3389