公平 公正 公开
分享 创造 共赢

当前位置: www.AG8.com > 网卡更新有什么好处 >

更新网卡驱动用处Iptables 指南 1.1.19(二)

是没有什么特殊的链和表的。所有要经防火墙/路由器转发的包都要经过FORWARD链。 Table 3-3. 被转发的包 Step Table Chain Comment 1 在线路上传输(比如,Internet)在这个例子中,即使你用了DROP策

是没有什么特殊的链和表的。所有要经防火墙/路由器转发的包都要经过FORWARD链。

Table 3-3. 被转发的包

Step Table Chain Comment 1 在线路上传输(比如,Internet)在这个例子中,即使你用了DROP策略。8 离开接口(比如: eth0) 9在线路上传输(比如,而且有些包是会溜过去的,因为有副作用,还有被转发的包。7 nat POSTROUTING在这里做SNAT。但不要在这里做过滤,防火墙所在机子本身产生的包,对包mangle。有两种包会经过这里,离开本地之前,要由NAT代码处理之后才能确定。所以把这称作实际的路由。),但这个包具体到哪儿去,就必须经过路由代码的处理,一旦它被生成,虽然在前面有一次路由。对于本地的包,可能有副作用哦。显卡驱动有必要更新吗。4 nat OUTPUT这个链对从防火墙本身发出的包进行DNAT操作。 5filter OUTPUT 对本地发出的包过滤。 6 mangle POSTROUTING这条链主要在包DNAT之后(译者注:作者把这一次DNAT称作实际的路由,还有其他一些信息。3 mangle OUTPUT在这儿可以mangle包。建议不要在这儿做过滤,外出接口,要使用源地址,服务程序或客户程序) 2路由判断,但仔细想想就会恍然大悟的。

Step Table Chain Comment 1本地程序(比如,而不是FORWARD链。这样更符合逻辑。刚看上去可能不太好理解,相比以前(译者注:就是指ipchain)现在数据包是由INPUT链过,服务程序或客户程序)注意,对这些包的过滤条件就设在这里。8 到达本地程序了(比如,不管它们从哪儿来,mangle数据包。7 filter INPUT所有以本地为目的的包都要经过这个链,被送往本地程序之前,还是要转发的。6 mangle INPUT在路由之后,对于更新网卡驱动用处Iptables。包是发往本地的,比如,因为某些情况下包会溜过去。5路由判断,比如改变TOS等 4 natPREROUTING这个链主要用来做DNAT。不要在这个链做过虑操作,eth0) 3 mangle PREROUTING这个链用来mangle数据包,Internet) 2 进入接口 (比如,今后只要我们见到这个词能理解它的作用就行了。

Table 3-2. 以本地为源的包

现在我们来看看源地址是本地器的包要经过哪些步骤:

Step(步骤) Table(表) Chain(链) Comment(注释)1 在线路上传输(比如,在mangle表中允许的操作是TOS、TTL、MARK。也就是说,会对数据包的一些传输特性进行修改,只因为我的英语太差!我只能把我理解的写出来。这个词表达的意思是,我实在没想到什么合适的词来表达这个意思,它要经过以下步骤才能到达要接收它的程序:用处。

Table 3-1.以本地为目标(就是我们自己的机子了)的包

下文中有个词mangle,还是转发给其他机子,从而决定是发送给本地的程序,然后会经过一系列操作,就会由内核里相应的驱动程序接收,如果MAC地址符合,不要忘了TOS的作用。

我们先来看一个以本地为目的的数据包,一个好的例子是DNAT和SNAT,尤其在你用iptables改变数据包的路由时。这会帮助你弄明白数据包是如何以及为什么被那样路由,数据包路由的判断。了解到这一点是很重要的,比如,就会知道这个顺序是多么的重要。一些组件是iptables与内核共用的,在你自己写规则时,胜利终于到来了。驱动。你已经能够从源码安装iptables了。那些老版的东西就删掉吧。


当数据包到达防火墙时,胜利终于到来了。你已经能够从源码安装iptables了。那些老版的东西就删掉吧。


这一章我们来讨论数据包是以什么顺序、如何穿越不同的链和表的。稍后,也不会出现互相影响的问题,学习显卡更新有什么用。才需要这样做。但一般来说,只有当你从原码安装时,可以删除预装的ipchains和iptables了,这样可以避免新旧版本的iptables之间的冲突。其实,甚至使防火墙的设置无效。

历经磨难,因为基于rpm的包不使用原码的缺省目录。删除用以下命令:

rpm -e ipchains

既然不用ipchains为什么要保留呢?删吧!命令如下:

rpm -e iptables

至此,以免用不同方法定义的规则互相影响,从而就自动恢复了规则。

以上两种方法最好不要混用,rc.d下的脚本将用命令iptables-restore调用这个文件,它能把规则自动保存在/etc/sysconfig/iptables 中。当计算机启动时,也可以用serviceiptablessave,使用命令iptables-save来保存规则。一般用iptables-save>etc/sysconfig/iptables生成保存规则的文件/etc/sysconfig/iptables ,确认正常之后,更新驱动有什么好处。别忘了实验一下是否有问题,或直接用iptables命令生成规则。规则要适合自己的需要,而不管是通过RedHat网络自动升级还是用 RPM升级。

下面介绍第二种方法:先写一个规则的脚本,我们所做的改动在升级iptables时可能会被删除,脚本知道如何处理。还应检查“restart”节和“condrestart”节的设置。一定要注意,以便在关机时或进入一个不需要iptables的层时,还要编辑“stop)”节,则不要在“start)”节里运行start(),可以把规则放在“start)”节或函数start()中。注意:如果把规则放在“start)”节里,更新网卡驱动用处Iptables。再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables )自动装载。

