温馨提示×

如何在centos dolphin中配置防火墙

小樊
36
2025-12-29 11:48:36
栏目: 智能运维

在 CentOS 上为 Dolphin 服务配置防火墙

适用说明与准备

  • 以下步骤面向 CentOS 7/8/Stream(默认使用 firewalld)为 Dolphin 相关服务开放访问。若你指的是 DolphinSchedulerDolphinDB,方法相同,仅端口不同。开始前建议确认 firewalld 已安装并运行,且以具有 sudo 权限的账号操作。若系统使用 iptables 而非 firewalld,可参考文末的替代方案。

启用并验证 firewalld

  • 安装与启动
    • 安装:sudo yum install -y firewalld
    • 启动:sudo systemctl start firewalld
    • 开机自启:sudo systemctl enable firewalld
  • 查看状态
    • 运行状态:sudo firewall-cmd --state(应返回 running
    • 当前规则概览:sudo firewall-cmd --list-all
  • 常用区域与接口
    • 查看活跃区域与接口:sudo firewall-cmd --get-active-zones
    • 将网卡加入区域(示例将 eth0 加入 public):sudo firewall-cmd --zone=public --change-interface=eth0
    • 设置默认区域:sudo firewall-cmd --set-default-zone=public
  • 提示:修改永久规则后需执行 sudo firewall-cmd --reload 使配置生效。

为 Dolphin 开放端口与服务

  • 方式一(推荐):按服务开放
    • 开放 HTTP/HTTPS:sudo firewall-cmd --permanent --zone=public --add-service=http;sudo firewall-cmd --permanent --zone=public --add-service=https;sudo firewall-cmd --reload
  • 方式二:按端口开放
    • 开放单个端口(示例 8080/TCP):sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp;sudo firewall-cmd --reload
    • 开放端口范围(示例 10000-10010/TCP):sudo firewall-cmd --permanent --zone=public --add-port=10000-10010/tcp;sudo firewall-cmd --reload
  • 常用查询
    • 查看已开放端口:sudo firewall-cmd --zone=public --list-ports
    • 查看已开放服务:sudo firewall-cmd --zone=public --list-services
    • 查看完整规则:sudo firewall-cmd --list-all
  • 说明:Dolphin 若提供 Web 管理界面,通常开放 80/443;若以应用端口运行(如 8080 等),按实际端口开放。

进阶访问控制与日志

  • 仅允许指定来源访问某端口(示例仅允许 192.168.1.100 访问 8080/TCP
    • 命令:sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“8080” protocol=“tcp” accept’;sudo firewall-cmd --reload
  • 拒绝与删除规则
    • 拒绝来源访问某端口:sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“203.0.113.10” port port=“8080” protocol=“tcp” drop’;sudo firewall-cmd --reload
    • 删除已添加的富规则:将 add 改为 remove 后执行并 --reload
  • 日志与审计
    • 记录被拒绝的数据包:sudo firewall-cmd --set-log-denied=all;sudo firewall-cmd --reload
    • 查看日志:grep ‘firewalld’ /var/log/messages(被拒绝的包会记录在此)

使用 iptables 的替代方案

  • 适用场景:系统未启用 firewalld 或必须使用 iptables
  • 基本操作
    • 开放单个端口(示例 8080/TCP):iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    • 开放端口范围(示例 10000:10010/TCP):iptables -A INPUT -p tcp --dport 10000:10010 -j ACCEPT
    • 保存规则(CentOS 6/兼容方式):/etc/init.d/iptables save;重启生效:service iptables restart
  • 提示:iptables 规则默认会话有效,务必持久化保存;生产环境建议先备份现有规则再变更。

0