在Rocky Linux 9中通过firewalld创建自定义规则,可使用firewall-cmd
命令。例如允许特定IP访问SSH端口:
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
延伸知识点:富规则(Rich Rules)详解 富规则是firewalld中灵活定义复杂规则的语法结构,包含以下核心元素:
- action:accept/reject/drop(如
accept
) - family:ipv4/ipv6网络协议族
- source/destination:地址范围(如
source address="192.168.1.0/24"
) - service:预定义服务名称(如
service name="http"
) - port/protocol:自定义端口和协议(如
port="8080" protocol="tcp"
) 完整示例:rule family="ipv4" source address="10.0.0.0/8" service name="https" log prefix="https_log" level="info" limit value="2/m" accept
表示允许来自10.x.x.x的HTTPS请求,记录日志并限制每分钟2条记录。