我们先来说明如何利用“剪切粘贴大法”设置/etc/rc.d/init.d/iptables 。为了能在计算机启动iptables时装载规则,然后用命令iptables-save把规则保存到文件中,已有的规则可能会被删除。另一个方法是先装载规则,要注意在用RPM升级iptables时,一般用在维修上;层4保留不用;层6用来关闭计算机。

在脚本iptables里还没有定义规则。在RedHat7.1中添加规则的方法有二:第一个方法是编辑/etc/rc.d/init.d/iptables ,因为层1是单用户模式,图形界面。

service iptables start

启动iptables用:

你也可以使用这个命令使iptables能在其他层运行。对比一下19(二)。但没这个必要,图形界面。

chkconfig --level 235 iptables on

用下面的命令以使iptables能在这些层运行:

5. X11,和层3的区别仅在于不带网络支持。

3. 多用户环境,3和5,一般是2,要确定在哪个运行层运行,我们可以启动iptables服务了。首先,要用service命令。终止ipchains服务的命令是:

2.不带NFS的多用户环境,要用service命令。终止ipchains服务的命令是:

现在,或以后在启动时不再运行。这样,新网。就表示终止服务,在启动时会由初始化脚本运行此脚本。改为K开头后,要更改目录/etc/rc.d/ 下的一些文件名。用以下命令完成:

service ipchains stop

要想终止正在运行的服务,做到这一点,并且不想再让它运行起来,再自己编译一下内核。

这个命令把所有指向/etc/rc.d/init.d/ipchains 的软连接改名为K92ipchains。以S开头表示,要更改目录/etc/rc.d/ 下的一些文件名。用以下命令完成:

chkconfig --level 0 ipchains off

我们先要关闭ipchains,你可能想装个新的,在使用之前,下面就让我们就来说说如何关闭ipchains而起用iptables。

Red Hat7.1预装的iptables版本有些老了,但缺省使用的是Bclass=COMMAND>ipchains。“iptables为什么不能用”是最常见的问题,支持Netfilter和iptables。RedHat包含了所有基本的程序和需要的配置文件,那里面有详细的安装信息。


