FRP +windows遠(yuǎn)程桌面配置
什么是 Frp
內(nèi)網(wǎng)穿透工具有很多,其中 Frp (Fast Reverse Proxy) 是比較流行的一款。FRP 是一個(gè)免費(fèi)開源的用于內(nèi)網(wǎng)穿透的反向代理應(yīng)用,它支持 TCP、UDP 協(xié)議, 也為 http 和 https 協(xié)議提供了額外的支持。你可以粗略理解它是一個(gè)中轉(zhuǎn)站,幫你實(shí)現(xiàn) 公網(wǎng) ←→ FRP(服務(wù)器) ←→ 家庭內(nèi)網(wǎng) 的連接,讓內(nèi)網(wǎng)里的設(shè)備也可以被公網(wǎng)訪問到。
服務(wù)端設(shè)置
安裝
FRP 使用 Go 語言開發(fā),可以支持 Windows、Linux、macOS、ARM 等多平臺(tái)部署。FRP 安裝非常容易,只需下載對(duì)應(yīng)系統(tǒng)平臺(tái)的軟件包并解壓就可用了。這里以 Linux 系統(tǒng)為例:
下載地址:https://github.com/fatedier/frp/releases
cd /home
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -xf frp_0.33.0_linux_amd64.tar.gz
mkdir /etc/frp
cp frp_0.33.0_linux_amd64/frps /usr/bin/
cp frp_0.33.0_linux_amd64/frps.ini /etc/frp/
frp默認(rèn)使用7000
端口,如果你的防火墻不允許,需要添加。
輸入frps -v
顯示版本號(hào)則說明安裝成功。
啟動(dòng)服務(wù)端
frps
使用指定配置文件:
frps -c /etc/frp/frps.ini
作為系統(tǒng)服務(wù)啟動(dòng)
將/home/frp_0.33.0_linux_amd64/systemd/frps.service
文件拷貝至/usr/lib/systemd/system/
目錄下。
cp /home/frp_0.33.0_linux_amd64/systemd/frps.service /usr/lib/systemd/system/
#添加開機(jī)啟動(dòng)
systemctl enable frps
#啟動(dòng)frp服務(wù)
systemctl start frps
frps.ini高級(jí)設(shè)置
token=12310086
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123
token
是驗(yàn)證token建議設(shè)置上。dashboard_port
是frp的web面板端口。dashboard_user
、dashboard_pwd
是面板的賬戶密碼。
配置客戶端(安裝在內(nèi)網(wǎng)的機(jī)器上)
windows
客戶端也是在上面下載的壓縮包里,Linux 客戶端的安裝和啟動(dòng)與服務(wù)器端沒有太多區(qū)別,只是對(duì)應(yīng)運(yùn)行程序是frpc
而不是frps
。這里以windows為例。
修改配置文件
修改frpc.ini
[common]
# server_addr 為 FRP 服務(wù)端 (VPS 服務(wù)器) 的公網(wǎng) IP
server_addr = 1.2.3.4
server_port = 7000
[RDP]
type = tcp
local_ip = 192.168.1.30 #電腦在局域網(wǎng)中的內(nèi)網(wǎng) IP (如是本機(jī),也可使用 127.0.0.1)
local_port = 3389
remote_port = 7002
這樣就在本地上新增了“RDP”這個(gè)可供公網(wǎng)訪問的服務(wù)了 (名稱可以自己取)。如果你需要添加更多的設(shè)備和服務(wù)供外網(wǎng)訪問,那么只需照樣畫葫蘆,指定正確的 IP 地址和端口號(hào)即可。
注意放行端口
每個(gè)服務(wù)的 remote_port 是遠(yuǎn)程訪問時(shí)要用到的端口號(hào),注意這些端口號(hào)也要在服務(wù)器的防火墻和安全組里放行才能順利訪問的,如上面的 7001、7002。
啟動(dòng) FRP 客戶端
假設(shè)你已將 Frp 的客戶端解壓縮到?c:frp
?目錄中,那么啟動(dòng) Frp 客戶端的命令就是:
c:frpfrpc.exe -c c:frpfrpc.ini
啟動(dòng)之后看到 “start proxy success”字樣就表示啟動(dòng)成功了。
Linux
這里以CentOS為例。
將frpc
和frpc.ini
這兩個(gè)文件拷貝至/home/目錄下,賦予權(quán)限:chmod 755 frpc
修改frpc.ini內(nèi)容:
[common]
# server_addr 為 FRP 服務(wù)端 (VPS 服務(wù)器) 的公網(wǎng) IP
server_addr = 1.2.3.4
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1 #電腦在局域網(wǎng)中的內(nèi)網(wǎng) IP (如是本機(jī),也可使用 127.0.0.1)
local_port = 22
remote_port = 7103 #FRP 服務(wù)端需開啟的端口
啟動(dòng):
cd /home
./frpc -c frpc.ini
啟動(dòng)之后看到 “start proxy success”字樣就表示啟動(dòng)成功了。
作為系統(tǒng)服務(wù)啟動(dòng)
新建/usr/lib/systemd/system/frpc.service
文件,內(nèi)容如下:
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frpc -c /home/frps.ini
[Install]
WantedBy=multi-user.target
#添加開機(jī)啟動(dòng)
systemctl enable frpc
#啟動(dòng)frpc服務(wù)
systemctl start frpc
進(jìn)行遠(yuǎn)程訪問
遠(yuǎn)程桌面連接到家里的 Windows 電腦,那么打開“微軟遠(yuǎn)程桌面客戶端”后,在地址欄里填入服務(wù)器公網(wǎng)IP:7002
即可連接。
由此,借助 Frp,你就能輕松地為本地局域網(wǎng)內(nèi)網(wǎng)的設(shè)備提供公網(wǎng)直接訪問的能力了,你可以用 Frp 來轉(zhuǎn)發(fā)包括但不限于 ssh、http、https、轉(zhuǎn)發(fā) Unix 域套接字等服務(wù)。
Windows將FRP設(shè)置為服務(wù)并開機(jī)自啟
實(shí)Windows也能像Linux那樣設(shè)置程序?yàn)楹笈_(tái)運(yùn)行,就是將其添加為服務(wù);
下載winsw
:?https://github.com/kohsuke/winsw/releases
我下載的是2.9.0
版本。
這里將下載WinSw.Net4.exe
重命名為winsw.exe
了,以方便后面操作;
創(chuàng)建與winsw同名的配置文件winsw.xml
,內(nèi)容如下:
<service>
<!-- 該服務(wù)的唯一標(biāo)識(shí) -->
<id>frp</id>
<!-- 該服務(wù)的名稱 -->
<name>frp-windows</name>
<!-- 該服務(wù)的描述 -->
<description>frpc客戶端 這個(gè)服務(wù)用 frpc 實(shí)現(xiàn)內(nèi)網(wǎng)穿透</description>
<!-- 要運(yùn)行的程序路徑 -->
<executable>D:toolfrp_clientfrpc.exe</executable>
<!-- 攜帶的參數(shù) -->
<arguments>-c D:toolfrp_clientfrpc.ini</arguments>
<!-- 第一次啟動(dòng)失敗 60秒重啟 -->
<onfailure action="restart" delay="60 sec"/>
<!-- 第二次啟動(dòng)失敗 120秒后重啟 -->
<onfailure action="restart" delay="120 sec"/>
<!-- 日志模式 -->
<logmode>append</logmode>
<!-- 指定日志文件目錄(提前在該文件目錄下新建logs文件夾) -->
<logpath>logs</logpath>
</service>
開始使用:
//注冊(cè)服務(wù)
winsw.exe install
//卸載服務(wù)
winsw.exe uninstall
//啟動(dòng)服務(wù)
winsw.exe start
//停止服務(wù)
winsw.exe stop
//重啟服務(wù)
winsw.exe restart
//查看狀態(tài)
winsw.exe status
注冊(cè)服務(wù)時(shí)如果被某60攔截了需要點(diǎn)允許,如果提示:FATAL - WMI Operation failure: AccessDenied
?則需要以管理員方式運(yùn)行CMD再試;
不出意外的話打開任務(wù)管理器就能看到剛剛添加的服務(wù)了
解除Windows10多賬戶遠(yuǎn)程桌面連接限制
Windows默認(rèn)情況下只能同時(shí)登錄一個(gè)賬號(hào),并且手機(jī)連上電腦,電腦就會(huì)退出登錄,被踢下線,這是因?yàn)?能讓多個(gè)賬號(hào)遠(yuǎn)程連接到一個(gè)電腦,這個(gè)是服務(wù)器版才該有的功能,想要讓W(xué)indows10支持多賬戶遠(yuǎn)程桌面連接,需要進(jìn)行如下設(shè)置。
配置本地組策略
運(yùn)行中輸入GPEDIT.MSC
打開組策略編輯器,依次點(diǎn)擊:
管理模板-Windows組件-遠(yuǎn)程桌面服務(wù)-遠(yuǎn)程桌面會(huì)話主機(jī)-連接
雙擊右邊的限制連接的數(shù)量
,選擇已啟用
,然后在下面選擇你想開啟的最大連接數(shù),一般填個(gè)3都?jí)蛴昧?
雙擊右邊的將遠(yuǎn)程桌面服務(wù)用戶限制到單獨(dú)的遠(yuǎn)程桌面服務(wù)會(huì)話
,把這里改成已啟用
開啟多用戶連接功能
由于系統(tǒng)本質(zhì)上裝的并不是服務(wù)器版本,所以到目前為止我們還是不能夠多用戶同時(shí)連接的,要去github上下載RDPWrap這個(gè)軟件
解壓之后我們右鍵選擇用管理員依次運(yùn)行這三個(gè)文件
- install.bat
- update.bat
- RDPConf.exe
如果你的系統(tǒng)版本太新,那你很可能箭頭這里依然會(huì)顯示[not supported]
需要到這個(gè)代碼倉庫的issues里面搜索你的系統(tǒng)版本(也就是上面的10.0.17763.1369字眼),一般來說都會(huì)有人貼出新系統(tǒng)的配置信息,你只要把這個(gè)配置信息粘貼到剛剛那個(gè)rdpurap.ini文件的末尾就行了.例如下圖:
到這里,所有的步驟就都結(jié)束了,你的電腦現(xiàn)在可以讓兩個(gè)賬戶同時(shí)連接而不會(huì)將本地用戶踢出。
其他
配合Microsoft Remote Desktop
?APP可以實(shí)現(xiàn)手機(jī)遠(yuǎn)程控制電腦。
詳情:https://www.iplaysoft.com/microsoft-remote-desktop.html
提示登陸沒有成功,但是用戶名密碼正確
開始–>運(yùn)行->gpedit.msc->計(jì)算機(jī)配置->Windows設(shè)置->安全設(shè)置->本地策略->安全選項(xiàng)->網(wǎng)絡(luò)訪問:本地帳戶的共享和安全模型。 修改為使用經(jīng)典模式
自建 Teamviewer 連接
使用frp來自建teamviewer的本地lan連接,來避開teamviewer的商業(yè)檢測(cè)。
teamviewer使用的是本地5938端口
受控端teamviewer設(shè)置
- 允許LAN連接
- 添加無人值守密碼
受控端frp設(shè)置
使用frp轉(zhuǎn)發(fā)本地的5938端口到服務(wù)器端上的5938端口,內(nèi)網(wǎng)外網(wǎng)端口一致為5938。
[teamview]
type = tcp
local_ip = 127.0.0.1
local_port = 5938
remote_port = 5938
控制端teamviewer使用
控制端啟動(dòng)teamviewer,在“控制遠(yuǎn)程計(jì)算機(jī)”那里輸入服務(wù)器的ip,點(diǎn)連接就可以了
身份認(rèn)證
目前?frpc
?和?frps
?之間支持兩種身份驗(yàn)證方式,token
?和?oidc
,默認(rèn)為?token
。
通過?frpc.ini
?和frps.ini
?的?[common]
?段落中配置?authentication_method
?來指定要使用的身份驗(yàn)證方式。
只有通過身份驗(yàn)證的客戶端(frpc)才能成功連接 frps。
token
基于 Token 的身份驗(yàn)證方式比較簡(jiǎn)單,需要在?frpc
?和?frps
?的?[common]
?段落中配置上相同的?token
?參數(shù)即可。
安全地暴露內(nèi)網(wǎng)服務(wù)
原文地址:https://gofrp.org/docs/examples/stcp/
這個(gè)示例將會(huì)創(chuàng)建一個(gè)只有自己能訪問到的 SSH 服務(wù)代理。
對(duì)于某些服務(wù)來說如果直接暴露于公網(wǎng)上將會(huì)存在安全隱患。
使用?stcp(secret tcp)
?類型的代理可以避免讓任何人都能訪問到要穿透的服務(wù),但是訪問者也需要運(yùn)行另外一個(gè) frpc 客戶端。
frp服務(wù)端無需做任何更改。
在需要暴露到內(nèi)網(wǎng)的機(jī)器上部署?frpc
,配置如下:
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh]
type = stcp
# 只有 sk 一致的用戶才能訪問到此服務(wù)
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
在想要訪問內(nèi)網(wǎng)服務(wù)的機(jī)器上也部署?frpc
,配置如下:
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh_visitor]
type = stcp
# stcp 的訪問者
role = visitor
# 要訪問的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 綁定本地端口用于訪問 SSH 服務(wù)
bind_addr = 127.0.0.1
bind_port = 6000
運(yùn)行服務(wù)后,即可通過本機(jī)的6000端口來連接遠(yuǎn)程服務(wù)器了。
【標(biāo)準(zhǔn)版】400元/年/5用戶/無限容量
【外貿(mào)版】500元/年/5用戶/無限容量
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書ssl、400電話、
聯(lián)系方式:電話:13714666846 微信同號(hào)
聲明:本站所有作品(圖文、音視頻)均由用戶自行上傳分享,或互聯(lián)網(wǎng)相關(guān)知識(shí)整合,僅供網(wǎng)友學(xué)習(xí)交流,若您的權(quán)利被侵害,請(qǐng)聯(lián)系 管理員 刪除。
本文鏈接:http://www.goalq.com.cn/article_32840.html