给企业做网站公司,成都建设门户网站,12580黄页注册的公司,国内10大网站建设公司目录
一、firewalld介绍
1.归入zone顺序
2.firewalld zone分类
3.预定义服务
二、图形化操作
1.打开firewalld图形化界面
2.以http服务为例#xff0c;打开httpd服务
3.修改端口号
三、命令行配置
1.基础配置
2.查看现有firewalld设置
3.设置查看默认区
4.添加源…目录
一、firewalld介绍
1.归入zone顺序
2.firewalld zone分类
3.预定义服务
二、图形化操作
1.打开firewalld图形化界面
2.以http服务为例打开httpd服务
3.修改端口号
三、命令行配置
1.基础配置
2.查看现有firewalld设置
3.设置查看默认区
4.添加源地址网段及端口及服务
四、其他规则
1.管理rich规则
1.1rich语法
1.2man 5 firewalld.richlanguage
2.示例 一、firewalld介绍
firewalld是CentOS 7.0新推出的管理netfilter的用户空间软件工具,也被ubuntu18.04版以上所支持(apt install firewalld安装即可)
firewalld是配置和监控防火墙规则的系统守护进程。可以实iptables,ip6tables,ebtables的功能firewalld服务由firewalld包提供
1.归入zone顺序 先根据数据包中源地址将其纳为某个zone 纳为网络接口所属zone 纳入默认zone默认为public zone,管理员可以改为其它zone 网卡默认属于public zone,lo网络接口属于trusted zone
firewalld支持划分区域zone每个zone可以设置独立的防火墙规则
1.已经存在了zone区域
2.使用firewall就是将特定的流量关联到某个zone中 通过源网段关联zone 通过网卡关联zone区域 如果两者都没有关联的数据报文那就会去default zone
3.进入到zone以后开始匹配zone内的规则
2.firewalld zone分类
zone名称默认配置trusted允许所有流量home拒绝除和传出流量相关的以及ssh,mdsn,ipp-client,samba-client,dhcpv6-client预 定义服务之外其它所有传入流量internal和home相同work拒绝除和传出流量相关的以及ssh,ipp-client,dhcpv6-client预定义服务之外的其它所有传入流量public拒绝除和传出流量相关的以及ssh,dhcpv6-client预定义服务之外的其它所有传入流 量新加的网卡默认属于public zoneexternal拒绝除和传出流量相关的以及ssh预定义服务之外的其它所有传入流量属于external zone的传出ipv4流量的源地址将被伪装为传出网卡的地址dmz拒绝除和传出流量相关的以及ssh预定义服务之外的其它所有传入流量block拒绝除和传出流量相关的所有传入流量drop拒绝除和传出流量相关的所有传入流量甚至不以ICMP错误进行回应
3.预定义服务
服务名称配置sshLocal SSH server. Traffic to 22/tcpdhcpv6- clientLocal DHCPv6 client. Traffic to 546/udp on the fe80::/64 IPv6 networkipp- clientLocal IPP printing. Traffic to 631/udpsamba- clientLocal Windows file and print sharing client. Traffic to 137/udp and 138/udpmdnsMulticast DNS (mDNS) local-link name resolution. Traffic to 5353/udp to the 224.0.0.251 (IPv4) or ff02::fb (IPv6) multicast addresses
firewalld预定义服务配置
firewall-cmd --get-services 查看预定义服务列表/usr/lib/firewalld/services/*.xml预定义服务的配置
firewalld 三种配置方法
firewall-config 图形工具: 需安装 firewall-config包firewall-cmd 命令行工具: firewalld包,默认安装/etc/firewalld/ 配置文件一般不建议,如:/etc/firewalld/zones/public.xml
二、图形化操作
1.打开firewalld图形化界面 2.以http服务为例打开httpd服务 运行时修改后立即生效 永久重新加载或者重启之后永久生效 3.修改端口号 三、命令行配置
1.基础配置
firewall-cmd [OPTIONS...] firewall-cmd
选项含义--permanent设置永久生效--add-port端口号/协议(tcp/udp) 设置端口号和协议--reload重新加载防火墙设置--remove移除规则--get-zones列出所有可用区域--get-default-zone查询默认区域--set-default-zoneZONE设置默认区域--get-active-zones列出当前正使用的区域--add-sourceCIDR[--zoneZONE]添加源地址的流量到指定区域如果无--zone 选项使用 默认区域--remove-sourceCIDR [--zoneZONE]从指定区域删除源地址的流量如无--zone 选项使用默认区域--add-interfaceINTERFACE[--zoneZONE]添加来自于指定接口的流量到特定区域如果无--zone 选项使用默认区域--change-interfaceINTERFACE[--zoneZONE]改变指定接口至新的区域如果无--zone选项使用默认区域--add-serviceSERVICE [--zoneZONE]允许服务的流量通过如果无--zone 选项使用默认区域--add-portPORT/PROTOCOL[--zoneZONE]允许指定端口和协议的流量如果无--zone 选项使用默认区域--remove-serviceSERVICE [--zoneZONE]从区域中删除指定服务禁止该服务流量如果无--zone 选项使用默认区域--remove-portPORT/PROTOCOL[--zoneZONE] 从区域中删除指定端口和协议禁止该端口的流量如果无--zone 选项使用默认区域--reload删除当前运行时配置应用加载永久配置--list-services查看开放的服务--list-ports查看开放的端口--list-all [--zoneZONE]列出指定区域的所有配置信息包括接口源地址端口服务等如果无--zone 选项使用默认区域
2.查看现有firewalld设置
[rootlocalhost ~]#systemctl start firewalld
#开启
[rootlocalhost ~]#systemctl stop firewalld.service
#关闭
[rootlocalhost ~]#systemctl status firewalld
#查看状态
[rootlocalhost ~]#firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:
3.设置查看默认区
[rootlocalhost ~]#firewall-cmd --zone
#查看区域
block dmz drop external home internal public trusted work
[rootlocalhost ~]#firewall-cmd --get-default-zone
#查看默认区域[rootlocalhost ~]#firewall-cmd --set-default-zone
block dmz drop external home internal public trusted work
[rootlocalhost ~]#firewall-cmd --set-default-zone
block dmz drop external home internal public trusted work
[rootlocalhost ~]#firewall-cmd --set-default-zone home
success
[rootlocalhost ~]#firewall-cmd --get-default-zone
home
4.添加源地址网段及端口及服务
[rootlocalhost ~]#firewall-cmd --permanent --add-port80/tcp
#添加80端口[rootlocalhost ~]#firewall-cmd --permanent --remove-port80/tcp
#移除80端口
[rootlocalhost ~]#firewall-cmd --permanent --add-port80/tcp --zonehome
#可以指定区域
success[rootlocalhost ~]#firewall-cmd --add-servicehttp
#允许http服务
[rootlocalhost ~]#firewall-cmd --permanent --add-icmp-blockecho-request
#禁止ping
success
[rootlocalhost ~]#firewall-cmd --reload
success[rootlocalhost ~]#firewall-cmd --permanent --add-source192.168.100.0/24
# 基础命令 永久生效 添加 源 网段 子网掩码
[rootlocalhost ~]#firewall-cmd --reload
success
[rootlocalhost ~]#firewall-cmd --list-all
#查看生效策略删除source
[rootlocalhost ~]#firewall-cmd --zonehome --remove-source192.168.91.0/24 --remove-source192.168.50.0/24 --remove-source192.168.100.0/24 --permanent
四、其他规则
当基本firewalld语法规则不能满足要求时可以使用以下更复杂的规则
rich-rules 富规则功能强,表达性语言
Direct configuration rules 直接规则灵活性差, 帮助man 5 firewalld.direct
1.管理rich规则
rich规则比基本的firewalld语法实现更强的功能不仅实现允许/拒绝还可以实现日志syslog和
auditd也可以实现端口转发伪装和限制速率
规则实施顺序
该区域的端口转发伪装规则该区域的日志规则该区域的允许规则该区域的拒绝规则 每个匹配的规则生效所有规则都不匹配该区域默认规则生效 1.1rich语法
rule[source][destination]service|port|protocol|icmp-block|masquerade|forward-port[log][audit][accept|reject|drop]
1.2man 5 firewalld.richlanguage
选项描述--add-rich-ruleAdd to the specified zone, or the default zone if no zone is specified.--remove-rich-ruleRemove to the specified zone, or the default zone if no zone is specified.--query-rich-ruleQuery if has been added to the specified zone, or the default zone if no zoneis specified. Returns 0 if the rule is present, otherwise 1.--list-rich-ruleOutputs all rich rules for the specified zone, or the default zone if no zone is
2.示例
拒绝从192.168.0.100的所有流量当address 选项使用source 或 destination时必须用family ipv4
|ipv6[rootlocalhost ~]# firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address192.168.0.100/32 reject[rootlocalhost ~]#firewall-cmd --remove-rich-rulerule familyipv4 source address192.168.91.101 reject限制每分钟只有两个连接到ftp服务
[rootlocalhost ~]#firewall-cmd --add-rich-rule‘rule service nameftp limit value2/m accept’接受所有192.168.1.0/24子网端口5900-5905范围的TCP流量
[rootlocalhost ~]#firewall-cmd --permanent --zonevnc --add-rich-rulerule familyipv4 source address192.168.1.0/24 port port5900-5905 protocoltcp accept