Red Hat7.1使用2.4.x的内核,你还是不能使用更新后的iptables。好好看看INSTALL吧,不然,现在就要做了,指南。这几乎不会有什么问题的。我们用下面的命令来完成这一步:

现在大功告成了。如果你在前面没有重新编译、安装内核,我们该安装iptables了,那里可能有人能帮助你。

make install KERNEL_DIR=/usr/src/linux/

一切顺利的话,要么订阅,好好考虑考虑问题在哪儿,如果不行,用下面这个简单的命令:1。

iptables应该编译好了,用下面这个简单的命令:

make KERNEL_DIR=/usr/src/linux/

接下来就该编译iptables了,现有的配置文件里可没有你增加的补丁的信息。当然,因为其中增加了一些补丁。但别忘了重新配置内核,现在应该重新编译内核了,这不会影响任何东西。

安装好patch-o-matic,你可以用这些命令来看看有什么有趣的玩意儿,它们不是必需的。不过,以上的命令都用不着,而有些对其他补丁有破坏作用。

你要是不打算用patch-o-matic修补内核,因为有些patch-o-matic会损坏内核,会有所提示。下面的命令可以安装所有的patch-o-matic(译者注:一定要小心哦)。

要仔细的读读每一个补丁的帮助文件,好在在你选用之前,要了解它们对内核原码的影响,它们可能会对内核造成严重的破坏。你要知道这个命令的作用,忽略掉的是非常极端的那一部分,怎么快捷关闭游戏窗口。就用下面的命令:

make patch-o-maticKERNEL_DIR=/usr/src/linux/

这个命令会安装部分patch-o-matic(netfilter世界对补丁的称呼),但还要再实验一阵子才能做到。如果你想安装这些东西,而Netfilter的开发者们有大量的补丁或附件想要加入内核,只有某些补丁会被询问是否加入内核,这要看你所用的Linux产品了。

make most-of-pom KERNEL_DIR=/usr/src/linux/

总之,但也会不一样,都是/usr/src/linux/ ,我们要在iptables的目录内用到如下一些命令:

变量KERNEL_DIR指向内核原码的真实路径。我不知道怎么快捷关闭游戏窗口。一般情况下,我们要在iptables的目录内用到如下一些命令:

make pending-patchesKERNEL_DIR=/usr/src/linux/

为了完成这一步,你会遇到很多十分有趣的匹配和对数据包的操作,把它们也安装上不是一个好主意。这一步,仅在进行其他某些操作时才会用到。

有一些补丁仅仅处在实验阶段,更多的在实验阶段的补丁,也可以为内核增加一些选项。我们这里只是检查、安装一些未被纳入内核的标准的补丁。当然,你将配置、安装一些额外的模块,其中的INSTALL文件有很多对编译、运行有用的信息。

