《2022年IPTABLES代理服务器教程.docx》由会员分享,可在线阅读,更多相关《2022年IPTABLES代理服务器教程.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年IPTABLES代理服务器教程摘要:IPTABLES那位搞手给我具体讲讲IPTABLES好吗?在下先感谢了qiqigaogao 回复于:2022-05-09 08:34:32这有iptables的中文手册与howto的中文版qiqigaogao 回复于:2022-05-09 08:42:23netfilter/iptables简介MugdhaVairagade(vmugdha)独立开发人员2022年9月netfilter/iptables是与最新的2.4.x版本Linux内核集成的IP信息包过滤系统。假如Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该
2、系统有利于在Linux系统上更好地限制IP信息包过滤和防火墙配置。MugdhaVairagade将介绍netfilter/iptables系统、它是如何工作的、它的优点、安装和配置以及如何运用它来配置Linux系统上的防火墙以过滤IP信息包。注:至少具备LinuxOS的中级水平学问,以及配置Linux内核的阅历,将有助于对本文的理解。对于本文,我们将运用iptables用户空间工具版本1.2.6a和内核版本2.4.9。Linux平安性和netfilter/iptablesLinux因其健壮性、牢靠性、敏捷性以及好象无限范围的可定制性而在IT业界变得特别受欢迎。Linux具有很多内置的实力,使开
3、发人员可以依据自己的须要定制其工具、行为和外观,而无需昂贵的第三方工具。假如Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,所要用到的一种内置实力就是针对网络上Linux系统的防火墙配置。可以在netfilter/iptablesIP信息包过滤系统(它集成在2.4.x版本的Linux内核中)的帮助下运用这种实力。在如ipfwadm和ipchains这样的Linux信息包过滤解决方案中,netfilter/iptablesIP信息包过滤系统是最新的解决方案,而且也是第一个集成到Linux内核的解决方案。对于Linux系统管理员、网络管理员以及家庭用户(他们想要依据自己
4、特定的需求来配置防火墙、在防火墙解决方案上节约费用和对IP信息包过滤具有完全限制权)来说,netfilter/iptables系统非常志向。理解防火墙配置和信息包过滤对于连接到网络上的Linux系统来说,防火墙是必不行少的防卫机制,它只允许合法的网络流量进出系统,而禁止其它任何网络流量。为了确定网络流量是否合法,防火墙依靠它所包含的由网络或系统管理员预定义的一组规则。这些规则告知防火墙某个流量是否合法以及对于来自某个源、至某个目的地或具有某种协议类型的网络流量要做些什么。术语“配置防火墙”是指添加、修改和除去这些规则。稍后,我将具体探讨这些规则。网络流量由IP信息包(或,简称信息包)以流的形式
5、从源系统传输到目的地系统的一些小块数据组成。这些信息包有头,即在每个包前面所附带的一些数据位,它们包含有关信息包的源、目的地和协议类型的信息。防火墙依据一组规则检查这些头,以确定接受哪个信息包以及拒绝哪个信息包。我们将该过程称为信息包过滤。为什么要配置自己的防火墙?出于各种因素和缘由,须要依据特定需求来配置防火墙。或许,最重要的缘由是平安性。管理员可能想让他们的防火墙能够阻挡未经授权的源访问其Linux系统,例如通过Telnet。他们可能还想限制进出其系统的网络流量,以便只有来自可信源的流量才可以进入其系统,以及只有授权的流量才可以出去。家庭用户可能通过允许全部的出站信息包都可以通过,将防火墙
6、配置成较低的平安性级别。另一个背后的缘由是,通过堵塞来自类似广告站点之类的源的多余流量,可以节约带宽。因而,可以定制防火墙配置来满意任何特定需求和任何平安性级别需求。这就是netfilter/iptables系统的用武之处。netfilter/iptables系统是如何工作的?netfilter/iptablesIP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤确定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。我立刻会具体探讨这些规则以及如
7、何建立这些规则并将它们分组在链中。虽然netfilter/iptablesIP信息包过滤系统被称为单个实体,但它事实上由两个组件netfilter和iptables组成。netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来限制信息包过滤处理的规则集。iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得简单。除非您正在运用RedHatLinux7.1或更高版本,否则须要从netfilter.org下载该工具并安装运用它。通过运用用户空间,可以构建自己的定制规则,这些
8、规则存储在内核空间的信息包过滤表中。这些规则具有目标,它们告知内核对来自某些源、前往某些目的地或具有某些协议类型的信息包做些什么。假如某个信息包与规则匹配,那么运用目标ACCEPT允许该信息包通过。还可以运用目标DROP或REJECT来堵塞并杀死信息包。对于可对信息包执行的其它操作,还有很多其它目标。依据规则所处理的信息包的类型,可以将规则分组在链中。处理入站信息包的规则被添加到INPUT链中。处理出站信息包的规则被添加到OUTPUT链中。处理正在转发的信息包的规则被添加到FORWARD链中。这三个链是基本信息包过滤表中内置的缺省主链。另外,还有其它很多可用的链的类型(如PREROUTING和
9、POSTROUTING),以及供应用户定义的链。每个链都可以有一个策略,它定义“缺省目标”,也就是要执行的缺省操作,当信息包与链中的任何规则都不匹配时,执行此操作。建立规则并将链放在适当的位置之后,就可以起先进行真正的信息包过滤工作了。这时内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的头信息,尤其是信息包的目的地。我们将这个过程称为路由。假如信息包源自外界并前往系统,而且防火墙是打开的,那么内核将它传递到内核空间信息包过滤表的INPUT链。假如信息包源自系统内部或系统所连接的内部网上的其它源,并且此信息包要前往另一个外部系统,那么信息包被传递到OUTPUT链。类似的,源自
10、外部系统并前往外部系统的信息包被传递到FORWARD链。接下来,将信息包的头信息与它所传递到的链中的每条规则进行比较,看它是否与某条规则完全匹配。假如信息包与某条规则匹配,那么内核就对该信息包执行由该规则的目标指定的操作。但是,假如信息包与这条规则不匹配,那么它将与链中的下一条规则进行比较。最终,假如信息包与链中的任何规则都不匹配,那么内核将参考该链的策略来确定如何处理该信息包。志向的策略应当告知内核DROP该信息包。图1用图形说明白这个信息包过滤过程。图1.信息包过滤过程img:4e19254c81安装netfilter/iptables系统因为netfilter/iptables的netf
11、ilter组件是与内核2.4.x集成在一起的,所以只须要下载并安装iptables用户空间工具。需求下面是安装netfilter/iptables系统的需求:硬件:要运用netfilter/iptables,须要有一个运行LinuxOS并连接到因特网、LAN或WAN的系统。软件:带有内核2.4或更高版本的任何版本的LinuxOS。可以从http:/www.kernel.org下载最新版本的内核。还须要从filter.org下载iptables这个用户空间工具,因为这个工具不是内核的一部分。但对于RedHatLinux版本7.1或更高版本,不须要下载此工具,因为在版本7.1或更高版本中,标准安装中已经包含了此工具。用户:至少对LinuxOS有中等水平的了解,以及具备配置Linux内核的阅历。安装前的打算在起先安装iptables用户空间工具之前,须要对系统做某些修改。首先,须要运用makeconfig吩咐来配置内核的选项。在配置期间,必需通过将CONFIG_NETFILTER和CONFIG_IP_NF_IPTABLES选项设置为Y来打开它们,因为这是使netfilter/iptables工作所必需的。下面是可能要打开的其它选项:CONFI
限制150内