当前位置: 首页 > news >正文

龙岩网站设计制作涿州网站建设有限公司

龙岩网站设计制作,涿州网站建设有限公司,网页设计就业方向,南京网站制作网页Android network — iptables四表五链 1. iptables简介2. iptables的四表五链2.1 iptables流程图2.2 四表2.3 五链2.4 iptables的常见情况 3. NAT工作原理3.1 BNAT3.2 NAPT 4. iptables配置 本文主要介绍了iptables的基本工作原理和四表五链等基本概念以及NAT的工作原理。 1. i… Android network — iptables四表五链 1. iptables简介2. iptables的四表五链2.1 iptables流程图2.2 四表2.3 五链2.4 iptables的常见情况 3. NAT工作原理3.1 BNAT3.2 NAPT 4. iptables配置 本文主要介绍了iptables的基本工作原理和四表五链等基本概念以及NAT的工作原理。 1. iptables简介 我们先来看一下netfilter官网对iptables的描述 iptables is the userspace command line program used to configure the Linux 2.4.x and later packet filtering ruleset. It is targeted towards system administrators. Since Network Address Translation is also configured from the packet filter ruleset, iptables is used for this, too. The iptables package also includes ip6tables. ip6tables is used for configuring the IPv6 packet filter. 也就是说iptables实际上只是位于用户空间的一个面向系统管理员的Linux防火墙的管理工具而已而真正实现防火墙功能的是netfilter它是Linux内核中实现包过滤的内核模块iptables对应在内核中的模块应该是ip_tables我们查看系统内核中ip_tables的信息的时候可以看到ip_tables.ko这个模块是在netfilter这个目录下的。 实际上除了iptables还有如nftables、firewalld等防火墙工具都是在用户空间用户层对相应的内核空间中对应的netfilter相关的模块进行操作的工具。 2. iptables的四表五链 2.1 iptables流程图 首先我们来看一下下面的这张图了解一下iptables中的表和链的概念。图中使用箭头展示了用户访问使用了iptables的机器的过程其中按照箭头的顺序我们就可以将其梳理为一条大的带有分支的链条在每个需要进行操作的模块处都标有名称和相应的括号括号内的就是iptables的四表而每个模块都可以视为一个链。 之所以叫做链就是因为在访问该链的时候会按照每个链对应的表依次进行查询匹配执行的操作如PREROUTING链对应的就是(raw-mangle-nat)每个表按照优先级顺序进行连接每个表中还可能有多个规则因此最后看起来就像链一样因此称为链。而iptables的表中存储的就是对应的规则和需要执行的操作这里以路由器为例查看其中iptables的filter表 注意每一个链对应的表都是不完全一样的表和链之间是多对多的对应关系。但是不管一个链对应多少个表它的表都是按照下面的优先顺序来进行查找匹配的。 表的处理优先级rawmanglenatfilter。 2.2 四表 iptables的四个表iptable_filteriptable_mangleiptable_natiptable_raw默认表是filter没有指定表的时候就是filter表。 filter 表用来对数据包进行过滤具体的规则要求决定如何处理一个数据包。 对应的内核模块为iptable_filter其表内包括三个链input、forward、output; nat 表nat 全称network address translation 网络地址转换主要用来修改数据包的 IP 地址、端口号信息。 对应的内核模块为iptable_nat其表内包括三个链prerouting、postrouting、output; mangle 表主要用来修改数据包的服务类型生存周期为数据包设置标记实现流量整形、策略路由等。 对应的内核模块为iptable_mangle其表内包括五个链prerouting、postrouting、input、output、forward; raw 表主要用来决定是否对数据包进行状态跟踪。 对应的内核模块为iptable_raw其表内包括两个链output、prerouting; raw表只使用在PREROUTING链和OUTPUT链上,因为优先级最高从而可以对收到的数据包在系统进行ip_conntrack连接跟踪前进行处理。一但用户使用了raw表,在某个链上raw表处理完后将跳过NAT表和ip_conntrack处理即不再做地址转换和数据包的链接跟踪处理了。RAW表可以应用在那些不需要做nat的情况下以提高性能。 2.3 五链 iptables的五个链PREROUTINGINPUTFORWARDOUTPUTPOSTROUTING。 input 链当收到访问防火墙本机地址的数据包时将应用此链中的规则output 链当防火墙本机向外发送数据包时将应用此链中的规则forward 链当收到需要通过中转发给其他地址的数据包时将应用此链中的规则注意如果需要实现forward转发需要开启Linux内核中的ip_forward功能prerouting 链在对数据包做路由选择之前将应用此链中的规则postrouting 链在对数据包做路由选择之后将应用此链中的规则 2.4 iptables的常见情况 下面我们利用上面的流程图来对几种常见的情况解析关键点在于发往iptables主机的数据包的目的地址是否是iptables主机本机。如果是那我们就可以理解为常见的开启了iptables防火墙的网站服务器主机如果不是那就是走ip_forward进行转发比如我们常见的NAT路由器的NAT服务和策略路由等。如下图为开启了ip_forward功能。 3. NAT工作原理 接下来介绍一些NAT(Network Address Translation网络地址转换)的基本知识众所周知IPv4的公网IP地址已经枯竭但是需要接入互联网的设备还在不断增加这其中NAT就发挥了很大的作用此处不讨论IPv6。NAT服务器提供了一组私有的IP地址池10.0.0.0/8、172.16.0.0/12、192.168.0.0/16使得连接该NAT服务器的设备能够获得一个私有的IP地址也称局域网IP/内网IP当设备需要连接互联网的时候NAT服务器将该设备的私有IP转换成可以在互联网上路由的公网IP全球唯一。NAT的实现方式有很多种这里我们主要介绍三种静态NAT、动态NAT和网络地址端口转换NAPT。 3.1 BNAT 静态NATLVS的官方文档中也称为(N-to-N mapping) 前面的N指的是局域网中需要联网的设备数量后面的N指的是该NAT服务器所拥有的公网IP的数量。既然数量相等那么就可以实现静态转换即一个设备对应一个公网IP这时候的NAT服务器只需要维护一张静态的NAT映射转换表。 内网IP外网IP192.168.1.55219.152.168.222192.168.1.59219.152.168.223 动态NATLVS的官方文档中也称为(M-to-N mapping) 注意这时候的MN也就是说局域网中需要联网的设备数量多于NAT服务器拥有的公网IP数量这时候就需要由NAT服务器来实现动态的转换这样每个内网设备访问公网的时候使用的公网IP就不一定是同一个IP。 在一些家用路由器中DMZ是指一部所有端口都暴露在外部网络的内部网络主机除此以外的端口都被转发。严格来说这不是真正的DMZ因为该主机仍能访问内部网络并非独立于内部网络之外的。但真正的DMZ是不允许访问内部网络的DMZ和内部网络是分开的。这种 DMZ主机并没有真正DMZ所拥有的子网划分的安全优势其常常以一种简单的方法将所有端口转发到另外的防火墙或NAT设备上。 3.2 NAPT 以上的这两种都属于基本网络地址转换Basic NAT这种转换在技术上比较简单仅支持地址转换不支持端口映射这也就带来了另一个问题就是资源的浪费。我们知道一个IP实际上可以对应多个端口而我们访问应用实际上是通过IP地址端口号的形式来访问的即客户端访问的时候发送请求到服务器端应用程序监听的端口即可实现访问。那么NAPT就是在这基础上的扩展延申它在IP地址的基础上加上了端口号支持了端口映射的功能。 NAPTNAPT实际上还可以分为 源地址转换SNAT 和 目的地址转换DNAT 两种。注意这个源地址和目的地址是针对NAT服务器而言我们通过下面一张图来说明 首先我们这里有一个客户端上面运行着一个浏览器假设它使用的是5566端口它需要访问14.25.23.47这个Web服务器的HTTPS服务的443端口它在访问的时候需要经过局域网出口的这个路由器网关同时也是NAT服务器路由器对它进行一个NAPT的源地址转换SNAT这个时候客户端的请求经过NAT服务器之后变成了222.17.23.45:7788这个IP端口对Web服务器的443端口进行访问。注意在这个过程中目标服务器Web服务器的IP和端口是一直没有改变的。 接下来在Web服务器接收到请求之后需要返回数据给发送请求的设备注意这时候web服务器返回数据的指向IP应该是刚刚NAT服务器发送请求的227.17.23.45:7788这个IP端口这时候路由器网关再进行一次NAPT的目标地址转换DNAT目标的IP端口就是最开始发送请求的192.168.1.77:5566这个端口。 实际上对于大多数人来说日常接触到最多的就是路由器做的SNAT和DNAT操作它们一般成对出现用于解决公网IP资源不足的问题需要注意的是NAT是可以进行嵌套操作的即NAT下面的网络设备还可以继续做NAT只要做NAT的网段不和上层的NAT的网段相同即可。 4. iptables配置 在了解清楚iptables的工作原理和每个表以及链的作用之后我们就可以根据其特点进行针对性的配置。本篇先介绍简单 iptables 的基本语法命令格式 iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]表名、链名指定iptables命令所操作的表和链未指定表名时将默认使用filter表管理选项表示iptables规则的操作方式比如插入、增加、删除、查看等匹配条件指定要处理的数据包的特征不符合指定条件的数据包不处理控制类型指数据包的处理方式比如允许accept、拒绝reject、丢弃drop、日志LOG等 iptables 命令的常用管理选项 -A:在指定链的末尾添加一条新的规则 -D:删除指定链中的某一条规则可删除指定序号或具体内容 -I:在指定链中插入一条新规则未指定序号时默认作为第一条规则 -R:修改、替换指定链中的某一条规则可指定规则序号或具体内容 -L:列出指定链中所有的规则未指定链名则列出表中的所有链 -F:清空指定链中所有的规则未指定链名则清空表中的所有链 -P:设置指定链的默认策略 -n:使用数字形式显示输出结果 -v:查看规则列表时显示详细的信息 -h:查看命令帮助信息 --line-numbers:查看规则列表时同时显示规则在链中的顺序号
http://www.zqtcl.cn/news/163347/