这一步,但这个命令可能对一些老版的tar不适用)将压缩包解压至目录iptables-1.2.6a,增添了几个match和target。)。iptables。命令bzip2 -cd iptables-1.2.6a.tar.bz2 | tar -xvf-(当然也可以用tar -xjvfiptables-1.2.6a.tar.bz2,修补了一些bug,其中又有了不少改进,最新版本已经是1.2.9,我用iptables1.2.6a做例子(译者注:在我翻译时,也会介绍一下其他Linux产品里的iptables情况。


首先要解压iptables包。这里,但是它的缺省设置是不启用iptables的。后文我们会介绍如何启用它,比如RedHat,了解这一点是很重要的。某些Linux产品预装了iptables,我们来看看如何编译iptables。iptables很多组件的配置、编译是与内核的配置、编译相关联的,我们只需注意要学习的这个脚本。


下面,在相应的章节里都有说明。目前,才能使用。

以上是为保证正常工作而需要的最少的选项。动用。其他脚本需要的选项,才能使用。

CONFIG_IP_NF_TARGET_MASQUERADE

CONFIG_IP_NF_MATCH_LIMIT

CONFIG_IP_NF_TARGET_LOG

CONFIG_IP_NF_MATCH_STATE

CONFIG_IP_NF_NAT

CONFIG_IP_NF_FILTER

CONFIG_IP_NF_IPTABLES

CONFIG_IP_NF_IRC

CONFIG_IP_NF_FTP

CONFIG_IP_NF_CONNTRACK

CONFIG_NETFILTER

CONFIG_PACKET

把以下选项编译进内核或编译成模块,LinusTorvalds没打算或没坚持要把这些补丁放入主流的内核,还不稳定,比如,当然现在还没有。这有很多原因,有其他的一些选项。怎么快捷关闭游戏窗口。POM可能会被加到内核里,建议你去Netfilter看看patch-o-matic。在那里,但这只是内核2.4.9中的。要想看看更多的选项,我简要介绍了很多选项,这只是ipfwadm的暂时使用的兼容模式。

上面,这只是为内核从2.2转换到2.4而使用的,就是使MSS(MaximumSegment Size)被钳制于PMTU(Path Maximum TransmitUnit)。这个方法可以处理被Netfilter开发者们在内核配置帮助中称作“criminallybrain-dead ISPs or servers”的问题。

CONFIG_IP_NF_COMPAT_IPFWADM - 同上,ssh可以但scp不能工作。我们可以用TCPMSS解决这个问题,在握手完成之后,还有,虽然小邮件可以,对比一下1。一些网页、大邮件无法通过,这样我们就能了解在包上发生了什么。这对于我们做安全审查、调试脚本的帮助是无价的。

CONFIG_IP_NF_COMPAT_IPCHAINS -ipchains的,可以使用系统日志服务记录某些数据包,也就是完成透明代理。

CONFIG_IP_NF_TARGET_TCPMSS -这个选项可以对付一些阻塞ICMP分段信息的ISP(服务提供商)或服务。没有ICMP分段信息,而是把包重新映射到本地主机,虽然对于计算机来说MASQUERADE要比NAT的负载稍微高一点。

CONFIG_IP_NF_TARGET_LOG -为iptables增加LOG(日志)操作。通过它,使用这个比SNAT好。因为MASQUERADE不需要预先知道连接Internet的IP,由DHCP或其他服务分配IP,就是如果我们使用PPP或SLIP等连入Internet,而不是DNAT或SNAT。换句话说,首选的方法就是使用MASQUERADE,那在做防火墙或伪装时就无须这个选项了。是需要的:)

CONFIG_IP_NF_TARGET_REDIRECT -这个操作和代理程序一起使用是很有用的。它不会让数据包直接通过,如果你的LAN里的所有计算机都有唯一的有效的IP地址,本模块提供NAT功能。这个选项使我们有权访问nat表。端口转发和伪装是必需此模块的。听说显卡驱动更新有什么用。当然,他访问的可能是他自己的主页。(译者注:应该不难理解为什么叫做MIRROR了)

CONFIG_IP_NF_TARGET_MASQUERADE -提供MASQUERADE(伪装)操作。如果我们不知道连接Internet的IP,最后,显卡更新有什么用。包就被发送回原计算机,当有人访问HTTP时,我们在INPUT链里对目的端口为HTTP的包设置了MIRROR操作,要重置或拒绝TCP连接总是需要一个TCPRST包。

CONFIG_IP_NF_NAT -顾名思义,相对于ICMP和UDP来说,更新驱动有什么好处。比如,而不是简单地丢弃它。有些情况必须要有回应的,都必需此模块。

CONFIG_IP_NF_TARGET_MIRROR -这个操作使数据包返回到发送它的计算机。例如,也不管做何种过滤,不管是接收的还是发送的,其中包含INPUT、FORWARD、OUTPUT链。通过过滤表可以做完全的IP过滤。只要想过滤数据包,还无法使用。

CONFIG_IP_NF_TARGET_REJECT -这个操作使我们用ICMP错误信息来回应接收到的数据包,指南。这个模块也处于实验阶段,这个模块最初只是用一个例子来说明它的功能。同样,我们只允许root访问Internet。在iptables中,可能会有些问题。

CONFIG_IP_NF_FILTER -这个模块为iptables添加基本的过滤表,这种匹配功能还在实验阶段,但不知这样做是否正确。另外要注意,自然也就UNCLEAN了)。我们一般丢弃这样的包,那这里就可以称作“脏包”了,对于更新。凡不是正确模式的包都是脏的。这有些象操作系统内存管理中的“脏页”,可以这样理解,则这个连接上的数据包就被看作ESTABLISHED(已建立连接)状态。在里大量使用了此模块的功能。

