麒麟os部署frp需严格匹配arm64/amd64架构、配置tls加固的frps/frpc、通过systemd自启,并放行端口及关闭dpi拦截。

如果您在麒麟OS系统上部署Frp内网穿透服务,但无法成功启动服务端或客户端,则可能是由于架构适配、依赖缺失或配置路径不一致导致。以下是针对麒麟OS(基于Linux内核,常见为ARM64或AMD64架构的Kylin V10 SP1/SP2)完成Frp服务端与客户端配置的实操步骤:
一、确认麒麟OS系统架构并下载匹配版本
麒麟OS存在多种CPU架构变体(如飞腾FT-2000+/ARM64、鲲鹏920/ARM64、海光x86_64),Frp二进制包必须严格匹配,否则将报“Exec format error”。需先识别架构再下载对应frp发行版。
1、打开终端,执行命令查看系统架构:
uname -m
2、若输出为 aarch64 或 arm64,则需下载 linux_arm64 版本;若输出为 x86_64,则下载 linux_amd64 版本。
3、使用wget下载对应版本(以v0.61.1为例):
wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_arm64.tar.gz
4、解压并进入目录:
tar -zxvf frp_0.61.1_linux_arm64.tar.gz && cd frp_0.61.1_linux_arm64
二、服务端(frps)配置与启动
服务端需部署于具备公网IP的麒麟OS服务器(如政务云麒麟V10节点),负责接收外网请求并转发至内网客户端。配置须启用TLS加固与端口白名单,规避国产防火墙拦截。
1、创建配置文件目录:
sudo mkdir -p /etc/frp && sudo touch /etc/frp/frps.ini
2、使用vi编辑器写入以下内容(请替换 YourSecureToken123! 为高强度随机密钥):
[common]
bind_port = 7000
kcp_bind_port = 7000
token = YourSecureToken123!
tls_only = true
allow_ports = 10000-20000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = Admin@Kylin2026
log_file = /var/log/frps.log
log_level = info
3、赋予可执行权限:
sudo chmod +x frps
4、首次前台运行验证配置有效性:
sudo ./frps -c /etc/frp/frps.ini
5、如无报错且看到 frps started successfully,按Ctrl+C退出,准备后台常驻部署。
三、客户端(frpc)配置与启动
客户端部署于内网麒麟OS设备(如办公终端、边缘工控机),需与服务端建立加密长连接,并注册需暴露的服务(如SSH、Web服务)。注意禁用IPv6以避免国产中间设备异常路由。
1、在客户端机器相同目录下,创建客户端配置文件:
sudo touch /etc/frp/frpc.ini
2、写入以下最小化配置(假设服务端IP为 203.107.128.45,需替换为真实公网IP):
[common]
server_addr = 203.107.128.45
server_port = 7000
token = YourSecureToken123!
tls_enable = true
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10022
3、测试连接是否可达:
ping -c 3 203.107.128.45
4、手动启动客户端(前台):
sudo ./frpc -c /etc/frp/frpc.ini
5、观察日志中是否出现 login to server success 及 start proxy successful 字样。
四、配置systemd服务实现开机自启
麒麟OS默认使用systemd作为初始化系统,需为frps和frpc分别创建服务单元文件,确保系统重启后自动拉起进程,避免人工干预。
1、创建frps服务文件:
sudo vi /etc/systemd/system/frps.service
2、填入以下内容(路径需与实际frps位置一致):
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5
ExecStart=/opt/frp/frp_0.61.1_linux_arm64/frps -c /etc/frp/frps.ini
[Install]
WantedBy=multi-user.target
3、重载systemd配置并启用服务:
sudo systemctl daemon-reload && sudo systemctl enable frps && sudo systemctl start frps
4、对frpc执行同类操作,创建 /etc/systemd/system/frpc.service,ExecStart指向frpc二进制及frpc.ini路径。
五、验证穿透效果并排查麒麟OS特有阻断
麒麟OS预装的“安全中心”与“防火墙策略中心”可能默认拦截非常规端口通信,需主动放行frp相关端口并关闭深度包检测(DPI)策略,否则会出现连接建立但无数据转发现象。
1、检查麒麟OS防火墙状态:
sudo ufw status verbose
2、若启用ufw,添加规则放行关键端口:
sudo ufw allow 7000 && sudo ufw allow 7500 && sudo ufw allow 10022
3、关闭麒麟OS DPI模块(仅限政务内网等可信环境):
sudo systemctl stop kylin-dpi-engine && sudo systemctl disable kylin-dpi-engine
4、从外网机器尝试SSH连接穿透端口:
ssh -p 10022 user@203.107.128.45
5、若返回 Connection refused,检查服务端frps是否运行、客户端frpc是否注册成功、麒麟OS安全中心是否弹出拦截提示框。










