iptables五表五链及对应实例

这篇具有很好参考价值的文章主要介绍了iptables五表五链及对应实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

iptables是Linux系统上用于配置网络包过滤规则的工具,它使用表(tables)和链(chains)来组织规则。以下是iptables中的五表五链及其对应的实例说明:

五表

  1. filter表:默认表,用于过滤数据包,允许或拒绝数据包通过。它包含INPUT、OUTPUT和FORWARD三个链。
  2. nat表:用于网络地址转换(NAT),例如端口转发和地址转换。它包含PREROUTING、POSTROUTING和OUTPUT三个链。注意,虽然OUTPUT链在nat表中存在,但实际上在iptables中,OUTPUT链通常只用于filter表和mangle表。在nat表中,OUTPUT链很少使用,因为对于从本机发出的数据包,其源地址转换通常在路由选择之前就已经确定了。
  3. mangle表:用于修改数据包的各种属性,例如TTL(Time To Live)或TOS(Type of Service)字段。它也包含PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD五个链。
  4. raw表:用于处理数据包的连接追踪,通常与mangle表结合使用来实现一些特殊功能。它包含PREROUTING和OUTPUT两个链。
  5. security表:用于强制访问控制(MAC)的网络安全策略(注:这实际上是IPsec功能的一部分,但在许多iptables实现中并不常用或并不直接支持)。security表并不常用,而且其具体的链和用法可能因不同的系统或iptables版本而有所不同。

五链

  1. INPUT链:处理进入本机的数据包。
  2. OUTPUT链:处理从本机发出的数据包。
  3. FORWARD链:处理需要本机转发的数据包(即本机作为路由器时)。
  4. PREROUTING链:在进行路由选择之前修改数据包,如DNAT(Destination NAT,目的网络地址转换)。
  5. POSTROUTING链:在进行路由选择之后修改数据包,如SNAT(Source NAT,源网络地址转换)。

实例

filter表实例

# 允许来自任何地方的SSH连接  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
  
# 拒绝来自192.168.1.0/24网络的所有输入流量  
iptables -A INPUT -s 192.168.1.0/24 -j DROP  
  
# 允许本地回环地址的流量  
iptables -A INPUT -i lo -j ACCEPT  
  
# 设置默认策略为拒绝所有输入流量  
iptables -P INPUT DROP

nat表实例

# 将到达本机的80端口的流量转发到内部服务器192.168.1.100的8080端口  
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080  
  
# 修改从本机发出的流量的源地址为1.2.3.4(需要内核支持及路由设置)  
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 1.2.3.4

mangle表实例

# 修改TTL值为64  
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --clamp-mss-to-pmtu  
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --set-mss 1460  
  
# 这是一个较为复杂的例子,实际中TCPMSS的用法可能会有所不同

raw表实例

# 关闭NAT表上的连接追踪功能,加速某些特定类型的数据包(例如ICMP)  
iptables -t raw -A PREROUTING -p icmp -j NOTRACK

请注意,以上命令应在具有相应权限(通常是root)的情况下运行,并且需要根据具体的网络环境和需求进行调整。

关于security表,由于其实际在iptables中的使用较少,且主要与IPsec和网络安全策略配置相关,这里不提供具体的实例。如果需要对这部分进行深入了解,建议查阅专门的IPsec和网络安全文档。

另外,这些规则默认不会永久保存,系统重启后会丢失。若需永久保存iptables规则,可以使用iptables-saveiptables-restore命令,或者在某些发行版中使用特定的服务或脚本来处理规则的保存和加载。文章来源地址https://www.toymoban.com/news/detail-837788.html

到了这里,关于iptables五表五链及对应实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 系统errno 对应参考及代码

    结论 linux下系统errno都有对应的说明描述,发生错误时获取errno即可知道具体问题描述 如下图  代码如下 golang版 c++版

    2024年02月13日
    浏览(35)
  • Linux下std::ifstream成员函数对应系统调用验证

    最近在分析离线数据使用时的bug,发现代码中对std::ifstream成员函数使用存在疑问,所以就写了个简单测试程序来分析std::ifstream成员函数对应那些系统调用。 目录 1.gcount 2.seekg和tellg 3.read 代码如下: test.cpp 编译执行: g++ -g -o test test.cpp  strace -ff -o ./out  ./test    原始代码:

    2024年02月11日
    浏览(32)
  • 【Linux安全管理】iptables配置与iptables基本用法

    目录 一、服务的启动与关闭命令 二、iptables介绍 1、防火墙分类 2、iptables的启动 ① 在开机时禁用firewalld服务:  ②安装iptables-services ③将它设置为开机自启 3、iptables 四表五链详解 链 表  表和链的关系​编辑  不是所有的表都附着在同一条链上​编辑 4、iptables基本用法

    2024年02月05日
    浏览(37)
  • Linux 查看系统硬件信息(实例详解)

    linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。 cpu lscpu命令,查看的是cpu的统计信息. 查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。 上面输出的是第一个cpu部分信息,还有3个cpu信息省略了

    2024年02月06日
    浏览(41)
  • Linux iptables使用

      查看状态 systemctl status iptables 启动服务 systemctl start iptables 查看列表 iptables -t filter -L 使用规则 iptables - INPUT -p tcp -s 172.24.140.181 -j DROP iptables -I INPUT -p tcp --dport 22 -s 172.24.140.181 -j ACCEPT iptables -I INPUT -p tcp --dport 8088 -j DROP iptables -I INPUT -p all --dport 8088 -s 192.168.252.139 -j ACCEPT iptab

    2024年02月10日
    浏览(37)
  • Linux clock子系统及驱动实例

    晶振 :晶源振荡器 PLL :Phase lock loop,锁相环。用于提升频率 OSC :oscillator的简写,振荡器 Linux的时钟子系统由CCF(common clock framework)框架管理,CCF向上给用户提供了通用的时钟接口,向下给驱动开发者提供硬件操作的接口。各结构体关系如下: CCF框架比较简单,只有这几

    2024年02月02日
    浏览(35)
  • 全网超详细的Linux iptables命令详解以及详解iptables-save和iptables-restore命令

    最近在学习 Linux iptables ,从而知道,它是 Linux 防火墙系统的重要组成部分。 它主要功能是实现对网络数据包进出设备及转发的控制——当数据包需要进入设备、从设备中流出或者由该设备转发、路由时,都可以使用 iptables 进行控制。 它与大多数的 Linux 软件一样,这个包过

    2024年02月01日
    浏览(63)
  • Linux——iptables防火墙

    Linux系统的防火墙:IP信息包过滤系统,它实际上由两个net filter和iptables组成。 主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。 netfilter:属于“内核态”(Kernel Space,又称内核空间)的防火墙功能体系 是内核的一部分,由一些数据包

    2024年02月07日
    浏览(42)
  • 【Linux】iptables防火墙

    Linux 系统的防火墙:IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables组成。 主要工作在网络层,针对IP数据包,体现在对包内的IP地址、端口、协议等信息的处理上。 netfilter 位于Linux内核中的包过滤功能体系 称为Linux防火墙的“内核态\\\" iptables 位于/sbin/iptables,用来管

    2024年02月07日
    浏览(36)
  • Linux之Iptables简易应用

    文档形成时期:2009-2024年 和iptables打交道有15年+了,经过无数实践后,形成一个简易应用文档。 文档主题是简易应用,所以其原理不详述了。 因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。 rhel7以下系列使用iptables,从rhel7开始使用firewalld,但iptables也存在

    2024年01月22日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包