如何搭建FRP服务器?详细步骤解析!
创作时间:
作者:
@小白创作中心
如何搭建FRP服务器?详细步骤解析!
引用
1
来源
1.
https://www.kdun.com/ask/1308469.html
FRP(Fast Reverse Proxy)是一款高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议,通过在内网或防火墙后的机器上部署FRP,可以轻松实现内网穿透,将内网服务暴露到公网上。本文将详细介绍如何在Linux环境下搭建FRP服务器和客户端,并验证其功能。
准备工作
- 域名:一个用于访问的域名(如www.test.xyz)。
- 服务器:一台拥有公网IP的服务器(如阿里云、腾讯云等)。
- 内网主机:需要被穿透的内网设备。
- 下载FRP:从FRP官方Github下载适合的版本。
安装与配置
1. 服务端配置
创建目录并上传文件:
mkdir -p /usr/local/frp
cd /usr/local/frp
wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz
tar -zxvf frp_0.49.0_linux_amd64.tar.gz
编辑配置文件:
打开frps.ini并进行如下配置:
[common]
bind_port = 7000 # 服务端通信端口
dashboard_port = 7500 # 后台管理端口
dashboard_user = admin # 后台用户名
dashboard_pwd = admin # 后台密码
vhost_http_port = 7002 # HTTP穿透端口
vhost_https_port = 7003 # HTTPS穿透端口
max_pool_count = 50
token = aaa123 # 身份验证令牌
tcp_mux = true
log_file = /usr/local/frp/frps.log # 日志文件路径
log_level = info
log_max_days = 3
authentication_timeout = 0 # 不验证时间差
subdomain_host = test.xyz # 注册域名
privilege_mode = true
启动服务端:
./frps -c ./frps.ini
2. 客户端配置
创建目录并上传文件:
mkdir -p /usr/local/frp
cd /usr/local/frp
wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz
tar -zxvf frp_0.49.0_linux_amd64.tar.gz
编辑配置文件:
打开frpc.ini并进行如下配置:
[common]
server_addr = 10.10.xxx.xxx # 服务端IP
server_port = 7000 # 服务端通信端口
token = aaa123 # 身份验证令牌
tcp_mux = true
log_file = /usr/local/frp/frpc.log # 日志文件路径
log_level = info
log_max_days = 3
authentication_timeout = 0 # 不验证时间差
[ssh] # SSH节点
type = tcp
local_ip = 192.168.xxx.xxx # 本地IP
local_port = 22
remote_port = 7001 # 远程端口
[web01] # Web节点
type = http
local_ip = 192.168.xxx.xxx # 本地IP
local_port = 8080 # 本地端口
subdomain = web01 # 自定义子域名
custom_domains = test.xyz # 主域名
启动客户端:
./frpc -c ./frpc.ini
验证结果
- 测试SSH节点:使用Xshell等工具连接公网服务器,通过7001端口访问内网主机的SSH服务。
- 测试Web节点:在浏览器中访问
http://web01.test.xyz:7002,应能访问内网Tomcat服务的首页。
设置开机自启动
1. 服务端开机自启动
复制文件:
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
编写systemd服务文件:
[Unit]
Description=frps
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
systemctl enable frps
systemctl start frps
systemctl status frps
2. 客户端开机自启动(以CentOS为例)
复制文件:
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
编写systemd服务文件:
[Unit]
Description=frpc
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
systemctl enable frpc
systemctl start frpc
systemctl status frpc
常见问题解答(FAQs)
Q1: FRP服务器无法启动怎么办?
A1: 请检查以下几点:
- 配置文件错误:确保
frps.ini和frpc.ini中的配置正确无误,特别是端口和IP地址。 - 端口占用:确认配置文件中的端口未被其他服务占用,可以使用
netstat -tlnp | grep <端口号>查看端口占用情况。 - 日志信息:查看日志文件(如
frps.log)中的错误信息,有助于定位问题,如果日志文件没有生成,请检查文件路径和权限是否正确。 - 依赖问题:确保系统已安装所有必要的依赖包,对于CentOS系统,可以使用以下命令安装依赖:
对于Ubuntu系统,则使用:yum install wget pcre libssl-dev gcc makeapt install wget pcre libssl-dev gcc make - 权限问题:确保运行FRP的用户对配置文件和日志文件具有读写权限,如果没有,可以使用
chmod命令修改权限:chmod 600 /path/to/config - 防火墙设置:检查防火墙设置,确保所需的端口已被开放,对于CentOS系统,可以使用
firewall-cmd命令;对于Ubuntu系统,则使用ufw命令,开放7000端口的命令为:
或firewall-cmd --permanent --add-port=7000/tcp && firewall-cmd --reloadufw allow 7000/tcp - 网络问题:确保服务器能够正常访问互联网,并且内网主机也能够与服务器通信,如果存在网络问题,可以尝试ping服务器的公网IP或域名来测试连通性,还需要确认服务器所在的网络环境允许进行端口映射和内网穿透操作,如果有任何限制或禁止此类操作的规定,则需要联系网络管理员进行调整。
如果以上步骤都无法解决问题,建议查看官方文档或社区论坛寻求更多帮助,同时也可以提供更详细的错误信息以便他人协助诊断问题所在,另外需要注意的是不同的操作系统版本之间可能存在差异因此在实际操作过程中需要根据具体情况灵活调整解决方案,最后如果遇到无法解决的技术难题也可以考虑升级到最新版本的FRP软件或者更换其他类似的内网穿透工具以满足需求。
Q2: FRP客户端无法连接到服务器怎么办?
A2: 请检查以下几点:
- 服务器地址和端口:确保在
frpc.ini中配置的服务器地址和端口正确无误,可以通过ping命令测试服务器地址是否可达。
如果无法ping通,请检查服务器的网络连接是否正常以及是否有防火墙阻止了ICMP请求,此外还可以尝试使用traceroute命令追踪数据包的路径以帮助定位网络问题所在的位置。ping <服务器IP> - 身份验证令牌:确保客户端和服务端的
token值一致且正确无误,不一致的令牌会导致连接失败,可以在配置文件中核对双方的token值是否匹配,如果仍然有问题可以尝试重新生成一个新的令牌并在两端同步更新后再试一次连接操作看是否能成功建立连接关系,另外需要注意不要将令牌泄露给未经授权的人以防止潜在的安全风险发生。
热门推荐
全球护照新一轮比拼:希腊护照排世界第六,中国护照进步明显
运动与皮肤管理:如何在流汗后仍维稳肌肤
围棋,智慧的艺术,策略与思考的深度探索
逃税漏税的方式:解析税务违法行为及其法律后果
孕妇能不能吃酸姜
退休人员工资个税标准
领取养老金要缴3%个税?起征点5000元/月?权威回应来了
毕业生三方协议的有效期是多久?
牙齿遇冷热敏感疼痛怎么办?多因素导致需对症下药
AI写论文查重率高吗?有效降低查重率的小技巧与风险分析
过敏性咳嗽怎么查出过敏源
如何合理制定准租金以提升租赁收益
高尿酸血症患者已超1.7亿,这份低嘌呤饮食指南请收好
洗鱼被刺险遭截肢,究竟是什么鱼威力这么大?
左氧氟沙星片用药前、中、后,你应该注意这些......
1.5T vs 2.0T:马力相似,排量差异,驾驶体验解析
爱我的话,给我回答是什么歌?这首歌的背景和歌词解析
疱疹性口炎怎么预防
什么是收敛的含义?
高压电工证与低压电工证:操作电压、工作内容及培训要求全解析
大陆开户购买美股基金
印度尼西亚环保环境及就业前景
巧选汽车保险,省钱又省心
北方室内养九里香,这些养护疑问你都有吗?
这8种当地特色美食,是武汉人的“心头爱”,来旅游不吃,算白来
九里香可以晒太阳吗怎么晒?
喝咖啡要不要加牛奶?咖啡加牛奶抗炎效果加2倍?研究說話了
两张Excel表格如何合成一张图片?三种实用方法详解
阿基里斯腱发炎、断裂?跟腱炎症状、原因、放松舒缓解析
汽车钥匙电池没电了?五分钟教你搞定!