发布日期:2026年6月9日
FRP多端口配置:批量穿透多个服务的技巧
在实际使用中,往往需要同时穿透多个内网服务——例如同时穿透SSH、Web服务、数据库等多个端口。FRP支持在一个frpc客户端实例中配置多个穿透服务,无需启动多个frpc进程。同时,FRP还提供了端口范围映射、动态端口分配等高级功能,可以灵活应对各种批量穿透需求。
一、配置多个穿透服务
在frpc.ini中,每个穿透服务是一个独立的配置块,块名自定义但不能重复。例如同时配置SSH和Web穿透:[ssh] type=tcp local_ip=127.0.0.1 local_port=22 remote_port=6000 [web] type=http local_ip=127.0.0.1 local_port=8080 custom_domains=app.example.com。一个frpc实例可以配置数十个穿透服务,所有服务共享同一个与frps的连接,资源占用效率很高。建议按服务类型或用途组织配置块顺序,添加注释说明每个服务的用途,便于后续维护。
二、端口范围映射
当需要穿透连续的端口范围时(如游戏服务器需要开放多个端口、开发环境需要暴露多个服务端口),可以使用端口范围映射功能。配置方法:[range_ports] type=tcp local_ip=127.0.0.1 local_port=8000-8010 remote_port=18000-18010。这会一次性映射8000到8010共11个端口到frps的18000到18010端口。注意local_port和remote_port的端口数量必须一致。也可以使用local_port=8000,8001,8002的逗号分隔语法指定离散的多个端口。
三、动态端口分配
如果不确定使用哪个端口,可以让frps自动分配可用端口。配置方法:不指定remote_port参数,或设置remote_port=0。frps会从配置的proxy_bind_port范围中分配一个可用端口,并在frpc启动时告知分配结果。查看分配的端口:frpc启动日志中会显示每个服务的实际端口,也可以通过frps的dashboard面板查看。动态分配适合临时穿透场景,对于需要固定端口的生产服务,建议显式指定remote_port确保端口稳定。