Linux防火墙入门指南
一、Linux防火墙的概念
防火墙设置不同网络于网络安全域之间一系列部件组合也不同安全域之间的唯一出口
在内外之间架起一道墙一,以免发生不可预知或潜在的入侵。
传统上来讲防火墙技术分为三类:包过滤,应用代理,状态检测,无论防火墙过程多么复杂,归根结底都在三种技术基础之上进行扩展的。
Linux的防火墙体系主要用于网络,针对tcp /ip数据包实施过滤和限制,属于包过滤防火墙或称为网络防火墙。
在centos7系统中三种防火墙共存:firewalld,iptables,ebtables,默认只用firewalld来管理netfilter子系统。
1、Linux包过滤防火墙概述
netfilter
位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”
firewalld
CentOS7默认的管理防火墙规则的工具
称为Linux防火墙的“用户态”
包过滤的工作层次
主要是网络层,针对IP数据包
体现在对包内的IP地址、端口等信息的处理上
二、firewalld的概念
、firewalld的简介
支持网络区域所定义的网络连接以及接口安全的等级支持动态防火墙的管理工具
支持ipv4,ipv6设置防火墙以及以太网桥
支持服务或应用程序直接添加防火墙规则接口
2、拥有两种配置模式
运行时配置:临时的关机或重启电脑就没有了
永久时配置:配好了之一都在
-
firewalld数据处理流程检查数据来源的源地址
若源地址关系到特定的区域,执行该区域制定的规则
若源地址没有关系到特定的区域,执行该区域所制定的规则 - firewalld 的预定义的网络九个区域
区域 |
作用 |
Trusted 信任区域 |
可接受所有网络的连接 |
Pubilc 公共区域 |
区域是添加端口的默认区域 |
Work 工作区域 |
|
Home 家庭区域 |
|
Internal 内部区域 |
|
External 外部区域 dmz |
Block 限制区域 |
拒绝所有传入流量 |
Drop 丢弃区域 |
丢弃所有流量不产生icmp的错误响应 |
- firewalld防火墙的配置方法
firewall-config 图形工具
firewall-cmd 命令行工具
cd /etc/firewalld 查看配置文件
2、firewalld常用命令
Systemctl start firewalld 启动firewalld防火墙
Systemctl enable firewalld 开机自启动
Systenctl stop firewalld 关闭防火墙
Systenctl disable firwalld 开机不启动防火墙
Systemctl status firewalld 查看防火墙的状态
显示 active (running) 为开启状态 Stopping firewalld 关闭状态
3、firewall-cmd 命令
firewall-cmd --list-all 查看防火墙所有配置
Firewall-cmd --list-all-zone 查看防火墙指定的区域
firewall-cmd --get-default-zone 显示接口的默认区域
firewall-cmd --list-all 显示所有默认区域
firewall-cmd --get-zone-of-interface=ens33 显示当前网卡ens33所对应的区域
firewall-cmd --get-active-zone 显示所有激活区域
firewall-cmd --list-services 显示默认区域访问所有服务
firewall-cmd --list-services=http 允许访问http服务
firewall-cmd --zone=internal --add-service=mysql 设置internal(内网)区域允许访问mysql服务 (添加mysql服务)
firewall-cmd --add-service=http --permanent 添加http服务永久配置
firewall-cmd --list-ports 显示所有端口号
firewall-cmd --zone=internal --add-port=443/tcp 动手指定添加端口
firewall-cmd --zone=internal --remove-port=443/tcp 区域禁止访问端口443
Firewall-cmd --remove-interface=ens33 删除当前ens33网卡所对应的区域