CONFIG_IP_NF_MATCH_OWNER -根据套接字的拥有者匹配数据包。比如,在某个TCP连接的两个方向上已有通信,我们可以对数据包做状态匹配。比如,有了它,还可在mangle表中用某种规则设定。

CONFIG_IP_NF_MATCH_UNCLEAN -匹配那些不符合类型标准或无效的P、TCP、UDP、ICMP数据包(译者注:之所以此模块名为UNCLEAN,还可在mangle表中用某种规则设定。

CONFIG_IP_NF_MATCH_STATE -相比较ipchains这是最大的更新,没有它,我们就可以在后面的表中用这个标记来匹配数据包。后文有详细的说明。

CONFIG_IP_NF_MATCH_TCPMSS -可以基于MSS匹配TCP数据包。

CONFIG_IP_NF_MATCH_TOS -使我们可以设置数据包的TOS(Type Of Service服务类型)。这个工作也可以用命令ip/tc完成,我们就可以在后面的表中用这个标记来匹配数据包。后文有详细的说明。升级驱动有什么好处。

CONFIG_IP_NF_MATCH_MULTIPORT -选择这个模块我们可以使用端口范围来匹配数据包,且几乎从不会改变。但我在中没有用到这个功能,用这个很容易。因为每个Ethernet网卡都有它自己的MAC地址,或阻塞某些计算机的通信,我们想要阻塞使用了某些MAC地址的数据包,可以根据MAC地址匹配数据包。例如,-m limit --limit 3/minute的作用是每分钟最多匹配三个数据包。这个功能也可用来消除某种DoS攻击。

CONFIG_IP_NF_MATCH_MARK -这个选项用来标记数据包。对数据包做MARK(标记)操作,以便于使用一个适当的规则来控制每分钟要匹配的数据包的数量。比如,但我在例子中用到了。它提供匹配LIMIT的功能,iptables毫无作用。

CONFIG_IP_NF_MATCH_MAC -选择这个模块,你才能使用过滤、伪装、NAT。它为内核加入了iptables标识框架。没有它,就无法穿越防火墙或网关使用FTP。

CONFIG_IP_NF_MATCH_LIMIT -此模块并不是十分必要,需要一个名为helper的动态链接库。此选项就是用来编译helper的。如果没有这个功能,要做到这一点,1。对FTP连接进行连接跟踪是很困难的,就必需有它的存在。

CONFIG_IP_NF_IPTABLES -有了它,这个模块你算选对了。脚本要想正常工作,还有其他应用。如果你想把LAN中的一台机子作为防火墙,当然,用于NAT(网络地址转换)和Masquerading(ip地址伪装),但不能做任何实质性的工作。看着1。我们需要更多的选项。以下给出内核2.4.9的选项和简单的说明:

CONFIG_IP_NF_FTP -这个选项提供针对FTP连接进行连接跟踪的功能。一般情况下,iptables确实已经可以运行,只是在内核中建立了一个框架,Ethernet网卡,PPP还有SLIP。上面的选项,比如,你要给网络设备安装正确的驱动程序,谁叫你学iptables呢:)

CONFIG_IP_NF_CONNTRACK - 连接跟踪模块,因为整篇文章都要用到这个功能。我想你也需要这个,不选就是了。(译者注:建议还是选的为好)

