简介
frp是一款开源的、免费的内网穿透工具,对于有vps的可以使用frp部署内网穿透服务,从而远程访问内网的设备和数据
下载脚本部署文件 下载地址:GitHub地址
image-13.png
注意:
- 服务器端和内网机器端下载的版本要相同,否则可能会影响内网穿透
- 根据服务器系统选择合适的脚本
脚本主要分为服务端与客户端文件 - 外网服务器端用到的是Frps和Frps.ini
- 自己电脑用到的是Frpc和Frpc.ini
外网配置
解压压缩包并命重命名文件夹
mkdir frp
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz
tar -xzvf frp_0.37.1_linux_386.tar.gz
mv frp_0.37.1_linux_386 frp
#创建frp文件夹,然后下载压缩包解压并移到frp文件下
配置frps.ini文件
进入frp文件夹下,修改frps.ini文件
[common]
# 服务监听的ip,默认是127.0.0.1
bind_addr = 0.0.0.0
# 服务监听端口,默认是7000
bind_port = 7000
# 访问web服务需要用到的端口
vhost_http_port = 8001
# https需要用到的端口
vhost_https_port = 443
# frp管理后台IP,端口,请按自己需求更改
dashboard_addr = 0.0.0.0
dashboard_port = 8000
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
# 授权码,防止被随意注册
token = 123456
# 日志的记录级别,分为debug, info, warn, error四级,日志保存的天数,默认3天
log_file = ./frps.log
log_level = info
log_max_days = 3
# 心跳配置,默认的心跳配置时间是30
heartbeat_timeout = 30
#frp内网穿透服务端监听的端口,如果不设置的话,所有端口都可以连接使用,但为了不占用系统使用的端口号,建议修改
#privilege_allow_ports = 2000-3000,3001,3003,4000-50000
#连接池的数量,如果frp内网穿透客户端设置的连接池的数量大于下面的数值,就会修改frp客户端的连接池为下面的数值
max_pool_count = 100
# 每个客户端最大可以使用的端口,0表示无限制
max_ports_per_client = 0
# frp内网穿透服务端frps和frp内网穿透的客户端frpc两台电脑的时间差,如果设置为0的话,不校验时间差异,默认校验时间差为900秒。
authentication_timeout = 900
# 是否使用tcp复用,默认为true;
tcp_mux = true
启动frps
./frps -c frps.ini
设置和启动frp服务
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
systemctl enable frps
systemctl start frps
防火墙放行端口
# 添加监听端口
firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
firewall-cmd --permanent --add-port=7500/tcp
firewall-cmd --reload
注意:
- 如果是ubuntu或者centos 6,请使用ufw/iptables工具放行端口
- 7000和7500两个端口记得改成和frps.ini配置的一样
内网配置
创建一个frp的文件夹,将压缩包中的frpc和frpc.ini移动到内网配置中,并把外网中的frpc和frpc.ini删除
配置frpc.ini
[common]
server_addr = 127.0.0.1 #外网-服务器端ip
server_port = 7000 #外网-服务器端监听的端口(必须与Frps.ini中的配置一致)
#公网通过ssh访问内部服务器
[ssh]
type = tcp #配置类型为http协议
local_ip = 127.0.0.1 #内网机器的IP
local_port = 22 #内网需要监听的端口
remote_port = 6000 #自定义的访问内部ssh端口号
#公网访问内部web服务器以http方式
[web]
type = http #访问协议
local_port = 8081 #内网web服务的端口号
custom_domains = baidu.com #所绑定的公网服务器域名
启动frpc
./frpc -c frpc.ini