Linux之iptables详解及tcpdump

2023-11-19

https://www.jianshu.com/p/ed001ae61c58

原文有几处写的不明白的地方加以重整:

 


可以参考这个人写的,感觉他明白的笔记透彻:

https://blog.51cto.com/13677371/2094355


  • 作者一共在内核空间中选择了5个位置
    这五个位置也被称为五个钩子函数(hook functions),也叫五个内置规则链

对应关系

 

  1.  PREROUTING(路由前)    进入/离开本机的内网接口
  2.  INPUT(数据包流流入入)     数据包从内核流入用户空间的 | 内核--->应用程序
  3.   FORWARD(转发)              从一个网络接口进来, 到另一个网络接口去的(内核里设置关卡)
  4.   OUTPUT(数据包流出)       数据包从用户空间流出的 | 应用程序-----流出----->
  5.   POSTROUTING(路由后)  进入/离开本机的外网接口


  • iptables的工作机制

从上面知道了作者选择的5个位置, 来作为控制的地方, 其实蓝色字体的三个位置已经基本上能够将路径彻底封锁了, 但是为什么已经在进出的口(指的是用户与内核之间的联系的进出)设置了关卡后还要在内部卡(指的是完全在内核中的PREROUTING & POSTROUTING)呢 ? 由于数据包尚未进行路由决策(也叫查找路由表/路由选择/路由判断(查找路由的过程在PREROUTING和FORWARD之间)),还不知道数据要走向那里, 所以在进出口是没有办法实现数据过滤的. 所以要在内核空间里设置转发的关卡. 进入用户空间的关卡,从用户空间出去的关卡,

也可以这样理解 他们没什么用 为什么还要设置他们这个问题: 因为我们要先做NAT和DNAT,做了NAT即完成目标地址转换,而这个转换必须在路由之前进行, 所以我们在外网而后内网的接口进行设置关卡.

红色字体参考最下图 :示例图 .

 

 

 图9.1-2  P308 单一网域,仅有一个路由器: 
 
防火墙除了可以作为 Linux 本机的基本防护之外,他还可以架设在路由器上面以管控整个局域网络的封包进出。 因此,在这类的防火墙上头通常至少需要有两个接口,将可信任的内部与不可信任的 Internet 分开, 所以可以分别设定两块网络接口的防火墙规则啦!简单的环境如同下列图 9.1-2 所示。 
 
在图 9.1-2 中,由于防火墙是设定在所有网络封包都会经过的路由器上头, 因此这个防火墙可以很轻易的就掌控到局域网络内的所有封包.

图9.3-4 含义: 比较简单的封包透过 iptables 而传送到后端主机的表格与链流程

Tips: 有没有发现有两个『路由判断』呢?因为网络是双向的,所以进与 出要分开来看!因此,进入的封包需要路由判断, 送出的封包当然 也要进行路由判断才能够发送出去啊!了解乎?

示例图

《鸟哥的Linux私房菜-服务器架设篇(第三版)高清晰_PDF密码解除》

当网络布线如图 9.1-2的架构,若内部 LAN 有任何一部主机想要传送封包出去时, 那么这个封包要如何透过 
Linux 主机而传送出去?他是这样的: 

1. 先经过 NAT table 的 PREROUTING 链; 
2. 经由路由判断确定这个封包是要进入本机与否,若不进入本机,则下一步; 
3. 再经过 Filter table 的 FORWARD 链; 
4. 通过 NAT table 的 POSTROUTING 链,最后传送出去。 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux之iptables详解及tcpdump 的相关文章

  • [基本功]辛普森悖论

    辛普森悖论是指什么现象 当人们尝试探究两种变量 比如新生录取率与性别 是否具有相关性时 会分别对之进行分组研究 然而 在分组比较中都占优势的一方 在总评中有时反而是失势的一方 上表中 商学院女生录取率为49 lt 男生录取率75 法学院女生

