firewalld防火墙

 

firewalld简述

firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘
对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,
对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件):

  • 主机防火墙
  • 网络防火墙

功能(也叫表)

filter:过滤,防火墙
nat:network address translation,网络地址转换
mangle:拆分报文,做出修改,在封装起来
raw:关闭nat表上启用的连接追踪功能

链(内置):

PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING

数据报文的流向

流入:PREROUTING --> INPUT
流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING

各功能可以在哪些链上实现

filter: INPUT,FORWARD,OUTPUT
nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT)
mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
raw:PREROUTING,OUTPUT

路由发生的时刻(PREROUTING,POSTROUTING)

报文进入本机后:
  判断目标主机
报文发出之前:
  判断经由哪个借口送往下一跳

添加规则时的考量点

(1)要实现什么功能:判断添加在哪张表上;
(2)报文流经的路径:判断添加在哪个链上;

firewalld优先级

策略应用优先级:raw, mangle, nat, filter
策略常用优先级:filter,nat,mangle,raw

链管理

-F: flush,清空规则链:省略链,表示清空指定表上的所有的链
-N: new, 创建新的自定义规则链:
-X: drop, 删除用户自定义的空的规则链-P: Policy, 为指定链这是默认策略,对filter表中的链而言,默认策略通常有ACCEPT,DROP,REJECT;

规则管理

-A:append,将新规则追加于指定链的尾部
-I:insert,将新规则插入至指定链的指定位置
-D:delete,删除指定链上的指定规则:

查看防火墙策略

-L:list, 列出指定链上的所有规则:
-n:number,以数字格式显示地址和端口号
-v:verbose,显示详细信息
  -vv,-vvv
--line-numbers:显示规则编号:

匹配条件

-s, source:检查报文中源ip地址是否符合此处指定的地址范围
-d, destination:检查报文中ip地址是否符合此处指定的地址范围
-p, protocol(udp|tcp|icmp):检查报文中的协议
-i, input-interface:数据报文的流入接口:仅能用于PREROUTING,INPUT,FORWARD链上
-o, out-interface:数据报文的流出接口:仅能用于POSTROUTING,OUTPUT,FORWARD链上

 -j target:jump至指定的target
 ACCEPT:接受
 DROP:丢弃
 REJECT:拒绝
 RETURN:返回调用链
 REDIRECT:端口重定向
 LOG:记录日志
 MARK:做防火墙标记
 DNAT:目标地址转换
 SNAT:源地址转换
 MASQUERADE:地址伪装
 ....
 自定义链:由自定义链中的的规则进行匹配

例子

filter表:

清空所有策略:                                        iptables -F
清空自定义链: iptables -X
自定义一个链 iptables -N old_forward
修改自定义链的名字 iptables -E old_forward new_forward
把filter中forward链的默认策略打成drop iptables -P FORWARD DROP
查看filter表中的策略并且显示行数:   iptables -L -n --line-number
删除filter表中forward链中的第9条策略:  iptables -t filter -D FORWARD 9 限制所有主机(0.0.0.0)拒绝ping本主机 iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT
显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机    iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT

nat表:

    #源地址为192.168.250.0网段的ip地址经过防火墙都转换成192.168.31.100这个ip地址(SNAT:源地址转换)
iptables -t nat -A POSTROUTING -s 192.168.250.0/24 ! -d 192.168.250.0/24 -j SNAT --to-source 192.168.31.100 #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.250.1(DNAT目标地址转换)
iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80 #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.31.100的9999号端口(DNAT目标端口地址转换)
iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.31.100:9999

firewalld 防火墙的更多相关文章

  1. 第8章 Iptables与Firewalld防火墙

    章节简述: 红帽RHEL7系统已经用firewalld服务替代了iptables服务,新的防火墙管理命令firewall-cmd与图形化工具firewall-config. 本章节基于数十个防火墙需求 ...

  2. CentOS7使用firewalld防火墙配置端口

    安装启用firewalld防火墙 CentOS7默认的防火墙是firewalld 如果没有firewalld防火墙,可以执行yum install firewalld 命令进行安装 firewalld ...

  3. CentOS7、REHL7的firewalld防火墙使用简单说明

    title: CentOS7.REHL7的firewalld防火墙使用简单说明 categories: Linux tags: - Linux timezone: Asia/Shanghai date ...

  4. Linux firewalld 防火墙

    Linux firewalld 防火墙  简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...

  5. CentOS 7 打开关闭FirewallD防火墙端口命令

    CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service        ...

  6. 第7章 Iptables与Firewalld防火墙。

    第7章 Iptables与Firewalld防火墙.     Chapter7_听较强节奏的音乐能够让您更长时间的投入在学习中. <Linux就该这么学> 00:00/00:00     ...

  7. CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙

    CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙 时间:2014-10-13 19:03:48  作者:哎丫丫  来源:哎丫丫数码网  查看:11761  评论:2 ...

  8. CentOS firewalld 防火墙操作

    Centos 7 开启端口CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的 CentOS 7 采用了 firewalld 防火墙 如要查询 ...

  9. 9.Iptables与Firewalld防火墙

    第9章 Iptables与Firewalld防火墙 章节简述: 保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用 ...

  10. CentOS 7出现Failed to start firewalld.service: Unit is masked的解决办法和firewalld 防火墙开关

    说明:刚刚使用systemctl start firewalld命令开启防火墙的时候,却开不成功,出现Failed to start firewalld.service: Unit is masked ...

随机推荐

  1. Java继承后访问成员的特点

    继承后的特点--成员变量 对象访问成员变量时,会先在子类中查找有没有定义对应的变量,若子类中存在就会就近使用子类中的变量,若子类中没有定义就会沿着继承关系往上找有没有定义相应的变量,若父类中也没有则编 ...

  2. Python 用load_workbook 读取excel某个单元格数据、读取excel行数、列数

    from openpyxl import load_workbook path = r'D:\pywork\12' # EXCEL信息所在文件夹 e= load_workbook(path + '/' ...

  3. 收集邮票 (概率dp)

    收集邮票 (概率dp) 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率 ...

  4. JavaScript正则、错误处理、操作表单

    一.正则表达式:用单个字符串描述或者匹配符合特定语句规则的字符串 一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索,可以去替换 二.语法: /表达式/修饰符(可选) var para=/i ...

  5. Javascript模块化编程(一):模块的写法 (转)

    Javascript模块化编程(一):模块的写法 原文作者: 阮一峰 日期: 2012年10月26日 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞 ...

  6. Jmeter 常用函数(23)- 详解 __longSum

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 计算两个或多个长值的和 注意 当值不在 ...

  7. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

  8. 安装yarn 心得分享

    初次使用yarn ,坑的我,全局安装完@vue/cli,安装之后就是说vue不是内部命令,研究好久,总结一下分享大家一起学习 1,首先安装yarn: 安装yarn 去官网下载yarn 安装包 默认安装 ...

  9. java23种设计模式——六、适配器模式

    @ 目录 介绍 应用场景 优缺点 模式实现 源码在我的github和gitee中获取 介绍 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模 ...

  10. 分分钟玩转UI自动化测试

    有没有那么一刻,看到自动模拟用户操作界面感觉好神奇. 关于什么叫 UI 自动化测试就不解释了,基本上是你刚才脑海里想到什么就是什么. 在分层自动化测试中包括:UI 测试.集成/接口测试.单元测试.大神 ...