firewalld防火墙基本配置

    firewalld防火墙基本配置

1、firewalld的结构

与iptables一样,分为内核态和用户态,firewalld代替了iptables,是iptables的功能增强版。

比iptables增强的功能:

1.增强了对IPv6的支持

2.增加了9个基本安全区域,使基本配置更简单。

3.向下兼容iptables的语法。

4.支持图形化界面配置

2、firewalld数据处理流程

1.将数据包中的源IP地址,定义到指定的安全区域,先执行安全区域的规则。

2.如果源地址未关联的指定区域,则使用接收数据的网卡所指定的安全区域规则。

3.如果网卡没有指定安全区域,则执行默认区域的规则。

3、firewalld的安全区域

1.trusted区域:信任区域,允许任何数据流入。

2.public区域:公共区域,允许任何数据输出,拒绝数据输入,除ssh  dhcp-client  dhcpv6-client  是默认区域。

3.work区域:办公区域,允许输出,拒绝输入,除ssh  dhcp-client  ipp-client(办公类应用)。

4.home区域:家庭区域,允许输出,拒绝输入,除ssh  dhcp-client  ipp-client(办公类应用),dns,samba-client

5.internal区域:内部区域,(内网区域),允许输出,拒绝输入,除ssh  dhcp-client  ipp-client(办公类应用),dns,samba-client

6.external区域:外部区域,(外网区域),允许输出,拒绝输入,默认配置了地址伪装功能,除ssh

7.dmz区域:隔离区域,允许输出,拒绝输入,除ssh

8.block区域:限制区域(黑名单区域),允许输出,拒绝输入

9.drop区域:丢弃区域,允许输出,拒绝输入,并且没有ICMP错误响应

4、firewalld配置语句

firewall-cmd   选项   命令子句   条件

1.查看所有区域的规则信息:

firewall-cmd  --list-all-zones

public(active)     #active当前活动的区域,区域中添加网络接口或源地址。

interface:   ens33      #加入区域的接口

sources:   ip地址 #加入区域的源地址

services: 服务名 #加入区域的服务,允许在区域访问的服务

ports: 端口号 #加入区域的端口

protocols:  协议类型    #tcp   udp  icmp等协议

masquerade:  no #地址伪装,PAT地址转换

forward-ports:端口号     #转发端口号

sourceports:端口号 #加入源端口号

icmp-blocks:icmp消息类型      #icmp消息过滤

rich  rules:富语言规则

 

2.查看服务名

firewall-cmd   --get-services

3.查看默认区域

firewall-cmd  --get-default-zone

4.查看活动区域

firewall-cmd  --get-active-zones

5.添加接口到指定区域

firewall-cmd  --zone=internal  --add-interface=ens33

6.从指定区域删除接口

firewall-cmd  --zone=internal  --remove-interface=ens33

7.添加服务到指定区域

firewall-cmd --zone=internal --add-service=http

8.从指定区域删除服务

firewall-cmd --zone=internal --remove-service=http

9.添加端口号或端口范围到指定区域

firewall-cmd --zone=internal --add-port=80/tcp

firewall-cmd --zone=internal --add-port=8000-9000/tcp

10.删除指定区域中的端口

firewall-cmd --zone=internal --remove-port=80/tcp

11.查看指定区域的端口号

firewall-cmd --zone=internal --list-port

12.查看指定区域的规则信息

firewall-cmd --zone=internal --list-all

13.禁止别人ping本地主机

firewall-cmd --zone=internal --add-icmp-block=echo-request

 firewalld高级配置

1、firewalld的临时策略与永久策略

--permanent       将策略保存到策略配置表,但是策略当时不生效,需要重新加载策略配置表才能生效。

--reload    重新加载策略配置表。

例:

firewall-cmd  --permanent  --zone=internal  --add-service=http

2、firewalld的直接规则

例:将192.168.10.2的主机加入到黑名单,并且每1分钟写一次日志。

1.创建以IPv4为地址结构的黑名单。

firewall-cmd  --direct  --add-chain  ipv4  raw  blacklist

2.将192.168.10.2的地址加入到黑名单。

firewall-cmd  --direct  --add-rule  ipv4  raw  PREROUTING  0  -s 192.168.10.2  -j  blacklist

语法格式说明:

--add-rule 添加规则条目

PREROUTING  0    目标地址转换之前

-s 192.168.10.2     指定源地址

-j  blacklist            动作,加入黑名单

3.设置每分钟记录一次日志

firewall-cmd   --direct  --add-rule  ipv4  raw  blacklist  0  -m  limit  --limit  1/min  -j  LOG   --log-prefix  "blacklog"

语法格式说明:

blacklist  0 写入黑名单之前

-m  limit  --limit  1/min       特殊语法:表示时间周期,每1分钟

--log-prefix  "blacklog" 指定日志名称

4.将加入黑名单的数据包丢弃

firewall-cmd  --direct  --add-rule  ipv4  raw  blacklist  1  -j  DROP

3、富语言规则

firewalld针对iptables的语句结构做的加强语法,对于不会iptables的人群来说,也能直接上手配置。

语法:

source   :源IP地址,可以是IPv4或者IPv6的地址

语法:source  address=192.168.10.2

destination:目标IP地址。

语法:destination  addres=192.168.20.0/24

service  name  :服务名

语法:service  name=http

port :端口号,可以是连续的端口范围4000-5000

语法:port  port=8000

protocol:协议,tcp,udp,icmp,可以单独定义或跟在port后面

语法:protocol=tcp

icmp-block:icmp的丢弃信息

语法:icmp-block  name=icmp类型

masquerade:地址伪装

forward-port:转发端口,地址转换

语法:forward-port  port=80 protocol=tcp to-port=80 to-addr=192.168.10.2

log: 日志

语法:log  prefix=前缀文本(头部信息)  level=日志级别  limit  values=日志数量/时间周期(h,m,s,d)  2/m

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值