一、设备需求:
服务端:有公网ip的机器
客户端:在内网中的机器
二、准备工作
1、下载frp(客户端和服务端都要下载该软件):https://github.com/fatedier/frp/releases
linux端下载命令为:wget -c
2、下载proxifier(下载到需要链接内网的机器上):https://www.proxifier.com/
三、步骤
(一)FRPS—服务端配置
1、购买云服务器
可以选阿里云轻量云服务器,流量1000G/月,性价比比较高
2、在服务器上安装FRPS
解压压缩包:tar -zvxf frp_0.38.0_linux_amd64.tar.gz
打开文件夹:cd frp_0.38.0_linux_amd64
chmod +x frps #赋予frps可执行权限
cp frps /use/bin #将frps放到path目录下
mkdir /etc/frp #建立配置文件目录
cp frps.ini /etc/frp #将配置文件复制到对应的配置文件目录
3、配置开机启动
vim /etc/systemd/system/frps.service
下面为文件内容,复制过去即可
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、配置云服务器的端口(一般在防火墙设置里)
我们需要开放端口来连接我们的客户端和服务端,端口可以被认为是一道门,只要打开以后才能实现通讯
添加规则——协议选择TCP——端口范围:5000/5100(可以自己设定)——确定
5、FRPS配置
vi /etc/frp/frps.ini
配置如下
[common]
bind_port = 5001 #与客户端通讯端口,根据开放的端口来配置
token = 1234567 #可自定义
dashboard_port = 5100 #监控端口,根据开放的端口来配置
dashboard_user = name #可自定义
dashboard_pwd = password #可自定义
保存并退出
打开/usr/bin文件夹,在执行命令,开启frps:./frps -c /etc/frp/frps.ini
(二)FRPC—客户端配置
1、在服务器上安装FRPS
解压压缩包:tar -zvxf frp_0.38.0_linux_amd64.tar.gz
打开文件夹:cd frp_0.38.0_linux_amd64
chmod +x frpc #赋予frps可执行权限
cp frpc /use/bin #将frps放到path目录下
mkdir /etc/frp #建立配置文件目录
cp frpc.ini /etc/frp #将配置文件复制到对应的配置文件目录
2、配置开机启动
vim /etc/systemd/system/frpc.service
下面为文件内容,复制过去即可
[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
以下为文件内容
[common]
server_addr = 111.231.1.1 #服务端公网ip
server_port = 5001 #与服务端的通讯端口,跟服务端的bind_port相同
token = 1234567 #与服务端token同,是两者通讯的密钥
[ssh] #正向穿透内网,在外网访问服务器
type = tcp #默认
local_ip = 127.0.0.1 #客户端的ip,一般为路由器分配的内网ip
local_port = 22 #本地端口,默认即可
remote_port = 5022 #远程端口,在SSH中使用的端口
[web] #外网访问内网网页
type = http #默认
local_port = 80 #默认
custom_domains = 30.108.101.108 #服务端外网ip
[plugin_socks] #反向穿透内网,访问内网资源
type = tcp #默认
remote_port = 5066 #根据开放的端口自定义
plugin = socks5 #默认
plugin_user = name #自定义
plugin_passwd = password #自定义
user_encryption = true #默认
use_compression = true #默认
保存并退出
打开/usr/bin文件夹,在执行命令,开启frpc:./frpc -c /etc/frp/frpc.ini
(三)访问监控面板
1、输入:公网ip:5100(输入name和password)
成功连接后将会出现如图所示效果,proxy counts为3,如果小于3,则说明有的功能未能成功启动
(四)利用Proxifier侵入内网
进入软件主页面-点击Profile-点击Proxy Servers...-点击add
Address:公网ip
port:5066
Protocal:SOCK version 5
Authentication:Enable
Username:自己设置的用户名
Password:自己设置的密码
点击OK-OK完成设置
点击Profile-点击Proxification Rules-选中localhost,点击Edit(我的软件已经改过,新安装的应该都会有)
Applications空着
Target hosts空着(也可以只选择内网ip)
Target port
Action选择带有你ip的那个
OK
OK
设置完成后即可使用。