防火墙
物理上区分
硬件防火墙(效率高、成本高)
软件防火墙(成本低)
逻辑上区分
网络防火墙
主机防火墙
CentOS7(firewalld,大家不尝试修改配置文件,使用命令进行修改。)
firewall-cmd (firewalld服务必须运行)
zone
drop.xml 拒绝所有的连接
block.xml 拒绝所有的连接
public.xml 只允许指定的连接 *默认区域
external.xml 只允许指定的连接
dmz.xml 只允许指定的连接
work.xml 只允许指定的连接
home.xml 只允许指定的连接
internal.xml 只允许指定的连接
trusted.xml 允许所有的连接
/lib/firewalld/zones 默认和备用区域配置
/etc/firewalld/zones 用户创建和自定义区域配置文件 覆盖默认配置
/lib/firewalld/zones 默认和备用区域配置
/etc/firewalld/zones 用户创建和自定义区域配置文件 覆盖默认配置
firewall-cmd命令
systemctl status firewalld (检查firewalld防火墙是否启动)
systemctl enable firewalld (自启动)
firewall-cmd --list-all (列出当前防火墙的信息)
firewall-cmd --get-services (列出当前防火墙的服务列表)
firewall-cmd --get-zones (列出当前zone信息)
/lib/firewalld/zones就是这些区域
增加规则
开放端口
firewall-cmd --add-port=81/tcp --permanent (永久添加81端口)
firewall-cmd --reload
开放服务
firewall-cmd --add-service=http (开放http服务,默认端口是80.在该状态下,如果执行systemctl restart firewalld或 firewall-cmd --reload,那么添加的规则会消失。)
删除规则
阻止端口
firewall-cmd --remove-port=81/tcp (临时阻止81端口)
阻止服务
firewall-cmd --remove-service=http --permanent (永久性移除)
zone管理
firewall-cmd --new-zone=test01 --permanent (新增zone test01)
firewall-cmd --delete-zone=test01 --permanent (删除zone test01)
操作完成后一定要执行firewall-cmd --reload ,使其生效。
没加–permanent的是临时生效的,firewall-cmd --reload后会失去临时作用,
加上-permanent是永久的
需要firewall-cmd --reload ,使其生效。
端口号也一样