常德建设网站公司,做网站需要什么资质,重庆有那些公司,网站分为几级页面frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透软件#xff0c;支持 tcp, udp, http, https 等协议。frp 项目官网是 https://github.com/fatedier/frp
下载地址#xff1a; https://github.com/fatedier/frp/releases
frp工作原理
服务端运行#xff0c;监听一个…frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透软件支持 tcp, udp, http, https 等协议。frp 项目官网是 https://github.com/fatedier/frp
下载地址 https://github.com/fatedier/frp/releases
frp工作原理
服务端运行监听一个主端口等待客户端的连接客户端连接到服务端的主端口同时告诉服务端要监听的端口和转发类型服务端fork新的进程监听客户端指定的端口外网用户连接到客户端指定的端口服务端通过和客户端的连接将数据转发到客户端客户端进程再将数据转发到本地服务从而实现内网对外暴露服务的能力。
配置教程
要配置 frp 进行内网穿透首先你必须需要一台具有外网 IP即可外网访问的服务器。配置教程分为两个部分服务器端外网服务器的配置和客户端内网服务器的配置。
服务端配置
解压 frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz进入该解压目录
cd frp_0.33.0_linux_amd64/并打开配置文件:
vi frps.ini将内容修改为以下
[common]
bind_addr 0.0.0.0
# frp监听的端口默认是7000可以改成其他的
bind_port 7000
# 授权码请改成更复杂的
token 123456 # 这个token之后在客户端会用到# frp管理后台端口请按自己需求更改
dashboard_port 7500
# frp管理后台用户名和密码请改成自己的
dashboard_user admin
dashboard_pwd admin
enable_prometheus true# 只允许FRPC绑定您列出的端口如果您不设置则不会有任何限制
allow_ports 39002,39001# frp日志配置
log_file /var/log/frps.log
log_level info
log_max_days 3设置和启动 frp 服务
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps如果上述命令依次执行完毕没有出现任何错误则说明frp服务已成功启动。
防火墙开放端口
# 添加监听端口
sudo firewall-cmd --permanent --add-port7000/tcp
# 添加管理后台端口
sudo firewall-cmd --permanent --add-port7500/tcp
sudo firewall-cmd --reload注意
如果是 ubuntu 或者 centos 6请使用 ufw/iptables 工具放行端口7000和7500两个端口分别对应frps.ini配置中的bind_port和dashboard_port
验证服务端是否启动成功
访问 http://服务器IP:后台管理端口 ” 输入用户名和密码可以查看连接状态
如 http://xx.xx.xx.xx:7500/ 用户名和密码分别对应 frps.ini 文件中的 dashboard_user 和 dashboard_pwd
登录之后界面如下 如果上述步骤没有问题则说明 frp 的服务端配置成功了也就意味着你已经成功完成了内网穿透的一半。
客户端配置
解压frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz进入该解压目录
cd frp_0.33.0_linux_amd64/并打开配置文件:
vi frpc.ini (注意哦不是frps.ini)将文件内容修改为如下
# 客户端配置
[common]
server_addr x.x.xx.xx
server_port 7000tokenchen123456987231456asdaqweqweadmin_addr 127.0.0.1
admin_port 7400
admin_user admin
admin_pwd 123456# 控制台或真实的日志文件路径例如./frpc.log
log_file ./frpc.log# trace, debug, info, warn, error
log_level infolog_max_days 3# 当 log_file 为 console 时禁用日志颜色默认为 false
disable_log_color false# 您的代理名称将更改为 {user}.{proxy}
user wk# 现在支持tcp和kcp和websocket默认是tcp
protocol tcp# 如果tls_enable为truefrpc将通过tls连接frps
tls_enable true[ssh]
type tcp
local_ip 127.0.0.1
local_port 22
remote_port 39002[web]
type tcp
local_ip 127.0.0.1
local_port 80
remote_port 39001
use_encryption true
use_compression true注意[ssh]这样的名称必须全局唯一即使有多个客户端也只能使用一次。其他名称可以使用[ssh2]、[ssh3]等。如果你要配置多个客户端必须将其他客户端的名称改为[ssh2]、[ssh3]并相应地修改remote_port例如6002、6003等
防火墙开放端口
linux:
sudo firewall-cmd --permanent --add-port39001/tcp
sudo firewall-cmd --permanent --add-port39002/tcp
sudo firewall-cmd --reload客户端启动
在 frp_0.33.0_darwin_amd 64 目录下执行
./frpc -c frpc.ini到此为止恭喜你你基本上已经成功了。但还有最后一步很多人常常会弄错。
测试穿透是否配置成功
找另外一台不同网段的linux或者mac电脑在终端执行
ssh 用户名服务端ip -p 端口号
这里一定要注意这里用的是服务端的ip和用户名端口号用的frpc.ini文件中的remote_port