构建Linux防火墙的概念和使用iptables(1)
防火墙通常设置了两个网络卡,一个流入和流出。iptables读取传入和传出的数据包的报头,然后比较它们与规划设置(规则),然后转发数据包从一个网络卡接受到另一个。一个被拒绝的包,可以丢弃或根据你
什么是Linux防火墙来构建Linux防火墙
防火墙通常设置了两个网络卡,一个流入和流出。iptables读取传入和传出的数据包的报头,然后比较它们与规划设置(规则),然后转发数据包从一个网络卡接受到另一个。拒绝数据包,它们可以被丢弃或处理的方式你确定他们。
通过提供的防火墙要从源到目的地或一个特定的协议类型所指示的指示,我们控制信息包的过滤。采用特殊的命令iptables的防火墙系统提供,建立和加入到特定的数据包过滤表在内核空间链是这些规则。一般的语法命令添加、删除、编辑规则如下:
iptables { T表} { } { }指挥比赛目标
U3000 U3000
事实上,为了便于阅读,我们通常使用这种语法,大多数规则都是用这种语法写的,所以如果你看到别人写的规则,你可能会发现同样的语法。
如果你不想使用标准的表格,你需要在{表}指定表的名称。在一般情况下,不需要指定要使用的表,因为iptables使用过滤表的默认执行所有的命令。这里是不需要指定表的名称,但事实上,它几乎可以指定表名在规则的地方。当然,把表的名字开头是标准。虽然命令总是在开始,或直接在桌子后面的名字,我们还必须考虑在哪里放渡。
command告诉程序做什么,如插入一个规则,或添加一个规则在链的末端,或删除规则。下面将仔细介绍。
match描绘了一个特定的包的详细特征,包装是区别于其它包。在这里,我们可以指定包的源IP地址、网络接口、端口、协议类型,或者其他什么,在这里我们会看到很多不同的比赛。
最后,该分组的目标是target。如果数据包符合所有的比赛,内核采用目标来处理,或送包的目标。例如,我们可以让内核在电流表的其他链发送包(也许我们建立它自己),或是丢弃包没有经过任何处理,或送上一份特别的答案给发件人。现在让我们来讨论这些选项之一:
表(表)
T台的{ }选项允许您使用任何表外标准表。表的信息包过滤表中的规则和链,只处理特定类型的数据包,有三个可用的表选项:过滤、NAT、轧。此选项不是必需的,如果未指定,滤波器作为一个默认的表,每个表的功能描述如下。
滤波器
过滤表用于过滤数据包,我们可以随时对数据包进行匹配,并对它们进行过滤,我们是根据包的内容来对包进行丢弃或接受的。当然,我们也可以预先做一些过滤,但是这个表是用来过滤的。几乎所有的目标都可以在这里使用。
NAT
NAT表的主要用途是网络地址转换,即网络地址转换,缩写是NAT,NAT所做的数据包的地址发生了变化,当然改变是基于我们的规则,属于一个流的包只会经过这个表一次。
如果第一个包被NAT或伪装,其余的包将自动完成相同的操作。也就是说,其余的包将不能再通过表,一个是NAT,但它是自动完成的。这就是为什么我们不应该做任何过滤本表中的主要原因。的PREROUTING链的作用是改变它的目的地址的包时,刚刚抵达的防火墙,如果需要的话。输出链的本地产生的包的目的地址的变化。
在POSTROUTING链改变其源地址在数据包离开防火墙。此表仅用于NAT,即数据包的源地址或目标地址。请注意,只有该流的第一个包将由该链匹配,随后的包将自动处理。实际操作分为以下几类:
- DnaT
-斯耐特
-假面舞会
DNAT操作主要用在这样一种情况,你有一个合法的IP地址,访问防火墙访问其他机器,如DMZ。也就是说,我们改变目的地址,数据包可以被路由到主机。
SNAT改变包装,能源地址,在很大程度上,隐藏你的本地网络或者DMZ,等,是一个很好的例子,我们知道防火墙的外部地址,但必须用这个地址替换本地网络地址。此操作,防火墙可以自动做NAT和De SNAT(反向NAT)的包装使局域网连接到互联网。
如果你使用一个地址喜欢192.168.0.0 / 24,你不会从互联网上得到任何回应。因为IANA定义这些网络(和其他人)是私有的,它只能在局域网内使用。
假面舞会的作用是完全一样的伪装,但只有一点计算机的负荷。因为每个匹配的包,化妆舞会找可用的IP地址,没有配置为SNAT用的IP地址。当然,它也有优势,我们可以使用,拨通过PPP地址、PPPoE和滑移,这是由ISP的DHCP随机分配。
芒果
本表主要用于损坏的数据包,我们可以改变不同的套餐和包头的内容,如TTL、TOS,或标记。注意,马克并不真正改变数据包,它只是设置用于在内核空间包装标签。在防火墙的其他规则或程序(如TC)可以使用此标记过滤包或高级路由。这张桌子有五建链:PREROUTING,POSTROUTING,输出,输入,和前。
PREROUTING变化包前包进入防火墙和路由之前的判断,和POSTROUTING毕竟是路由judgments.output改变包之前确定的package.input目的路由到本地后的数据包进行路由,但变化的包在用户空间程序看到它。注意,mangle表不能做任何NAT,它只改变TTL、TOS,或标记的数据包,而不是它的源destination.nat在NAT表的操作,以下是在mangle表的操作:
-服务条款
- TTL
-马克
TOS操作用来设置或改变数据包的服务类型域。这通常是用来设置策略,如数据包在网络上传送。请注意,这个操作是不完美的,有时不一定是理想的。它是不是可以在互联网上,许多路由器不注意这个域名的价值。换句话说,不设置发送到互联网的包,除非你打算依靠TOS的路线,如使用IPROUTER2软件。
TTL操作是用来改变一个包的使用寿命的,我们只需要一个特殊的TTL就可以拥有所有的数据包,这是一个很好的理由,也就是说,我们可以欺骗一些ISP,为什么要欺骗它们呢因为他们不想让我们共享一个连接。
这些ISP将发现一台独立的计算机是否使用了不同的TTL,并将其用作判断连接是否共享的标志。
商标是用来为package.iproute2设置特殊的标签可以识别这些标记和确定基于不同标记不同的路线(或无标记)。这些标签,我们可以做的带宽限制和基于请求的分类。
评论:什么是Linux防火墙来构建Linux防火墙
防火墙通常设置了两个网络卡,一个流入和流出。iptables读取传入和传出的数据包的报头,然后比较它们与规划设置(规则),然后转发数据包从一个网络卡接受到另一个。一个被拒绝的包,可以丢弃或根据你
命令(命令)
的命令,命令的必要组成部分,是iptables命令的最重要的组成部分。它告诉iptables命令要做什么,例如,插入规则,添加规则到链的末端,或删除规则。
当使用iptables,如果所需的参数没有输入,按回车,然后给出一些提示来告诉你你需要什么参数,等等。iptables选项- V是用来显示iptables的版本,和H对语法的简要说明。
匹配(匹配)
iptables命令的可选部分匹配指定的特征(如源地址和目的地址,协议等),包与规则匹配。他们可以分为五类:第一类是通用匹配(匹配),适用于所有的规则;第二类是匹配,顾名思义,它只能用于TCP封装;第三类是匹配的,当然,它只能用于UDP封装;第四是ICMP匹配ICMP包第五类;特殊,为国家、为业主和访问频率的限制。在这里,介绍了一般的匹配,一般匹配的是熟悉的,和其他人更容易理解。