一、frp 的作用
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
二、配置说明
1、实现功能
(1)外网通过 ssh 访问内网机器
(2)自定义绑定域名访问内网 web 服务
2、配置前准备
(1)公网服务器 1 台
(2)内网服务器 1 台(我这里演示的是 linux 环境,win10 上面 vmware 安装的 centos7)
(3)公网服务器绑定域名 1 个(实现二 1 中(1)功能不需要公网服务器绑定域名,二 1 中(2)功能必须需要公网服务器绑定域名)
(4)内网服务器部署一个 web 服务,可以用 tomcat 模拟,这里就不演示了
三、安装 frp
1、公网服务器与内网服务器都需要下载 frp 进行安装,公网服务器(服务端)配置关注步骤 6,内网服务器(客户端)关注步骤 7
2、下载地址是 https://github.com/fatedier/frp/releases,下载 linux 版本 frp_0.13.0_linux_amd64.tar.gz,个人感觉下载速度有点慢,
也可以这样选择下载wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz
3、新建目录 mkdir -p /usr/local/frp,上传 frp_0.13.0_linux_amd64.tar.gz 至 linux 服务器该目录下
4、解压 tar -zxvf frp_0.13.0_linux_amd64.tar.gz
5、进入解压目录 cd frp_0.13.0_linux_amd64,这里主要关注 4 个文件,分别是 frpc、frpc.ini 和 frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。
6、配置服务端(公网服务器),首先删掉 frpc、frpc.ini 两个文件,然后再进行配置,vi ./frps.ini,
[common]bind_port = 7000 #与客户端绑定的进行通信的端口vhost_http_port = 6081 #访问客户端web服务自定义的端口号
保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为 nohup./frps -c ./frps.ini&
7、配置客户端(内网服务器),首先删掉 frps、frps.ini 两个文件,然后再进行配置,vi ./frpc.ini
[common]server_addr = 120.56.37.48 #公网服务器ipserver_port = 7000 #与服务端bind_port一致 #公网通过ssh访问内部服务器[ssh]type = tcp #连接协议local_ip = 192.168.3.48 #内网服务器iplocal_port = 22 #ssh默认端口号remote_port = 6000 #自定义的访问内部ssh端口号 #公网访问内部web服务器以http方式[web]type = http #访问协议local_port = 8081 #内网web服务的端口号custom_domains = repo.iwi.com #所绑定的公网服务器域名,一级、二级域名都可以
保存然后执行./frpc -c ./frpc.ini 启动,这是前台启动,后台启动命令为 nohup./frpc -c ./frpc.ini&
8、访问方式
(1)外网 ssh 访问内网服务器(直接使用配置里面数据演示)
ip:120.56.37.48 port:6000 用户名:linux 服务器的用户 密码:linux 服务器的密码 或者
ip:120.56.37.48 port:22 用户名:linux 服务器的用户 密码:linux 服务器的密码 或者
ip:repo.iwi.com port:6000 用户名:linux 服务器的用户 密码:linux 服务器的密码 或者
ip:repo.iwi.com port:22 用户名:linux 服务器的用户 密码:linux 服务器的密码
(2)自定义绑定域名访问内网 web 服务(直接使用配置里面数据演示)
repo.iwi.com:6081
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于