一、frp的作用
1)利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
2)利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机
二、配置说明
1、实现功能
(1)外网通过ssh访问内网机器
2、配置前准备
(1)公网服务器1台
(2)内网服务器1台
三、安装frp
1、公网服务器与内网服务器都需要下载frp进行安装
2、下载地址是https://github.com/fatedier/frp/releases
也可以通过命令下载:
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
这里我们的实验环境都是centos系统
公网服务器是centos系统
内网服务器也是centos系统
3.在WINDOWS下用winscp软件登录,上传frp_0.33.0_linux_amd64.tar.gz至root目录
4.解压文件:
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
5.进入解压目录:
cd frp_0.33.0_linux_amd64.tar.gz
解压之后,我们会发现这4个文件。
frps、frps.ini这个两个是服务端文件,
frpc、frpc.ini这两个是客户端文件
那我们配置相应的文件就行。
公网服务器配置 frps、frps.ini这个两个文件
内网服务器配置 frpc、frpc.ini这个两个文件
6.配置服务端:
vi ./frps.ini
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口(服务端开放的端口)
vhost_http_port = 80 #访问客户端web服务自定义的端口号(服务端开放的端口)
vhost_https_port = 443 #访问客户端web服务自定义的端口号(服务端开放的端口)
token = 12345678 #秘钥可以自己修改,这一行只是确保安全,所以加不加都无所谓。
四、启动服务端
临时启动
./frps -c ./frps.ini
永久启动
nohup ./frps -c ./frps.ini &
五、配置客户端
vi ./frpc.ini
[common]
server_addr = 120.56.37.48 #公网服务器ip (这里改成自己的)
server_port = 7000 #与服务端bind_port一致
token = 12345678 #与服务端秘钥一致
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 127.0.0.1 #内网服务器ip
local_port = 22 #ssh默认端口号 (客户端开方的端口)
remote_port = 6000 #自定义的访问内部ssh端口号(服务端开放的端口)
#公网访问内部web服务器以http方式
[web]
type = http #访问协议
local_ip = 127.0.0.1 #内网服务器ip
local_port = 80 #内网web服务的端口号 (客户端开方的端口)
custom_domains = www.caonima.com #绑定的域名,,如果没有,那可以用服务器端口转发。就像上面6000端口一样
六、启动客户端
临时启动
./frpc -c ./frpc.ini
永久启动
nohup ./frpc -c ./frpc.ini &
最后我们来测试一下,连接成功
登录成功!!!!
上面说的是远程登录内网linux,这里来说下的远程登录内网windows
楼主参考的是这篇文章
https://blog.csdn.net/u011976966/article/details/82019688
先设置服务器
启动命令(./frps -c frps.ini)
再来设置客户机
解压后 只需要里面的两个文件
客户端开起(frpc.exe -c frpc.ini)
客户端以上就是客户端A的配置了
客户端B的配置就是改一下配置的端口号和名称和名称就行
如下
[common]
server_addr = 这个地方是你的外网服务器的ip
server_port = 7000
auto_token=yumianfeilong
[yumianfeilong2]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3390
这个时候远程的ip和地址就是 服务器IP:配置的3390端口
依次类推 客户端C 客户端D 只需要改一下名字和端口就行了,名字不能重复
遇到的坑,
1、先要启动服务端,再启动客户端
2、端口开放问题,这里我用的是宝塔来开放的端口