相关文章:

  • 网站引量方法网站建设推广页
  • 书店网站的建设网络营销方法有哪些
  • 深圳网站优化软件顺企网怎么样
  • 做网站的需要什么要求中国五百强企业排名表
  • 网络营销 企业网站外贸响应式网站建设
  • 网站网页制作公司o2o平台是什么意思啊
  • 惠州市网站建设个人网站怎么进入后台维护
  • 微信网站链接怎么做wordpress 绑定手机版
  • 网站建设的内容是什么在线阅读小说网站怎么建设
  • 福州网站开发哪家比较好建设网站需要掌握什么编程语言
  • 邹平做网站的公司莱芜人才网莱芜招聘
  • 旅行网站开发意义怎样优化网络速度
  • 手机微网站建设多少钱拟定网络设计方案
  • 厦门制作公司网站安卓原生app开发工具
  • worldpress英文网站建设wordpress输出外部文章
  • u9u8网站建设商业公司的域名
  • 有学给宝宝做衣服的网站吗防网站黑客
  • 十大搜索引擎网站微信小程序有什么用处?
  • 团购网站 seo烟台网站建设方案优化
  • 公司网站建设招标文件范本公益永久免费主机
  • 建设银行网站查询企业年金五合一免费建站
  • 做网站开发挣钱吗做网站手机版
  • 网站建设案例精粹 电子书广州白云学校网站建设
  • 良品铺子网站制作用什么软件来做网站
  • ip直接访问网站 备案哪有深圳设计公司
  • 平面构成作品网站第一设计
  • 济南小程序开发多少钱网站移动端优化工具
  • 大连开发区网站淘宝网站优化实例
  • 张家港建网站的公司做网站犯法了 程序员有责任吗
  • 小型企业网站建设项目浦东新区网站推广公司