首页 > 系统相关 >iptables 工作过程整理

iptables 工作过程整理

时间:2024-09-01 17:04:18浏览次数:13  
标签:iptables -- 数据包 policy anywhere 规则 整理 过程

转载注明出处: 

1.概念和工作原理 

  iptables是Linux系统中用来配置防火墙的命令。iptables是工作在TCP/IP的二、三、四层,当主机收到一个数据包后,数据包先在内核空间处理,若发现目标地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目标不是自身,则会将包丢弃或进行转发。

1.1 四表:

  •  filter(用于过滤)
  • nat(用于 NAT)
  • mangle(用于修改分组数据)
  •  raw(用于原始数据包)

  最常用的是filter 和 nat。

1.2 五链:

  • PREROUTING:用于路由判断前所执行的规则,比如,对接收到的数据包进行 DNAT。
  • POSTROUTING:用于路由判断后所执行的规则,比如,对发送或转发的数据包进行 SNAT 或 MASQUERADE。
  • OUTPUT: 类似于 PREROUTING,但只处理从本机发送出去的包。
  • INPUT: 类似于 POSTROUTING,但只处理从本机接收的包。
  • FORWARD

  流入本机:PREROUTING --> INPUT-->用户空间进程
  流出本机:用户空间进程 -->OUTPUT--> POSTROUTING
  转发:PREROUTING --> FORWARD --> POSTROUTING


  内网至外网用postrouting SNAT

  外网至内网用prerouting DNA

                                 

   下图中白色背景方框,则表示链(chain)

 

 

2.iptables命令

2.1 链管理:

  -N: new 自定义一条新的规则链

  -X: delete 删除自定义的空的规则链

  -P:policy 设置默认策略

          ACCEPT:接受

          DROP:丢弃

  -E:重命名自定义链

2.2 查看:

  -L: list

   -n:以数字格式显示地址和端口号

  -v:详细信息

2.3 规则管理:

  -A : append 追加

  -I:insert 插入

   -D:delete 删除

  -F:flush 清空指定规则链

  -R:replace 替换指定链上的规则编号

  -Z: zero :置零

3.iptables命令使用

  iptables -L 列出规则,默认为filter表的规则。

  iptables -t nat -L 列出nat表的规则。

[root@node100 ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere            !loopback/8           ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  172.17.0.0/16        anywhere

Chain DOCKER (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

  iptables中的第一个选项可以是-A, 表明向链(chain)中添加一条新的规则,也可以是-I,表明将新的规则插入到规则集的开头。接下来的参数指定了链。

  所谓链就是若干条规则的集合

   OUTPUT链它可以控制所有的出站流量(outgoing traffic)。

  INPUT链它能够控制所有的入站流量(incoming traffic)。

  •   -d指定了所要匹配的分组目的地址,
  •   -s指定了分组的源地址。
  •   -j指示iptables执行到特定的处理(action)

 

标签:iptables,--,数据包,policy,anywhere,规则,整理,过程
From: https://www.cnblogs.com/zjdxr-up/p/18391452

相关文章

  • mysqlbackup处理过程说明
    InnoDBdatafiles,redolog,binarylog,和relaylogfiles(除了正在使用的log文件)被拷贝到备份,这个期间数据库服务可以想平常一样使用innodb的表结构和数据可能在这个期间发生变化,所以下面的步骤就是确保这些变化被捕捉到备份中一个backuplock会被应用到服务器实例上,他会阻塞DD......
  • 类加载器整理解析
    1.为什么要有类加载器的设计?在不使用类加载器的场景中(假想场景),所有的类都是在程序启动时一次性加载到JVM中的。(1)程序启动慢。需要在启动时一次性加载程序中的所有类,即使在程序运行期间根本用不到。(2)资源浪费。未被使用的类的加载占用了JVM的内存和其他资源。(3)类冲突。在......
  • 可重复读隔离级别真的完全解决不可重复读问题了吗?读已提交隔离级别能避免不可重复读问
    一文带你搞懂MySQL事务的各个疑惑,不要再在脑子里一团浆糊啦!!事务的四大特性MySQL的三种日志事务的原子性是如何保证的?事务的隔离性是如何保证的?事务的持久性是如何保证的?数据库事务的隔离级别各隔离级别都各自解决了什么并发问题?什么是MVCC?读已提交和可重复读隔离级别实......
  • 20240904_070346 mysql 存储过程 认识
    什么是存储过程存储过程的特点......
  • 20240904_080346 mysql 存储过程 创建与使用存储过程
    存储过程的使用修改结束符号将默认的句子结束符号由;改为$号的写法创建存储过程调用存储过程......
  • 20240904_090346 mysql 存储过程 查看表中的全部存储过程
    查看格式相关表格实操演示SELECT*FROMinformation_schema.routinesWHEREROUTINE_SCHEMA="my_school";......
  • 20240904_100346 mysql 存储过程 查看存储过程中的语句
    说明用法和查建表语句是一样的实操查到的完整内容为......
  • iptables
    一、iptables是什么iptables不是防火墙,是防火墙用户代理用于把用户的安全设置添加到安全框架中安全框架是防火墙,名称是netfilternetfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块iptables是位于在用户空间对内核空间的netfilter进行操作......
  • c#面试题及答案整理
    1.简述private、protected、public、internal修饰符的访问权限答:2.列举ASP.NET页面之间传递值的几种方式答:使用QueryString,如....?id=1;response.Redirect()....使用Session变量使用Server.Transfer使用Application使用Cache使用HttpContext的Item属性使用......
  • 【攻防系列】服务器被攻击的过程与应对:一场持续两个多月的攻防战
    原创程序员笔记在2024年4月遭遇了一场前所未有的网络攻击,持续了两个多月。本文将详细记录这场攻击的过程、我们的反应以及快速处理的具体细节。2024年4月,站点开始断断续续地收到各种攻击,主要集中在工作高峰期。攻击者每天准时发起攻击,使用的主要手段是CC攻击,平均每小时1000......