标签搜索

FRP端口映射

zyb
zyb
2022-11-20 / 0 评论 / 79 阅读 / 正在检测是否收录...

FRP端口映射

1.frp概述

1.1 What

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网

1.2 Why

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

FRP的带宽取决于公网IP服务器的带宽,如果开启xftp可以实现p2p点对点穿透,但是成功开通概率低需要稳定的宽度

1.3 How

官方使用手册 github项目地址 下载地址

frp 主要由 客户端(frpc)服务端(frps) 组成,服务端server通常部署在具有公网 IP 的机器上,客户端Client通常部署在需要穿透的内网服务所在的机器上,先下载对应的版本,然后放到两端进行解压 tar -zxvf

2.使用实例

2.1 通过自定义域名访问内网的 Web 服务

  • 修改服务端 frps.ini 文件
[common]
#服务器端的监听端口
bind_port = 7000   
#映射端口 
vhost_http_port = 8081  
  • 检查端口是否开放
firewall-cmd --query-port=8081/tcp #检查端口权限是否开启  宝塔面板 阿里云都要方型 监听端口和映射端口
netstat -anp #查询所有开启的端口
#如果没有放行,需要在服务器安全组和宝塔面板安全中放行使用的两个端口
  • 修改客户端 frpc.ini 文件
[common]
#服务器公网ip
server_addr = 123.56.*.*   
#公网服务器监听端口
server_port = 7000  

[web]
#请求类型
type = http   
#内网客户端映射端口
local_port = 80    
#服务器解析域名,需要提前把域名解析到该公网ip
custom_domains = rjy.zlovej.top   


#可以配置多组映射
[web2]
type = http
local_port = 8080
custom_domains = www.zlovej.com
  • 启动服务端 ./frps -c ./frps.ini
  • 启动客服端 ./frpc -c ./frpc.ini
  • 先测试本地服务使用内网ip是否能正常访问,然后测试域名+端口 (rjy.zlovej.top:8081)能否正常访问

3.配置开机自启服务

使用 systemd 控制 frps frpc 及配置开机自启

  • 先下载systemd
# yum
yum install systemd
# apt
apt install systemd
  • 使用文本编辑器,如 vim 创建并编辑 frps.service 文件。
$ vim /etc/systemd/system/frps.service
  • 编辑内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini

[Install]
WantedBy = multi-user.target
  • 使用 systemd 命令,管理 frps

注意容器或nginx需要映射服务是也否配置开机自启,普通权限无法运行systemctl

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
#配置 frps 开机自启
systemctl enable frps
2

评论 (0)

取消