1、四表五链概念:

filter表  过滤数据包
Nat表    用于网络地址转换(IP、端口)
Mangle表  修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表    决定数据包是否被状态跟踪机制处理

INPUT链     进来的数据包应用此规则链中的策略
OUTPUT链     外出的数据包应用此规则链中的策略
FORWARD链    转发数据包时应用此规则链中的策略
PREROUTING链  对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)
POSTROUTING链  对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

2、数据报文流程

数据报文从进入服务器到出来会经过5道关卡,分别为Preouting(路由前),input(输入),outing(输出),Forward(转发),Postrouting(路由后)

 iptables服务策略

  • ACCEPT(允许流量通过)
  • REJECT(拒绝流量通过)
  • LOG(记录日志信息)
  • DROP(拒绝流量通过)

3、iptables 与 firewalld 区别

相同点:都是用来定义防火墙策略的防火墙管理工具
区别:
  iptables服务会把配置好的防火墙策略,交由内核层面的 netfilter 网络过滤器来处理
  firewalld服务则是把配置好的防火墙策略,交由内核层面的 nftables 包过滤框架来处理

4、DROP 和 REJECT策略的区别:

防火墙策略:
  设置为REJECT拒绝动作后,流量发送方会看到端口不可达的响应
  修改成DROP拒绝动作后,流量发送方会看到响应超时的提醒

5、iptables命令参数

-t<表>   指定要操纵的表 
--line-numbers  显示规则的序号
-n    以数字格式显示地址和端口号
-P   设置默认策略
-F   清空规则链
-L   查看规则链
-A    在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则

-s   匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
-d   区配目标地址

-i 网卡名称  匹配从这块网卡流入的数据
-o 网卡名称  匹配从这块网卡流出的数据
-p       匹配协议,如TCP、UDP、ICMP

--sport num    匹配来源端口号
--dport num   匹配目标端口号

6、iptables基本的命令使用

1.查看防火墙规则
  iptables -nvL --line-numbers

2.清空防火墙规则
  iptables -F 清空所有的防火墙规则
  iptables -X 删除用户自定义的空链
  iptables -Z 清空计数   
3.把INPUT规则链的默认策略设置为拒绝/允许
  iptables -P INPUT REJECT/ACCEPT

4.删除INPUT规则链中刚刚加入的那条策略
  iptables -D INPUT 1

5.保存当前的数据包计算器和字节计数器的值
  iptables-save -c > /etc/sysconfig/iptables
 指定要保存的表的名称
  iptables-save -t filter > filter.bak
6.还原防火墙规则
  iptables-restore

7.将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:
  iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 22 -j REJECT

8.向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则:
  iptables -I INPUT -p tcp --dport 12345 -j REJECT  
  iptables -I INPUT -p utp --dport 12345 -j REJECT
9.向INPUT规则链中添加拒绝192.168.8.105主机访问本机80端口(Web服务)的策略规则:
  iptables -I INPUT -s 192.168.8.105 -p tcp --dport 80 -j REJECT 

10.向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则:
  iptables -I INPUT -p all --dport 1000:1024 -j REJECT

11.配置允许ssh端口连接
  iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

12.允许本地回环地址可以正常使用
  iptables -A INPUT -i lo -j ACCEPT
  iptables -A OUTPUT -o lo -j ACCEPT

13.允许已建立的或相关连的通行
  iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
***14.启动网络转发规则,公网 210.14.67.7 让内网 192.168.188.0/24 上网
  iptables -t nat -A POSTROUTING -s 192.168.188.0/24 -j SNAT --to-source 210.14.67.7
15.端口映射:本机的 2222 端口映射到内网 虚拟机的22 端口
  iptables -t nat -A PREROUTING -d 210.14.67.127 -p tcp --dport 2222 -j DNAT --to-dest 192.168.188.115:22

16.阻止Windows蠕虫的攻击
  iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --algo kmp --string "cmd.exe"
17.防止SYN洪水攻击
  iptables -A INPUT -p tcp --syn -m limit --limit 5/second -j ACCEPT

18. 参考:https://blog.csdn.net/szb521/article/details/126415217

7.firewalld:基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。

firewalld中常用的区域名称及策略规则:

    trusted 允许所有的数据包
    home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
    internal 等同于home区域
    work 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
    public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
    external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
    dmz 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
    block 拒绝流入的流量,除非与流出的流量相关
    drop 拒绝流入的流量,除非与流出的流量相关

firewall-cmdfirewalld防火墙配置管理工具的CLI
   firewall-cmd命令正常设置防火墙策略时添加--permanent参数,这样配置的防火墙策略就可以永久生效

    参数|作用
    --get-default-zone|查询默认的区域名称
    --set-default-zone=<区域名称>|设置默认的区域,使其永久生效
    --get-zones|显示可用的区域
    --get-services|显示预先定义的服务
    --get-active-zones|显示当前正在使用的区域与网卡名称
    --add-source=|将源自此IP或子网的流量导向指定的区域
    --remove-source=|不再将源自此IP或子网的流量导向某个指定区域
    --add-interface=<网卡名称>|将源自该网卡的所有流量都导向某个指定区域
    --change-interface=<网卡名称>|将某个网卡与区域进行关联
    --list-all|显示当前区域的网卡配置参数、资源、端口以及服务等信息
    --list-all-zones|显示所有区域的网卡配置参数、资源、端口以及服务等信息
    --add-service=<服务名>|设置默认区域允许该服务的流量
    --add-port=<端口号/协议>|设置默认区域允许该端口的流量
    --remove-service=<服务名>|设置默认区域不再允许该服务的流量
    --remove-port=<端口号/协议>|设置默认区域不再允许该端口的流量
    --reload|让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
    --panic-on|开启应急状况模式
    --panic-off|关闭应急状况模式

