1、搭建frp服务器
服务器:anolis8.9
在 Anolis OS 上部署 FRP 服务器(frps) 和 客户端(frpc) 的步骤如下,结合了 FRP 的通用部署流程和 Anolis OS 的特性:
一、部署 FRP 服务器(frps)
1. 环境准备
操作系统:Anolis OS(基于 Red Hat/CentOS 的兼容性)。
依赖工具:wget、tar、vim、systemd(默认已安装)。
网络要求:确保服务器有公网 IP,并开放所需端口(如 7000、80、443 等)。
2. 下载并解压 FRP
bash
深色版本
# 下载 FRP 二进制包(以 v0.61.2 为例)
wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz
# 解压到指定目录
tar -zxvf frp_0.61.2_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/frp_0.61.2_linux_amd64 /usr/local/frp
3. 配置 frps 服务
备份原始配置文件:
bash
深色版本
cp /usr/local/frp/frps.toml /usr/local/frp/frps.toml.bak
编辑配置文件(/usr/local/frp/frps.toml):
toml
深色版本
[common]
bind_port = 7000 # 服务端监听端口
vhost_http_port = 80 # HTTP 虚拟主机端口
vhost_https_port = 443 # HTTPS 虚拟主机端口
token = “your_token” # 自定义 Token(客户端需一致)
dashboard_port = 7500 # Dashboard 管理端口
dashboard_user = “admin” # Dashboard 用户名
dashboard_pwd = “your_pass” # Dashboard 密码
4. 创建 systemd 服务
bash
深色版本
# 创建服务文件
cat <<EOF | tee /etc/systemd/system/frps.service
[Unit]
Description=FRP Server
After=network.target
[Service]
User=root
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.toml
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
# 重载 systemd 并启动服务
systemctl daemon-reload
systemctl start frps
systemctl enable frps
5. 配置防火墙
开放端口(以 firewalld 为例):
bash
深色版本
firewall-cmd –permanent –add-port=7000/tcp
firewall-cmd –permanent –add-port=80/tcp
firewall-cmd –permanent –add-port=443/tcp
firewall-cmd –permanent –add-port=7500/tcp
firewall-cmd –reload
验证服务状态:
bash
深色版本
systemctl status frps
访问 Dashboard:
深色版本
http://<服务器公网IP>:7500
部署 FRP 客户端(frpc)
1. 环境准备
操作系统:Anolis OS(内网设备)。
依赖工具:wget、tar、vim、systemd。
2. 下载并解压 FRP
bash
深色版本
# 下载 FRP 二进制包(版本需与服务器一致)
wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz
# 解压到指定目录
tar -zxvf frp_0.61.2_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/frp_0.61.2_linux_amd64 /usr/local/frp
3. 配置 frpc 客户端
备份原始配置文件:
bash
深色版本
cp /usr/local/frp/frpc.toml /usr/local/frp/frpc.toml.bak
编辑配置文件(/usr/local/frp/frpc.toml):
toml
深色版本
[common]
server_addr = “<服务器公网IP>” # 替换为 frps 的公网 IP
server_port = 7000 # 与 frps 配置一致
token = “your_token” # 与 frps 配置一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 # 内网 SSH 服务端口
remote_port = 6000 # 映射到外网的端口
[web]
type = http
local_ip = 127.0.0.1
local_port = 80 # 内网 Web 服务端口
custom_domains = “example.com” # 域名(需解析到 frps 的公网 IP)
4. 创建 systemd 服务
bash
深色版本
# 创建服务文件
cat <<EOF | tee /etc/systemd/system/frpc.service
[Unit]
Description=FRP Client
After=network.target
[Service]
User=root
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.toml
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
# 重载 systemd 并启动服务
systemctl daemon-reload
systemctl start frpc
systemctl enable frpc
5. 验证连接
检查客户端日志:
bash
深色版本
journalctl -u frpc -f
测试远程访问:
SSH:ssh root@<服务器公网IP> -p 6000
Web:访问 http://example.com(需域名解析到 frps 的公网 IP)。
三、常见问题排查
防火墙限制:
确保 frps 所在服务器开放了 bind_port、vhost_http_port 等端口。
如果使用云服务器(如阿里云),需在控制台放行对应端口。
Token 不匹配:
检查 frps 和 frpc 的 token 是否一致。
网络连通性:
确保 frpc 所在内网设备能访问 frps 的公网 IP 和端口。
日志分析:
查看 frps 和 frpc 的日志文件(默认输出到控制台或 /var/log/messages)。
四、补充说明
域名解析:如果通过域名访问 HTTP/HTTPS 服务,需将域名解析到 frps 的公网 IP,并配置 vhost_http_port。
安全性:建议启用 TLS 加密(transport.tls.enable = true)和强 Token 验证。
多服务映射:在 frpc.toml 中可添加多个 [服务名称] 段,支持 TCP/UDP/HTTP/HTTPS。
通过以上步骤,即可在 Anolis OS 上成功部署 FRP 服务器和客户端,实现内网穿透功能。
注意:
需要把配置文件中的所有的注释删掉,否则不能正常运行





