位置: 编程技术 - 正文

构筑Linux防火墙之IPtables的概念与用法(1)(linux 防火墙原理)

编辑:rootadmin

推荐整理分享构筑Linux防火墙之IPtables的概念与用法(1)(linux 防火墙原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux 防火墙原理,linux防火墙的组成包括,linux防火墙规则设置,linux 防火墙原理,linux防火墙的主要内容,linux防火墙工作原理,linux 防火墙原理,linux防火墙的设计与实现,内容如对您有帮助,希望把文章链接给更多的朋友!

构筑Linux防火墙之什么是Linux防火墙防火墙典型的设置是有两个网卡,一个流入,一个流出。iptables读取流入和流出的数据包的报头,然后将它们与规划集(ruleset)相比较,然后将可接受的数据包从一个网卡转发至另外一个网卡。对于被拒绝的数据包,可以被丢弃或者按照你所定义的方式来处理。通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令的规则,控制信息包的过滤。通过使用iptables系统提供的特殊命令 iptables,建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。关于添加、除去、编辑规则的命令的一般语法如下:

构筑Linux防火墙之IPtables的概念与用法(1)(linux 防火墙原理)

iptables [-t table] command [match] [target]   

现实中,为了易读,我们一般都用这种语法。大部分规则都是按这种语法写的,因此,如果看到别人写的规则,你很可能会发现用的也是这种语法。 如果不想用标准的表,就要在[table]处指定表名。一般情况下没有必要指定使用的表,因为iptables 默认使用filter表来执行所有的命令。也没有必要非得在这里指定表名,实际上几乎可在规则的任何地方指定表名。当然,把表名放在开始处已经是约定俗成的标准。尽管命令总是放在开头,或者是直接放在表名后面,我们也要考虑到底放在哪儿易读。 “command”告诉程序该做什么,比如:插入一个规则,还是在链的末尾增加一个规则,还是删除一个规则。下面会仔细地介绍。 “match”细致地描述了包的某个特点,以使这个包区别于其它所有的包。在这里,我们可以指定包的来源IP 地址、网络接口、端口、协议类型,或者其他什么。下面我们将会看到许多不同的match。 最后是数据包的目标所在“target”。若数据包符合所有的match,内核就用target来处理它,或者说把包发往target。比如,我们可以让内核把包发送到当前表中的其他链(可能是我们自己建立的),或者只是丢弃这个包而不做任何处理,或者向发送者返回某个特殊的应答。下面我们来逐个讨论这些选项:

表(table)[-t table]选项允许使用标准表之外的任何表。表是包含仅处理特定类型信息包的规则和链的信息包过滤表。有三种可用的表选项:filter、nat 和 mangle。该选项不是必需的,如果未指定,则filter用作缺省表。下面介绍各表实现的功能。filterfilter 表用来过滤数据包,我们可以在任何时候匹配包并过滤它们。我们就是在这里根据包的内容对包做DROP或ACCEPT的。当然,我们也可以预先在其他地方做些过滤,但是这个表才是设计用来过滤的。几乎所有的target都可以在这儿使用。natnat表的主要用处是网络地址转换,即Network Address Translation,缩写为NAT。做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这个表一次。如果第一个包被允许做NAT或Masqueraded,那么余下的包都会自动地被做相同的操作。也就是说,余下的包不会再通过这个表,一个一个的被NAT,而是自动地完成。这就是我们为什么不应该在这个表中做任何过滤的主要原因。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前改变其源地址此表仅用于NAT,也就是转换包的源或目标地址。注意,只有流的第一个包会被这个链匹配,其后的包会自动被做相同的处理。实际的操作分为以下几类:◆ DNAT◆ SNAT◆ MASQUERADEDNAT操作主要用在这样一种情况,你有一个合法的IP地址,要把对防火墙的访问 重定向到其他的机子上(比如DMZ)。也就是说,我们改变的是目的地址,以使包能重路由到某台主机。 SNAT改变包的源地址,这在极大程度上可以隐藏你的本地网络或者DMZ等。一个很好的例子是我们知道防火墙的外部地址,但必须用这个地址替换本地网络地址。有了这个操作,防火墙就 能自动地对包做SNAT和De-SNAT(就是反向的SNAT),以使LAN能连接到Internet。如果使用类似 ..0.0/这样的地址,是不会从Internet得到任何回应的。因为IANA定义这些网络(还有其他的)为私有的,只能用于LAN内部。MASQUERADE的作用和MASQUERADE完全一样,只是计算机 的负荷稍微多一点。因为对每个匹配的包,MASQUERADE都要查找可用的IP地址,而不象SNAT用的IP地址是配置好的。当然,这也有好处,就是我们可以使用通过PPP、 PPPOE、SLIP等拨号得到的地址,这些地址可是由ISP的DHCP随机分配的。Mangle这个表主要用来mangle数据包。我们可以改变不同的包及包头的内容,比如 TTL,TOS或MARK。 注意MARK并没有真正地改动数据包,它只是在内核空间为包设了一个标记。防火墙内的其他的规则或程序(如tc)可以使用这种标记对包进行过滤或高级路由。这个表有五个内建的链: PREROUTING,POSTROUTING, OUTPUT,INPUT和 FORWARD。PREROUTING在包进入防火墙之后、路由判断之前改变包,POSTROUTING是在所有路由判断之后。 OUTPUT在确定包的目的之前更改数据包。INPUT在包被路由到本地之后,但在用户空间的程序看到它之前改变包。注意,mangle表不能做任何NAT,它只是改变数据包的TTL,TOS或MARK,而不是其源目的地址。NAT是在nat表中操作的,以下是mangle表中仅有的几种操作:◆ TOS◆ TTL◆ MARKTOS操作用来设置或改变数据包的服务类型域。这常用来设置网络上的数据包如何被路由等策略。 注意这个操作并不完善,有时得不所愿。它在Internet上还不能使用,而且很多路由器不会注意到这个域值。换句话说,不要设置发往Internet的包,除非你打算依靠TOS来路由,比如用iproute2。TTL操作用来改变数据包的生存时间域,我们可以让所有数据包只有一个特殊的TTL。它的存在有一个很好的理由,那就是我们可以欺骗一些ISP。为什么要欺骗他们呢?因为他们不愿意让我们共享 一个连接。那些ISP会查找一台单独的计算机是否使用不同的TTL,并且以此作为判断连接是否被共享的标志。MARK用来给包设置特殊的标记。iproute2能识别这些标记,并根据不同的标记(或没有标记) 决定不同的路由。用这些标记我们可以做带宽限制和基于请求的分类。

构筑Linux防火墙之IPtables的概念与用法(2) 目标(target)我们已经知道,目标是由规则指定的操作,那些与规则匹配的信息包执行这些操作。除了允许用户定义的目标之外,还有许多可用的目标

Linux架设DNS服务器(一) 一、域名系统介绍1.域名系统域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网

Linux架设DNS服务器(二) 2.安装服务器软件2.1取得bind软件包(现在新的版本为8.2.2p5)从bind的主页

标签: linux 防火墙原理

本文链接地址:https://www.jiuchutong.com/biancheng/366237.html 转载请保留说明!

上一篇:和大家一起分享不错的iptables(和大家一起分享一下你读书以后的感受吧)

下一篇:构筑Linux防火墙之IPtables的概念与用法(2)(linux防火墙的主要内容)

  • 代扣个人借款分录
  • 个人独资企业生活费用和经营费用混在一起的
  • 资产处置损益属于当期损益吗
  • 运输费增值税专用发票几个点
  • 内涵报酬率和必要投资报酬率
  • 个人独资企业可以投资有限公司吗
  • 企业所得税年报过了申报期还能修改吗
  • 服装企业销售方式
  • 善意接受虚开发票只能自认倒霉么
  • 旅游开发公司有什么职位
  • 常见的税收优惠
  • 成品油增值税抵减政策
  • 注册资本金印花税什么时候缴纳
  • 捐赠的固定资产按什么计价
  • 劳动保护费在企业怎么交
  • 建筑企业如何进行资质申请?
  • 以前年度发生的费用
  • 重点创业人群
  • 企业亏损需要缴税吗
  • 公司与政府协议
  • 在天猫店铺后台中的提现怎么做会计分录?
  • 超市买的东西开什么发票
  • 委托代销商品账簿模板
  • bios升级失败后如何恢复
  • 公司运输车辆加油会计分录
  • 社保缴纳方式怎么填
  • 发工资扣的个人社保计入哪个科目
  • 电冰箱一天用多少电费正常
  • 对于接受捐赠的资产价值,应计入当期损益
  • 升级w10系统
  • 电子承兑兑现手续费
  • 关于出售使用过的东西
  • 职工福利费的税收金额怎么填写
  • uniapp封装组件,多了一层
  • 单位发放给职工的养老金
  • javascript速成要多久
  • 企业基本户是对公账户吗
  • 帝国cms怎么用
  • 自由会计服务类工作者
  • 分期收款方式确认收入的时间
  • 公司小规模纳税人转为一般纳税人,需要签补充协议吗
  • 上月结转余额怎么做会计分录
  • 其他应付款辅助是供应商还是客户
  • 劳务成本科目的分类
  • 销售退回 所得税
  • 营改增后计算土地增值税收入公式
  • 收到保险公司赔款
  • 邮寄发票的快递费走什么科目
  • 员工用自己的钱买的材料如何做账
  • 服务业收入的会计分录
  • 小规模收的专票以后能抵扣吗
  • 计提时的会计分录
  • 一般纳税人进货的会计分录怎么做
  • 会计怎么核对出纳的日记账
  • php+mysql prepare 与普通查询的性能对比实例讲解
  • linux上mysql安装详细教程
  • windows主进程rundll32总是用麦克风
  • 破解xp系统密码
  • upd什么意思
  • winxp系统连接网络
  • win8.1 开始
  • ubuntu14.04挂载硬盘
  • centos7如何设置固定ip
  • 360se是什么文件夹
  • 怎么删除多余的word的页数
  • win7禁用驱动签名后可以正常启动吗
  • win10系统哪款好
  • XP下HTTP的403.9错误-禁止访问:连接的用户过多 重启iis可以解决
  • win10更新补丁后共享打印机无法使用
  • python爬虫入门教程非常详细
  • bash foreach
  • node.js入门
  • Node.js微信公众号开发
  • shell读取文本内容到变量
  • Python遍历文件夹中的图片
  • jQuery判断checkbox选中状态
  • androidapk网站
  • 耕地占用税林地有减免吗
  • 宝鸡二套房契税多少
  • 固定资产处置要开票交税么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设