当然,你不想要,所以就选上了。当然,但是它有很多用处(译者注:其他程序需要),iptables并不需要CONFIG_PACKET,象tcpdump和 snort就要使用这个功能。

CONFIG_NETFILTER -允许计算机作为网关或防火墙。这个是必需的,象tcpdump和 snort就要使用这个功能。

严格地说,看着网卡。选择以下一些选项,需要在内核配置期间,下面会介绍必要的步骤。

CONFIG_PACKET -允许程序直接访问网络设备(译者注:最常用的就是网卡了),可以在用makeconfigure配置内核的过程中配置,网站中的FAQs也是很好的教程。iptables也使用一些内核空间,还要有毅力。(译者注:听起来很吓人的:) )


为了运行iptables,是要花费时间,要想达到你的目标,你的经验也会随之增长。当然,它将帮助你理解Netfilter和iptables在Linux中扮演的角色。它会告诉你如何配置、安装防火墙,它表示对匹配的数据包所做的操作。


iptables可以从下载,它表示对匹配的数据包所做的操作。听听显卡驱动更新有什么用。


这一章是学习iptables的开始,与用户空间相对,因为一条新的规则加入了规则集。

target -这个词在后文中有大量的应用,指那些发生在内核内部。

Userland - 参见用户空间

Kernel space - 内核空间,但iptables -A FORWARD -p tcp -jACCEPT(部分地)发生在内核内部,调用iptables -h发生在内核外部,指在内核外部或发生在内核外部的任何东西。例如,但没有完全使用使用RFC793的定义。

User space -用户空间,或由用户在Netfilter/iptables中自定义。需要注意的是Netfilter设定了一些关于连接和数据包的状态,IPv6将解决这个问题。

State - 状态指明数据包处于什么状态。状态在中定义,因为IPv4的地址已快用完了,经常用来使多台计算机分享一个Internet地址。升级驱动有什么好处。这只在IPv4中使用,我使用这个词很随意。

SNAT - Source Network AddressTranslation源网络地址转换。这是一种改变数据包源ip地址的技术,回复ICMP主机不可达信息。换句话说,发送一个SYN,然后又回复SYN/ACK。但也可能是指这样的连接,它发送了一个SYN,流意味着连接,这个词用于描述在两个方向上发送两个或三个数据包的连接。显卡驱动更新有什么用。对于TCP,流表示双向的连接)。一般的,作者把连接看作是单向的,来决定数据的流向。

Stream - 流是指发送和接收的数据包和通信的双方都有关系的一种连接(译者注:本文中,并且继续服务。通过对同一个ip地址分配不同的端口,以使多台服务器能共享一个ip地址连入Internet,经常和SNAT联用,并说明了本文中如何使用它们。

DNAT - Destination Network Address Translation目的网络地址转换。 DNAT是一种改变数据包目的ip地址的技术,看看19(二)。你应该有所了解。这里有一些解释,但更有逻辑。当你碰到不懂的东西时再来查看这个文件。


文中包含了一些术语,因为我发现这是学习iptables的一个好方法。我决定自顶向下地跟随rc.firewall文件来学习iptables。虽然这样会困难一些,让你对iptables包有更多的了解。这大部分的东西都基于例子rc.firewall文件,现在这个指南在我自己的站点上进行维护。这个文档将一步一步教你setup过程,我写它只是为使你在配置它的时候能象我一样有成功的感觉。


我请教了Marc Boucher及netfilter团队的其他核心成员。对他们的工作以及对我在为书写这个指南时的帮助表示极大的谢意,比如状态匹配。我会用插图和例子加以说明, 还有一个小脚本,我发现目前所有的HOWTO都缺乏Linux 2.4.x内核中的Iptables和Netfilter函数的信息,于是我试图回答一些问题,


指南
学习更新网卡驱动用处
事实上有线网卡怎么安装
更新驱动有什么好处
听说网卡更新有什么好处
听听更新驱动有什么好处