8、firewalld命令示例:

1.查看firewalld服务当前所使用的区域:
  firewall-cmd --get-default-zone

2.查询eth0网卡在firewalld服务中的区域:
  firewall-cmd --get-zone-of-interface=eth0

3.让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
  firewall-cmd --reload

4.把firewalld服务的当前默认区域设置为public
  firewall-cmd --set-default-zone=public

5.启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):
  firewall-cmd --panic-on/off

6.查询public区域是否允许请求SSHHTTPS协议的流量
  firewall-cmd --zone=public --query-service=ssh
  firewall-cmd --zone=public --query-service=https

7.把firewalld服务中请求HTTPS协议的流量设置为永久允许,并立即生效:
  firewall-cmd --permanent --zone=public --add-service=https
  firewall-cmd --reload
firewalld服务中请求HTTP协议的流量设置为永久拒绝,并立即生效:
  firewall-cmd --permanent --zone=public --remove-service=http

8.端口:把在firewalld服务中访问8080和8081端口的流量策略设置为允许,但仅限当前生效:
  firewall-cmd --zone=public --add-port=8080-8081/tcp
  firewall-cmd --zone=public --list-port //查看当前的端口

9.把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效:
  firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10

10.参考:https://blog.csdn.net/herhan1/article/details/114461334

iptables和firewalld基础的更多相关文章

  1. 9.Iptables与Firewalld防火墙

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

  2. netfilter/iptables和firewalld的关系

    1.netfilter 是linux 内核模块,其中包含了大量的内核规则,而要想对这些内核规则进行操作,就需要用户态的工具. iptables和firewalld就是一个用户态的工具. 2.iptab ...

  3. centos7之iptables与firewalld

    保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网 与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用. firewalld与iptables iptables f ...

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

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

  5. 第8章 Iptables与Firewalld防火墙

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

  6. linux服务之iptables与firewalld

    开发语言: 服务器端:在内核中实现,无守护程序 客户端:一般是cli界面下的iptables命令 相关包:iptables-1.4.7-11.el6.x86_64 netfilter/iptables ...

  7. 《linux就该这么学》第十节课:第8章iptables和firewalld

            网卡配置: 物理机:192.168.10.1/24 服务器:192.168.10.10/24 客户端:192.168.10.20/24         1.vim  /etc/sysc ...

  8. iptables和firewalld的配置

    一.iptables 1.配置 vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -p tcp -m tcp ...

  9. Iptables静态防火墙基础教程

    文章目录检查Iptables是否安装Iptables相关的文件配置Iptables规则自定义规则保存规则 Iptables对于刚入门Linux的新手都比较难理解和配置.但是如果你掌握了其中的诀窍,你就 ...

随机推荐

  1. UE蓝图---实现场景物体Transform状态重置效果

    在工业领域应用中,通常会遇到操作场景模型变换的操作,经过了移动.旋转.缩放后,要求可一键重置还原最初的Transform状态. 思路:1.在模型阶段设置每个模型Tag值为Oper,表明是可被操作的对象 ...

  2. [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习)

    [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习) 在C#中,存在常见的九种集合类型:动态数组ArrayList.列表List.排序列表SortedList.哈希表HashTa ...

  3. C++一些新的特性的理解(二)

    1 C++11多线程thread 重点: join和detach的使用场景 thread构造函数参数 绑定c函数 绑定类函数 线程封装基础类 互斥锁mutex condition notify.wai ...

  4. 简单创建一个SpringCloud2021.0.3项目(四)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...

  5. python字典键或值去重

    from fuzzywuzzy import fuzz, process a = {'嫦娥四号探测器是用哪个型号的火箭发射的?': ['长征3B'], '嫦娥四号探测器是在我国[]发射成功的.': [ ...

  6. Linux云主机安全入侵排查步骤

    导语 经常有用户报障系统被植入恶意程序,如挖矿软件.ddos攻击病毒.syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型: 一.定位病毒进程 对于用户反馈云主机性能卡顿,CPU和内存占用较高 ...

  7. k8s驱逐篇(4)-kube-scheduler抢占调度驱逐

    介绍kube-scheduler抢占调度驱逐之前,先简单的介绍下kube-scheduler组件: kube-scheduler简介 kube-scheduler组件是kubernetes中的核心组件 ...

  8. 微服务系列之Api文档 swagger整合

    1.前言 微服务架构随之而来的前后端彻底分离,且服务众多,无论是前后端对接亦或是产品.运营翻看,一个现代化.规范化.可视化.可尝试的文档是多么重要,所以我们这节就说说swagger. Swagger是 ...

  9. 使用 Loki 收集 nginx 日志

    转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247492075&idx=1&sn=ba63984111 ...

  10. KVM里安装不是原装的winxp系统镜像

    从网上下载的winxp系统镜像,虽然是iso格式的,但是里面的内容是如下情况的 因此安装的话,需要采取如下步骤 1.添加一个光驱引导,挂载一个iso格式的pe 2.再添加一个光驱,挂载iso格式的wi ...