frp的作用是可以作为内网穿透来使用,比如家里没有公网ip,可以买一个最便宜的阿里云服务器,三年200多,作为穿透的服务器,然后在家里的电脑或者nas上安装客户端,这样在公网就可以连接上nas了,同样适用于穿透公司内网,方便在家办公。
frp的安装分为服务器(frps)和客户端(frpc),服务器版要放到公网的服务器上,客户端版放到需要穿透的局域网中。
从图中可以看到,带宽受用户带宽、公网带宽和公司带宽的最小带宽限制,当然,frp也提供了stcp和xtcp,此部分以后在出教程。
mkdir /home/frp
进入目录
cd /home/frp/
下载软件
找到frp软件地址,找到最新版本,然后复制链接地址。
https://github.com/fatedier/frp/releases
下载到服务器
执行下载命令:
wget -P /home/frp/ 'https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz'
解压文件
tar xzvf frp_0.37.1_linux_amd64.tar.gz
配置服务器软件
修改配置文件:
vim frps.ini
修改内容为:
[common]
bind_port = 7000 # 客户端链接服务器的端口,在客户端配置时要一样
dashboard_port = 7001 # 管理控制台端口
token = 123456 # 客户端链接的密码,在客户端配置时要一样
dashboard_user = admin # 管理控制台用户吗
dashboard_pwd = 234567 # 管理控制台密码
log_file = /home/frp/frp_0.37.1_linux_amd64/frps.log # 日志位置,最好写绝对路径
log_level = info # 日志级别
log_max_days = 3 # 日志记录天数
max_pool_count = 10 # 链接迟最大数量
服务端配置完成后,以后就无需修改,只需修改客户端即可
运行:
./frps -c frps.ini
登录ip:7001,输入用户名密码,即可查看到frp服务的运行情况
./frpc -c frpc.ini
其次,客户端的配置文件,内容如下:
修改文件:
vim /home/frp/
修改内容为:
[common]
token = 123456 # token与frps.ini 相同
server_addr = 公网ip。# 服务器公网ip
server_port = 7000 #与服务器的prot相同
log_file = /home/frp/frp_0.37.1_linux_amd64/frpc.log # 日志位置
log_level = info
log_max_days = 3
pool_count = 20
admin_addr = 127.0.0.1 # 管理后台ip地址
admin_port = 7002 # 管理后台端口
admin_user = admin #管理后台用户名
admin_pwd = 234567 # 管理后台密码
user = centosPC # 客户端名字,如果有多个客户端,可以使用此属性进行区别
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
配置完成后,即可在所有外网环境上通过公网ip:6000 进行远程内网服务器了。
客户端和服务端命令基本相同,只有运行的地址和文件名字的区别,教程只演示客户端的配置。
新建启动文件:
vim /lib/systemd/system/frpc.service
内容为:
[Unit]
Description=frpc serve
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/home/frp/frp_0.37.1_linux_amd64/frpc -c /home/frp/frp_0.37.1_linux_amd64/frpc.ini
[Install]
WantedBy=multi-user.target
运行frp客户端
systemctl start frpc
设置开机启动
systemctl enable frpc