frp 是一个专注于内网穿透的反向代理应用程序,使用时需要花钱申请公网IP和云服务器,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
一、认识frp
- frp的作用
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
- 配置说明
1、实现功能 – 外网通过ssh访问内网机器 – 自定义绑定域名访问内网web服务
2、配置前准备 – 公网服务器1台 – 内网服务器1台 – 公网服务器绑定域名1个 – 公网和内网的服务器需要用到docker
二、安装docker
2.1 docker安装
直接复制以下命令开始安装。
curl -sSL https://get.daocloud.io/docker | sh
2.2 docker调试
[root@localhost ~]# echo " # 设置docke加速
> {
> "graph":"/data/docker"
> }
> " >> /etc/docker/daemon.json
[root@localhost ~]# systemctl enable docker
# 设置docker开机自启
[root@localhost ~]# systmectl start docker
# 启动docker服务
三、安装frp内网穿透
3.1 配置frps服务端
创建frp文件夹,并且配置frps.ini服务端文件:
[root@localhost ~]# mkdir -p /etc/frp/ && cat >> /etc/frp/frps.ini << EOF
> [common]
> bind_port = 7000 # 默认端口是700
> # 启用面板
> dashboard_port = 7500
> # 面板登录名和密码
> dashboard_user = user # 用户和密码自行修改
> dashboard_pwd = password
> # 使用http代理并使用8888端口进行穿透
> vhost_http_port = 8888
> # 使用https代理并使用9999端口进行穿透
> vhost_https_port = 9999
> # 日志路径
> log_file = ./frps.log
> # 日志级别
> log_level = info
> # 日志最大保存天数
> log_max_days = 2
> # 认证超时时间
> authentication_timeout = 900
> # 认证token,客户端需要和此对应
> token = xxx # 自定义的token可修改
> EOF
[root@localhost ~]#
frps服务端启动:
[root@localhost ~]#docker pull snowdreamtech/frps # 拉取snowdreamtech/frps容器
[root@localhost ~]# docker run -d \
> --restart=always \
> --network host \
> -v /etc/frp/frps.ini:/etc/frp/frps.ini \
> --name frps snowdreamtech/frps # 运行snowdreamtech/frps容器
3.2配置frpc服务端
创建frp文件夹,并且配置frpc.ini客户端文件:
[root@localhost ~]# mkdir -p /etc/frp/ && cat >> /etc/frp/frps.ini << EOF
[common]
server_addr = frps服务器的IP地址
server_port = frps服务器的端口
token = frps服务器的token
[ssh]
type = 协议
local_ip = 127.0.0.1 ## 可配置本机ip或者配置其他主机上的ip
local_port = 22 ## 可配置本机端口或者配置其他主机上的端口
remote_port = 8000 ## 从本地端口映射到frps服务器上的端口
EOF
注意:在客户端可配置tcp、udp、http、https、stcp、sudp协议。需要详细了解可访问frp官方文档
启动frpc客户端
[root@localhost ~]#docker pull snowdreamtech/frps ## 拉取snowdreamtech/frpc容器
[root@localhost ~]# docker run -d \
> --restart=always \
> --network host \
> -v /etc/frp/frpc.ini:/etc/frp/frpc.ini \
> --name frps snowdreamtech/frpc ## 运行snowdreamtech/frpc容器
四、frps服务器面板
在浏览器直接输入http://IP地址:7500即可访问

转载来源