1、iptables基础

1.1 Netfilter与iptables引入

百度百科:Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。

iptables是使用这个模块的软件,位于应用空间,Netfilter组件位于内核空间,是内核网络的一部分。通过它可以插入、修改、删除一些表,从而很好对对网络数据包进行有效安全管控。

1.2 Netfilter钩点

1.3 表与规则

表是链的容器、链是规则(policys)的容器。规则(policy)就是iptables过滤信息的具体方法。

表分为四种, 链分为五种。

表名包括

  • raw:高级功能,如:网址过滤。

  • mangle:数据包修改(QOS),用于实现服务质量。
  • net:地址转换,用于网关路由器。
  • filter:包过滤,用于防火墙规则。

规则链包括

  • INPUT链:处理输入数据包。
  • OUTPUT链:处理输出数据包。
  • PORWARD链:处理转发数据包。
  • PREROUTING链:用于目标地址转换(DNAT)。
  • POSTOUTING链:用于源地址转换(SNAT)。
表(table) 链(chain)
filter 默认表,实现防火墙数据过滤功能。
INPUT 对于指定到本地套接字的包,即到达本地防火墙的数据包。
OUTPUT 本地创建的数据包。
FORWARD 路由穿过的数据包,即经过防火墙的数据包。
NAT 当遇到新创建的数据包连接时将参考这个表。
PREROUTING 一进来就对数据包进行改变。
OUTPUT 本地创建的数据包在路由之前进行改变。
POSTROUTING 在数据包即将出去时改变数据包信息。
mangle 专门用于改变数据包
INPUT 进入到设备本身的包
FORWARD 对路由后的数据包进行修改
PREROUTING 在路由之前更改传入的包
OUTPUT 本地创建的数据包在路由之前进行改变
POSTROUTING 在数据包即将离开时更改数据包信息
raw 有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能

iptables中表和链的对应关系

  INPUT FORWARD PREROUTING OUTPUT POSTROUTING
filter YES YES NO YES NO
NAT NO NO YES YES YES
mangle YES YES YES YES YES
raw NO NO YES YES NO

filter表

filter表 强调:主要和主机自身相关,真正负责主机防火墙功能的(过滤流入流出主机的数据包)
filter表示iptables默认使用的表,定义了三个链
企业工作场景:主机防火墙
INPUT 负责过滤所有目标地址是本机地址的数据包
FORWARD 负责转发流经主机的数据包。起转发作用,和NAT关系很大。
LVS NAT模式:net.ipv4.ip_forward=0
OUTPUT 处理所有源地址是本机地址的数据包

NAT表

NAT表 负责网络地址转换的,即来源和目的ip地址的port的转换
应用:和主机本身无关,一般用于局域网共享上网或者特殊的端口转换服务相关。
工作场景:
1. 用于企业路由(zebra)或网关(iptables),共享上网(POSTROUTING)
2. 做内部外部IP地址一对一映射(dmz),硬件防火墙映射IP到内部服务器,FTP服务(PREROUTING)
3. WEB,单个端口的映射,直接映射端口80端口(PREROUTING)
OUTPUT 和主机放出去的数据包有关,改变主机发出数据包的目的地址
PREROUTING 在数据包到达防火墙时,进行路由判断之前执行的规则,作用是改变数据包的目的地址,目的端口等。
POSTROUTING 在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址,源端口等。

mangle表

mangle表 主要负责修改数据包中特殊的路由标记,例如TTL,TOS,MARK等。

raw表

有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能。RAW 表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链 上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。

