一、設(shè)備需求:
服務(wù)端:有公網(wǎng)ip的機(jī)器
客戶端:在內(nèi)網(wǎng)中的機(jī)器
二、準(zhǔn)備工作
1、下載frp(客戶端和服務(wù)端都要下載該軟件):https://github.com/fatedier/frp/releases
linux端下載命令為:wget -c
2、下載proxifier(下載到需要鏈接內(nèi)網(wǎng)的機(jī)器上):https://www.proxifier.com/
三、步驟
(一)FRPS—服務(wù)端配置
1、購買云服務(wù)器
可以選阿里云輕量云服務(wù)器,流量1000G/月,性價比比較高
2、在服務(wù)器上安裝FRPS
解壓壓縮包:tar -zvxf frp_0.38.0_linux_amd64.tar.gz
打開文件夾:cd frp_0.38.0_linux_amd64
chmod +x frps #賦予frps可執(zhí)行權(quán)限
cp frps /use/bin #將frps放到path目錄下
mkdir /etc/frp #建立配置文件目錄
cp frps.ini /etc/frp #將配置文件復(fù)制到對應(yīng)的配置文件目錄
3、配置開機(jī)啟動
vim /etc/systemd/system/frps.service
下面為文件內(nèi)容,復(fù)制過去即可
Description=FRP Server Daemon
[Service]
Type=simple
ExecStartPre=-/usr/sbin/setcap cap_net_bind_service=+ep /usr/bin/frps
ExecStart=/usr/bin/frps -c /etc/frps.ini
Restart=always
RestartSec=20s
User=nobody
PermissionsStartOnly=true
[Install]
WantedBy=multi-user.target
保存并退出
4、配置云服務(wù)器的端口(一般在防火墻設(shè)置里)
我們需要開放端口來連接我們的客戶端和服務(wù)端,端口可以被認(rèn)為是一道門,只要打開以后才能實(shí)現(xiàn)通訊
添加規(guī)則——協(xié)議選擇TCP——端口范圍:5000/5100(可以自己設(shè)定)——確定

5、FRPS配置
vi /etc/frp/frps.ini
配置如下
[common]
bind_port = 5001 #與客戶端通訊端口,根據(jù)開放的端口來配置
token = 1234567 #可自定義
dashboard_port = 5100 #監(jiān)控端口,根據(jù)開放的端口來配置
dashboard_user = name #可自定義
dashboard_pwd = password #可自定義
保存并退出
打開/usr/bin文件夾,在執(zhí)行命令,開啟frps:./frps -c /etc/frp/frps.ini
(二)FRPC—客戶端配置
1、在服務(wù)器上安裝FRPS
解壓壓縮包:tar -zvxf frp_0.38.0_linux_amd64.tar.gz
打開文件夾:cd frp_0.38.0_linux_amd64
chmod +x frpc #賦予frps可執(zhí)行權(quán)限
cp frpc /use/bin #將frps放到path目錄下
mkdir /etc/frp #建立配置文件目錄
cp frpc.ini /etc/frp #將配置文件復(fù)制到對應(yīng)的配置文件目錄
2、配置開機(jī)啟動
vim /etc/systemd/system/frpc.service
下面為文件內(nèi)容,復(fù)制過去即可
[Unit]
Description=FRP Client Daemon
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/frpc -c /etc/frpc.ini
Restart=always
RestartSec=20s
User=nobody
[Install]
WantedBy=multi-user.target
保存并退出
3、FRPC配置
vi /etc/frp/frpc.ini
以下為文件內(nèi)容
[common]
server_addr = 111.231.1.1 #服務(wù)端公網(wǎng)ip
server_port = 5001 #與服務(wù)端的通訊端口,跟服務(wù)端的bind_port相同
token = 1234567 #與服務(wù)端token同,是兩者通訊的密鑰
[ssh] #正向穿透內(nèi)網(wǎng),在外網(wǎng)訪問服務(wù)器
type = tcp #默認(rèn)
local_ip = 127.0.0.1 #客戶端的ip,一般為路由器分配的內(nèi)網(wǎng)ip
local_port = 22 #本地端口,默認(rèn)即可
remote_port = 5022 #遠(yuǎn)程端口,在SSH中使用的端口
[web] #外網(wǎng)訪問內(nèi)網(wǎng)網(wǎng)頁
type = http #默認(rèn)
local_port = 80 #默認(rèn)
custom_domains = 30.108.101.108 #服務(wù)端外網(wǎng)ip
[plugin_socks] #反向穿透內(nèi)網(wǎng),訪問內(nèi)網(wǎng)資源
type = tcp #默認(rèn)
remote_port = 5066 #根據(jù)開放的端口自定義
plugin = socks5 #默認(rèn)
plugin_user = name #自定義
plugin_passwd = password #自定義
user_encryption = true #默認(rèn)
use_compression = true #默認(rèn)
保存并退出
打開/usr/bin文件夾,在執(zhí)行命令,開啟frpc:./frpc -c /etc/frp/frpc.ini
(三)訪問監(jiān)控面板
1、輸入:公網(wǎng)ip:5100(輸入name和password)

成功連接后將會出現(xiàn)如圖所示效果,proxy counts為3,如果小于3,則說明有的功能未能成功啟動
(四)利用Proxifier侵入內(nèi)網(wǎng)
進(jìn)入軟件主頁面-點(diǎn)擊Profile-點(diǎn)擊Proxy Servers...-點(diǎn)擊add

Address:公網(wǎng)ip
port:5066
Protocal:SOCK version 5
Authentication:Enable
Username:自己設(shè)置的用戶名
Password:自己設(shè)置的密碼

點(diǎn)擊OK-OK完成設(shè)置
點(diǎn)擊Profile-點(diǎn)擊Proxification Rules-選中l(wèi)ocalhost,點(diǎn)擊Edit(我的軟件已經(jīng)改過,新安裝的應(yīng)該都會有)
Applications空著
Target hosts空著(也可以只選擇內(nèi)網(wǎng)ip)
Target port
Action選擇帶有你ip的那個
OK
OK

設(shè)置完成后即可使用。
參考文獻(xiàn):
frp+proxifier實(shí)現(xiàn)內(nèi)網(wǎng)socks5反向代理
Debian9系統(tǒng)使用FRP內(nèi)網(wǎng)穿透