Frp內網穿透快速實現遠程桌面

1.前言

TeamViewer、向日葵等第三方軟件大多是商業化軟件,有各種限制。
本文介紹如何使用Frp搭建實現遠程桌面連接(服務端爲Linux,客戶端windows)

2.Frp

Frp 是一款開源的、簡潔易用、高性能的反向代理軟件

它支持 TCP、UDP、HTTP、HTTPS 等協議類型

官方地址:https://github.com/fatedier/frp

3.操作步驟
1)部署Frp服務端到雲服務器(如阿里、騰訊、華爲等)
根據系統平臺,從下面鏈接下載 Frp 源碼上傳到雲服務器
https://github.com/fatedier/frp/releases
也可以通過 wget 命令直接下載

wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_darwin_amd64.tar.gz

解壓縮

tar zxf frp_0.43.0_darwin_amd64.tar.gz

移動至/usr/local

mv frp_0.43.0_darwin_amd64 /usr/local/frp

配置服務端frps.ini
在線文檔地址 https://gofrp.org/docs/overview/

[common]
bind_port = 7000              #是自己設定的frp服務端端口
token = 123456                #覈實身份用,加了更安全

#配置frp後臺管理賬號
dashboard_port = 6000
dashboard_user = admin
dashboard_pwd = 123456

#配置日誌配置文件夾
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

配置systemctl來控制,服務端運行
vim新建文件並寫入配置內容(使用ins或i插入,完成複製完成之後,按esc退出 :wq 保存退出)

vim /usr/lib/systemd/system/frp.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target

開放雲服務器防火牆端口、配置安全組規則,啓動Frp 服務

啓動/停止/重啓,查看狀態,設置開機自啓/關閉開機自啓
systemctl start frp
systemctl stop frp
systemctl restart frp
systemctl status frp
systemctl enable frp
systemctl disable frp

2)客戶端
從下面鏈接下載Frp客戶端(與服務端版本保持一直)
https://github.com/fatedier/frp/releases

修改frpc.ini

[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = 123456

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

啓動
cmd命令切換到文件夾執行

frpc -c frpc.ini

輸出:login to server success, get run id [], server udp port [0]即爲登錄成功

3)測試遠程連接
另一臺電腦打開win遠程桌面,輸入雲服務器ip地址測試遠程連接(注意先開啓遠程連接權限)
也可以通過手機 App,如「 RD Client 」來控制遠程桌面
4)設置開機自啓
windows 設置開機自啓的方法有很多,這裏推薦使用winsw將frp註冊爲系統服務。
參考鏈接:https://blog.csdn.net/atmosphere_/article/details/104018900

爲了保證目標計算機永久在線,可以利用「 winsw 」將客戶端連接配置做成一個服務,並配置爲開機自啓
1.此處需要使用到winsw 下載地址: https://github.com/kohsuke/winsw/releases
這裏將下載WinSw.Net4.exe重命名爲winsw.exe,以方便後面操作

新建一個配置文件 winsw.xml(注意編碼格式utf-8,否則會提示給定編碼中的字符無效),添加運行 Frp 客戶端的命令

<service>
	<!-- 該服務的唯一標識 -->
    <id>frp</id>
    <!-- 該服務的名稱 -->
    <name>frp</name>
    <!-- 該服務的描述 -->
    <description>frp遠程控制客戶端服務</description>
    <!-- 要運行的程序路徑 -->
    <executable>D:\Program Files\frp_0.43.0_windows_amd64\frpc.exe</executable>
    <!-- 攜帶的參數 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次啓動失敗 60秒重啓 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次啓動失敗 120秒後重啓 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日誌模式 -->
    <logmode>append</logmode>
    <!-- 指定日誌文件目錄(相對於executable配置的路徑) -->
    <logpath>logs</logpath>
</service>

使用管理員身份打開CMD終端,CD進入目錄運行下面命令,使得Frp客戶端能變成系統服務在後臺運行了

//註冊服務
winsw.exe install
//卸載服務
winsw.exe uninstall
//啓動服務
winsw.exe start
//停止服務
winsw.exe stop
//重啓服務
winsw.exe restart
//查看狀態
winsw.exe status

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章