linux网络Netfilter与iptables技术相关推荐

  1. Linux网络架构: XDP, iptables/netfilter和iproute2/tc/ip/Qdiscs

    本文目录 1.架构框图 2.网络架构分成三大块 3.网络架构-----对应的配置工具-----对应的原理与概念 说到Linux的网络架构,就离不开谈...这些东西.这几个概念很容易混淆起来,但如果仔细 ...

  2. Linux网络报文捕获/抓包技术对比:napi、libpcap、afpacket、PF_RING、PACKET_MMAP、DPDK、XDP(eXpress Data Path)

    Table of Contents 1.传统linux网络协议栈流程和性能分析 协议栈的主要问题 针对单个数据包级别的资源分配和释放 流量的串行访问 从驱动到用户态的数据拷贝 内核到用户空间的上下文切 ...

  3. Linux网络防火墙:iptables与netfilter

    目录 netfilter iptables iptables示例 nftables 参考文档 iptables是一个配置Linux内核防火墙的命令行工具,它基于内核的netfilter机制.新版本的内 ...

  4. linux网络_防火墙-iptables基础

    2019独角兽企业重金招聘Python工程师标准>>> 定义: 防火墙:是用于实现Linux下访问控制的功能. 分类:硬件或者软件防火墙. 3.4层的防火墙,叫网络层的防火墙:7层的 ...

  5. Linux网络处理“零拷贝”技术mmap()内核进程间通信设计8086分页管理——摆在一起来谈谈...

    Jack:最近听说了网络处理的"零拷贝"技术,觉得非常神奇,在网上查阅了很多资料.不过,并不是太明白--知其然,而不知其所以然.你能通俗地解释一下吗? 我:这是一个相对比较复杂的话 ...

  6. linux防火墙Netfilter(iptables)

    Linux的防火墙由Netfilter实现: Netfilter的过滤功能在内核中实现,不依靠daemon. 工作于OSI 7层模型的第2, 3, 4层. 只检测报文头. iptables是Netfi ...

  7. Linux网络:聚合链路技术

    目录 一.聚合链路技术 1.bonding作用 2.Bonding聚合链路工作模式 3.Bonding实现 一.聚合链路技术 1.bonding作用 将多块网卡绑定同一IP地址对外提供服务,可以实现高 ...

  8. Linux centos7 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

    一. Linux网络相关 yum install net-tools ifconfig查看网卡ip ifup ens33开启网卡 ifdown ens33关闭网卡 设定虚拟网卡ens33:0 mii- ...

  9. 七周三次课(11月29日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法...

    2019独角兽企业重金招聘Python工程师标准>>> 10.11 Linux网络相关 ifconfig 查看网卡ip (yum install net-tools) 安装 -a   ...

  10. Linux网络相关、firewalld、netfilter及其5表5链、iptables语法

    2019独角兽企业重金招聘Python工程师标准>>> 1.Linux 网络相关 ifconfig 查看网卡IP,见下图, net-tools 包之前安装过了,这边还可以执行这个命令 ...

最新文章

  1. vb mysql数据导入到mssql,[请教]怎样把*.txt文本的数据导入sql数据库中?
  2. MFC中OnCtlColor的用法(改变控件颜色)
  3. django--rtbac权限管理
  4. 你好,欢迎来到我的空间,
  5. mysql的网址是什么意思_Mysql数据库地址是什么怎么填写
  6. Spring-boot + Mybatis-plus 3.0-gamma 配置记录
  7. matlab信号建模,Matlab在信号处理中的建模仿真
  8. POJ 3641 Pseudoprime numbers (miller-rabin 素数判定)
  9. 现代书法脚本字体Tifany Script
  10. ubuntu 安装 网易云音乐
  11. 詹姆斯titan_再见,詹姆斯!
  12. win10计算机怎么拨号上网,win10系统怎么设置拨号上网 设置拨号上网的方法
  13. win10开机黑屏不显示桌面,怎么办
  14. FC-SAN存储技术
  15. 个人公众号,用于开发经验分享
  16. 计算机相关学科查找英文paper的一般方法
  17. 78个学术网站!史上最全常用文献数据库汇总!
  18. 行测-判断推理-类比推理-语法关系
  19. 公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录
  20. 高逼格的年终总结怎么写?这是我见过最系统的写法

热门文章

  1. 网络协议和标准——IEEE802
  2. 华为vrrp默认优先级_华为vrrp配置实例
  3. Invalid arguments ' Candidates are: int fseek(__sFILE *, long int, int) '
  4. 杭电、POJ、ZOJ ACM刷题顺序和题目分类详解
  5. 大数据告诉你,从北大青鸟毕业的学生未来发展到底怎么样?
  6. macbook安装免费vmware fusion
  7. 卡巴斯基7.0反病毒一年激活码免费领取(官方活动,现已停止)
  8. 情人节程序员用HTML网页表白【表白对话】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  9. 如何在WordPress中使用SEO写作助手来改善SEO
  10. python实现海康sdk二次开发,移动侦测事件(一)