本文以 Firewalld 命令为例,介绍堡垒机单节点与主备节点场景下的端口最小化配置方法。
一、单节点配置
1.开放 80、443、2222 及其他必要 TCP 端口。
firewall-cmd --permanent --add-port={80,443,22,其他需要的端口}/tcp
firewall-cmd --reload
firewall-cmd --list-all二、主备节点配置
1.部署 keepalived 主备模式,需开启 VRRP 组播通信。
firewall-cmd --zone=public --add-protocol=vrrp --permanent firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface <网卡名称> --destination <VIP地址> --protocol vrrp -j ACCEPT
firewall-cmd --reload2.JumpServer 服务器防火墙配置。
firewall-cmd --permanent --add-port={80,443,22,其他需要的端口}/tcp
firewall-cmd --reload
firewall-cmd --list-all三、数据库主主同步节点配置
1.获取 JumpServer Docker 子网网段:
cat /opt/jumpserver/config/config.txt | grep DOCKER_SUBNET2.若 DB 服务器部署 keepalived 主备模式,需开启 VRRP 组播通信。
firewall-cmd --zone=public --add-protocol=vrrp --permanent
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface <网卡名称> --destination <VIP地址> --protocol vrrp -j ACCEPT
firewall-cmd --reload3.数据库服务器配置(DB1、DB2 为数据库节点,JP1、JP2 为 JumpServer 节点):
DB1 防火墙规则:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="DB2地址,JP1子网网段/24,JP2子网地址/24,JP1地址,JP2地址,数据库VIP地址" port port="3306" protocol="tcp" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="DB2地址,JP1子网网段/24,JP2子网地址/24,JP1地址,JP2地址,数据库VIP地址" port port="6379" protocol="tcp" accept'
firewall-cmd --reload firewall-cmd --list-rich-rulesDB2 防火墙规则:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="DB1地址,JP1子网网段/24,JP2子网地址/24,JP1地址,JP2地址,数据库VIP地址" port port="3306" protocol="tcp" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="DB1地址,JP1子网网段/24,JP2子网地址/24,JP1地址,JP2地址,数据库VIP地址" port port="6379" protocol="tcp" accept'
firewall-cmd --reload firewall-cmd --list-rich-rules注:执行所有防火墙配置命令后,需使用 firewall-cmd --reload 重载配置使其生效,并使用 firewall-cmd --list-rich-rules 验证规则配置结果。