温馨提示×

jellyfin在centos的防火墙配置

小樊
44
2025-10-21 22:20:43
栏目: 智能运维

Jellyfin在CentOS上的防火墙配置指南

1. 确认防火墙状态

CentOS系统默认使用firewalld作为防火墙管理工具。首先检查其运行状态:

sudo systemctl status firewalld 

若未启动,需开启服务并设置开机自启:

sudo systemctl start firewalld sudo systemctl enable firewalld 

2. 放行Jellyfin核心端口

Jellyfin的主要服务端口及用途如下,需通过firewall-cmd命令永久放行:

  • 8096/tcp:Jellyfin Web管理界面的默认访问端口(用于浏览器登录配置);
  • 8920/tcp:Jellyfin HTTPS加密访问端口(建议启用以保障数据安全);
  • 1900/udp:DLNA设备发现端口(用于智能电视、游戏机等设备自动识别媒体服务器);
  • 5353/udp:Bonjour/mDNS服务端口(用于局域网内设备名称解析,如“Jellyfin Server”)。

执行以下命令放行端口:

sudo firewall-cmd --zone=public --add-port=8096/tcp --permanent sudo firewall-cmd --zone=public --add-port=8920/tcp --permanent sudo firewall-cmd --zone=public --add-port=1900/udp --permanent sudo firewall-cmd --zone=public --add-port=5353/udp --permanent 

--permanent参数表示永久生效,重启防火墙后仍保持配置。

3. 重新加载防火墙规则

放行端口后,需重新加载防火墙以应用更改:

sudo firewall-cmd --reload 

4. 验证端口放行结果

通过以下命令检查端口是否已成功放行:

sudo firewall-cmd --zone=public --list-ports 

输出应包含上述Jellyfin所需的端口(如8096/tcp8920/tcp等)。

可选:简化配置(使用服务名替代端口)

若Jellyfin通过系统服务管理(如jellyfin.service),可直接放行服务名(需确保服务已注册到firewalld):

sudo firewall-cmd --zone=public --add-service=jellyfin --permanent sudo firewall-cmd --reload 

此方式更便捷,且便于后续维护(如服务端口变更时无需修改防火墙规则)。

注意事项

  • 若使用Docker部署Jellyfin,需额外放行Docker容器的端口映射(如-p 80:8096会将容器8096端口映射到宿主机80端口),并确保防火墙允许该端口访问;
  • 若系统启用了SELinux,需配置SELinux策略以允许Jellyfin访问网络(参考Jellyfin官方文档或社区解决方案)。

0