发布网友 发布时间:2024-09-09 18:04
共1个回答
热心网友 时间:2024-09-09 18:05
CentOS 7防火墙操作详解
CentOS 7的防火墙是一个强大的功能,基于CentOS 6.5的iptables防火墙进行了升级。FirewallD 提供了一个动态防火墙管理工具,支持网络/防火墙区域(zone)定义网络连接及接口安全等级。它具备IPv4、IPv6防火墙设置以及以太网桥接功能,并提供运行时配置和永久配置选项。
了解网络区域的定义。网络区域划分了网络连接的可信等级,形成了一对多的关系。一个连接可以属于一个区域的一部分,而一个区域可以服务于多个连接。Firewalld提供的区域从不信任到信任顺序排列。
让我们详细看看各种区域:
1. Drop(丢弃):接收的所有网络数据包都会被丢弃,没有回复。只能发送网络连接。
2. Block():接收的网络连接将被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息拒绝。
3. Public(公共):用于公共网络区域,不信任网络内其他计算机可能对您的计算机构成威胁,仅接受经过选择的连接。
4. External(外部):适用于启用伪装功能的外部网络。不信任来自网络的其他计算机,仅接受经过选择的连接。
5. DMZ(非军事区):用于网络内的非军事区域的计算机,可以公开访问,可以有限地进入您的内部网络,仅接受经过选择的连接。
6. Work(工作):用于工作区域,基本可以信任网络内的其他计算机,仅接受经过选择的连接。
7. Home(家庭):用于家庭网络,基本可以信任网络内的其他计算机,仅接受经过选择的连接。
8. Internal(内部):用于内部网络,基本可以信任网络内的其他计算机,仅接受经过选择的连接。
9. Trusted(信任):接受所有的网络连接。
默认区域是可指定的。当网络接口连接到NetworkManager时,它们将被分配为默认区域。在安装时,firewalld的默认区域被设置为公共区域。
firewalld的管理命令提供了以下操作:
1. 启动:systemctl start firewalld
2. 查看状态:systemctl status firewalld
3. 停止:systemctl stop firewalld
4. 禁用:systemctl disable firewalld
firewalld.service命令提供了类似的操作:
1. 启动服务:systemctl start firewalld.service
2. 关闭服务:systemctl stop firewalld.service
3. 重启服务:systemctl restart firewalld.service
4. 显示服务状态:systemctl status firewalld.service
5. 开机启动服务:systemctl enable firewalld.service
6. 开机禁用服务:systemctl disable firewalld.service
7. 检查服务是否开机启动:systemctl is-enabled firewalld.service
8. 查看已启动的服务列表:systemctl list-unit-files | grep enabled
9. 查看启动失败的服务列表:systemctl --failed
firewalld-cmd提供了常用命令来配置防火墙:
1. 查看版本:firewall-cmd --version
2. 查看帮助:firewall-cmd --help
3. 显示状态:firewall-cmd --state
4. 列出所有打开的端口:firewall-cmd --zone=public --list-ports
5. 更新防火墙规则:firewall-cmd --reload
6. 查看区域信息:firewall-cmd --get-active-zones
7. 查看指定接口所属区域:firewall-cmd --get-zone-of-interface=eth0
8. 拒绝所有包:firewall-cmd --panic-on
9. 取消拒绝状态:firewall-cmd --panic-off
10. 检查是否拒绝:firewall-cmd --query-panic
要开启或移除一个端口,可以执行以下操作:
1. 添加端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
2. 重新载入防火墙:firewall-cmd --reload
3. 查看端口状态:firewall-cmd --zone=public --query-port=80/tcp
4. 删除端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent
开放端口范围可以通过以下命令实现:
1. 添加范围端口:firewall-cmd --permanent --zone=public --add-port=100-500/tcp
2. 添加范围UDP端口:firewall-cmd --permanent --zone=public --add-port=100-500/udp
在学习过程中,这些操作会持续更新,如有错误,欢迎指正。