1. 简介
Firewall-Cmd 是 Linux 系统中用于配置和管理防火墙的命令行工具。它是基于 firewalld 服务的前端工具,提供了简单而强大的方式来管理网络防火墙规则。本文将介绍 Firewall-Cmd 命令的常见用法和示例,帮助你理解和使用这个工具来保护你的 Linux 系统。
2. 基本概念
在开始之前,让我们了解一些与 Firewall-Cmd 相关的基本概念:
- Zone(区域):Zone 是一组预定义的防火墙规则集,用于指定特定接口或网络的安全级别和访问策略。常见的 Zone 包括 public、internal、dmz、trusted 等。
- Service(服务):Service 是一组预定义的防火墙规则,用于允许特定服务的流量通过防火墙。例如,ssh、http、https 等。
- Port(端口):Port 是指特定的网络端口号,用于指定允许通过防火墙的流量的端口范围。例如,22(SSH)、80(HTTP)等。
3. Firewall-Cmd 命令示例
下面是一些常见的 Firewall-Cmd 命令示例,用于配置和管理防火墙规则:
3.1. 查看和激活防火墙状态
要查看防火墙的状态,可以使用以下命令:
firewall-cmd --state
要启用防火墙服务,可以使用以下命令:
systemctl start firewalld
3.2. 查看和配置区域
要查看当前活动的区域,可以使用以下命令:
firewall-cmd --get-active-zones
要查看特定区域的详细信息,可以使用以下命令:
firewall-cmd --zone=<zone_name> --list-all
要将接口添加到特定区域,可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-interface=<interface_name>
3.3. 配置服务和端口
要允许特定服务通过防火墙,可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-service=<service_name>
要允许特定端口通过防火墙,可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-port=<port_number>/<protocol>
3.4. 配置转发和 NAT
要启用转发,可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-forward-port=<port_number>/<protocol>:<dest_address>:<dest_port>
3.5. 配置源地址转换(SNAT)
要配置源地址转换(SNAT),可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-forward-port=<port_number>/<protocol>:<dest_address>:<dest_port> --source=<source_address>
3.6. 配置源网络转换(MASQUERADE)
要配置源网络转换(MASQUERADE),可以使用以下命令:
firewall-cmd --zone=<zone_name> --add-masquerade
3.7. 永久保存配置
要永久保存防火墙配置,使其在系统重启后仍然有效,可以使用以下命令:
firewall-cmd --runtime-to-permanent
4. 总结
Firewall-Cmd 是 Linux 系统中用于配置和管理防火墙的强大命令行工具。本文介绍了 Firewall-Cmd 命令的常见用法和示例,包括查看和激活防火墙状态、配置区域、配置服务和端口、配置转发和 NAT 等。通过使用 Firewall-Cmd,你可以轻松地配置和管理防火墙规则,保护你的 Linux 系统免受未经授权的访问和网络攻击。请根据实际需求和安全策略,结合文档和手册,深入了解和应用 Firewall-Cmd 命令,以建立安全可靠的网络环境。