随机推荐

  • 我做了10年的测试,由衷的建议年轻人别入这行了

    两天前 有个做功能测试7年的同事被裁员了 这位老哥已经做到了团队中的骨干了 人又踏实 结果没想到刚刚踏入互联网 老龄化 大关 就被公司给无情优化了 现在他想找同类型的工作 薪资也一直被压 考虑转行转型的话 上升空间又窄 昨天还在指点江山 今
  • 【计算机视觉

    文章目录 一 PASCAL Context 二 DAVIS 2017 三 COCO Stuff Common Objects in COntext stuff 四 RefCOCO 五 CamVid Cambridge driving Lab
  • 7.Xaml Image控件

    1 运行图片 2 运行源码 a xaml源码
  • 2016视觉目标跟踪总结

    最近学习视觉目标跟踪算法 主要了解了几个主流的跟踪算法 kcf stc dsst 算法原理网上很多 这里就不再赘述 只对跟踪效果做了测试记录 Kcf 全名Kernelized Correlation Filters 其中hog特征用的fho
  • 嵌入式(条件变量和线程池)

    条件变量 应用场景 生产者消费者问题 是线程同步的一种手段 必要性 为了实现等待某个资源 让线程休眠 提高运行效率 int pthread cond wait pthread cond t restrict cond pthread mut
  • 开头为0的md5值总结

    s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e8482404488305379
  • MATLAB曲线拟合灵敏度,用Matlab曲线拟合工具箱curve fitting曲线拟合,原来是这样的...

    在使用Matlab软件时 对于曲线拟合来说 有两种方式 其一是编写程序代码 其二是利用Curve fitting工具箱进行 本例通过一个多项式拟合的小试验 向您介绍利用curve fitting工具箱进行曲线拟合的一般步骤 工具 材料 Ma
  • 分块查找算法思路、示例和实现

    分块查找 索引表 22 44 74 数组 22 12 13 9 8 33 42 44 38 24 48 60 58 74 47 算法步骤 通过索引表线性查找确定在数组的哪一 块 通过数组里所在 块 的线性查找确定是否存在 在哪个位置 算法代
  • 2023西安交通大学软件工程915考研经验帖(初试+复试)

    目录 前言 一 初试准备 数学 英语 政治 专业课 总结 杂项 二 复试准备 1 笔试 数据库 操作系统 2 面试 总结 前言 本文仅记录我考研期间 2022 12初试 2023 3复试 的经验和感受 不具有普适性 请根据自身情况调整学习计
  • anaconda 删除环境_Anaconda:解决你装包的烦恼

    生物信息学的日常就是利用五花八门的工具和各种各样的数据打交道 很多时候需要在命令行安装软件或者包 我相信每一个生信人都碰到过安装软件或包时无法解决依赖的囧况 安装软件或者包 听起来是一件很简单的一件事 实际情况却不是如此 比如说编译时碰到系
  • android12适配机型,安卓12支持机型有哪些?安卓12系统为什么有的软件用不了?...

    安卓12系统终于发布了 虽说之前也体验了不少的测试版本了 这次正式版的发售还是很期待的 Android 12是Android历史上最大的设计变化 整体的界面也简洁了不少 不过也还存在不少的问题 比如指纹识别 人脸识别等 下面一起来看看安卓1
  • 网络通信TCP协议三次握手

    TCP是什么 TCP Transmission Control Protocol 传输控制协议 是一种面向连接 连接导向 的 可靠的 基于IP的传输层协议 TCP在IP报文的协议号是6 TCP是一个超级麻烦的协议 而它又是互联网的基础 也是
  • [Transformer]A Survey of Transformers-邱锡鹏

    复旦邱锡鹏组最新综述 A Survey of Transformers A Survey of Transformers Transformers已经在人工智能诸多领域 如NLP CV 声音处理等方面取得进展 也受到学术界和工业界的广泛关注
  • 第十四届蓝桥杯程序设计C++B组 (详细图解+保姆级注释)

    0 写在前面 本届CB组题目难度较往年整体提升了一些 考察知识点全面 题目质量很高 推荐备赛蓝桥杯或感兴趣的同学深入研究本套题 废话不多说 直接上干货 一 冶炼金属 签到题难度 考察数论分块知识or二分 有部分同学可能知道下取整的定义 但是
  • Mysql 时间戳转换为日期格式

    1 时间戳转日期 函数 FROM UNIXTIME select FROM UNIXTIME 1661997078 Y m d H i s 注意时间戳长度为 10 当时间戳长度大于10 要截取前十位 select substr 166199
  • python 再复习一下遍历目录下文件及子文件夹

    代表目前所在的目录 代表上一层目录 代表根目录 注意点的位置就是了 import os for image in os listdir os path join os getcwd 利润表 print image for root dirs
  • Vijava学习笔记之DataCenter(基础配置信息)

    vijava 代码 实体类 package com vmware pojo 数据中心 author zhb public class DataCenter extends Entity private String name 数据中心名称
  • ASP.NET Core 中间件详解及项目实战

    前言 在上篇文章主要介绍了DotNetCore项目状况 本篇文章是我们在开发自己的项目中实际使用的 比较贴合实际应用 算是对中间件的一个深入使用了 不是简单的Hello World 如果你觉得本篇文章对你有用的话 不妨点个 推荐 目录 中间
  • 使用ps命令查看进程的准确启动时间与启动后所消耗的时间

    使用ps命令查看nginx进程的准确启动时间与启动后到现在所消耗的时间 hadoop DSJ 4G 26 ps eo pid lstart etime cmd grep nginx 2204 Tue Nov 21 16 52 47 2017
  • Linux之iptables详解及tcpdump

    https www jianshu com p ed001ae61c58 原文有几处写的不明白的地方加以重整 可以参考这个人写的 感觉他明白的笔记透彻 https blog 51cto com 13677371 2094355 作者一共在内