Linuxiptables防火墙设置与NAT服务配置.doc

上传人:jian****018 文档编号:8379811 上传时间:2020-03-28 格式:DOC 页数:11 大小:145KB
返回 下载 相关 举报
Linuxiptables防火墙设置与NAT服务配置.doc_第1页
第1页 / 共11页
Linuxiptables防火墙设置与NAT服务配置.doc_第2页
第2页 / 共11页
Linuxiptables防火墙设置与NAT服务配置.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
Linux iptables防火墙设置与NAT服务配置-摘要: linux教程,NAT服务器,iptables防火墙设置与NAT服务配置, 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。一.防火墙的概述(一).防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。通过使用防火墙可以实现以下功能:可以保护易受攻击的服务;控制内外网之间网络系统的访问;集中管理内网的安全性,降低管理成本;提高网络的保密性和私有性;记录网络的使用状态,为安全规划和网络维护提供依据。(二).防火墙的分类防火墙技术根据防范的方式和侧重点的不同而分为很多种类型,但总体来讲可分为包过滤防火墙和代理服务器两种类型。(三).防火墙的工作原理1包过滤防火墙工作原理 数据包从外网传送到防火墙后,防火墙抢在IP层向TCP层传送前,将数据包转发给包检查模块进行处理。 首先与第一个过滤规则比较。 如果与第一个模块相同,则对它进行审核,判断是否转发该数据包,这时审核结果是转发数据包,则将数据包发送到TCP层进行处理,否则就将它丢弃。 如果与第一个过滤规则不同,则接着与第二个规则相比较,如果相同则对它进行审核,过程与相同。 如果与第二个过滤规则不同,则继续与下一个过滤规则比较,直到与所有过滤规则比较完成。要是所有过滤规则都不满足,就将数据包丢弃。2代理服务型防火墙工作原理代理服务型防火墙是在应用层上实现防火墙功能的。它能提供部分与传输有关的状态,能完全提供与应用相关的状态和部分传输的信息,它还能处理和管理信息。它的具体工作原理参见11.1.2节。二.iptables简介netfilter/iptables(下文简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换NAT等功能。 Iptables/netfilter包过滤防火墙其实是由两个组件构成的,一个是netfilter,一个是iptables。 三.iptables基础(一).规则(rules)规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。 (二).链(chains)链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。 摘要: (三).表(tables) 表(tables)提供特定的功能,iptables内置了3个表,即filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。(三).表(tables)表(tables)提供特定的功能,iptables内置了3个表,即filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。 1filter表2nat表3mangle表(四).iptables传输数据包的过程 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 如果数据包是要转发出去的,且内核允许转发,数据包就会如图10-4所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。 四.关闭系统防火墙(一).iptables命令格式执行“setup”命令启动文字模式配置实用程序,在“选择一种工具”中选择“防火墙配置”,然后选择“运行工具”按钮 。出现防火墙的配置界面,将“安全级别”设为“禁用”,然后选择“确定”即可。 iptables的命令格式较为复杂,一般的格式如下:iptables -t表 -命令 匹配 操作1表选项表选项用于指定命令应用于哪个iptables内置表,iptables内置包括filter表、nat表和mangle表。 2命令选项3匹配选项4动作选项(二).iptables的使用1定义默认策略当数据包不符合链中任一条规则时,iptables将根据该链预先定义的默认策略来处理数据包,默认策略的定义格式如下。iptables -t表名 参数说明如下。-t表名:指默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。:定义默认策略。:指默认策略将应用于哪个链,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING。:处理数据包的动作,可以使用ACCEPT(接受数据包)和DROP(丢弃数据包)。2查看iptables规则查看iptables规则的命令格式为:iptables -t表名 链名参数说明如下。-t表名:指查看哪个表的规则列表,表名用可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认查看filter表的规则列表。:查看指定表和指定链的规则列表。链名:指查看指定表中哪个链的规则列表,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING,如果不指明哪个链,则将查看某个表中所有链的规则列表。3增加、插入、删除和替换规则相关规则定义的格式为:iptables -t表名 链名 规则编号 -i | o 网卡名称 -p 协议类型 -s 源IP地址 | 源子网 -sport 源端口号 -d目标IP地址 | 目标子网 -dport目标端口号 摘要: 参数说明如下。 -t表名:定义默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。 -A:新增加一参数说明如下。-t表名:定义默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。-A:新增加一条规则,该规则将会增加到规则列表的最后一行,该参数不能使用规则编号。-I:插入一条规则,原本该位置上的规则将会往后顺序移动,如果没有指定规则编号,则在第一条规则前插入。-D:从规则列表中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。-R:替换某条规则,规则被替换并不会改变顺序,必须要指定替换的规则编号。:指定查看指定表中哪个链的规则列表,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING。规则编号:规则编号用于插入、删除和替换规则时用,编号是按照规则列表的顺序排列,规则列表中第一条规则的编号为1。-i | o 网卡名称:i是指定数据包从哪块网卡进入,o是指定数据包从哪块网卡输出。网卡名称可以使用ppp0、eth0和eth1等。-p 协议类型:可以指定规则应用的协议,包含TCP、UDP和ICMP等。-s 源IP地址 | 源子网:源主机的IP地址或子网地址。-sport 源端口号:数据包的IP的源端口号。-d目标IP地址 | 目标子网:目标主机的IP地址或子网地址。-dport目标端口号:数据包的IP的目标端口号。 :处理数据包的动作,各个动作的详细说明可以参考表10-3。 4清除规则和计数器在新建规则时,往往需要清除原有的、旧的规则,以免它们影响新设定的规则。如果规则比较多,一条条删除就会十分麻烦,这时可以使用iptables提供的清除规则参数达到快速删除所有的规则的目的。定义参数的格式为:iptables -t表名 参数说明如下。-t表名:指定默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。-F:删除指定表中所有规则。-Z:将指定表中的数据包计数器和流量计数器归零。五.NAT服务(一).什么是私有地址私有地址(Private address)属于非注册地址,是专门为组织机构内部使用而划定的。使用私有IP地址是无法直接连接到Internet的,但是能够用在公司内部的Intranet的IP地址上 。(二).什么是NATNAT是将一个地址域(如专用Intranet)映射到另一个地址域(如Internet)的标准方法。它是一个根据RFC 1631开发的IETF标准,允许一个IP地址域以一个公有IP地址出现在Internet上。NAT可以将内部网络中的所有节点的地址转换成一个IP地址,反之亦然。它也可以应用到防火墙技术里,把个别IP地址隐藏起来不被外部发现,使外部无法直接访问内部网络设备。 (三).NAT的工作原理1静态网络地址转换 在NAT服务器上建立静态NAT映射表。 当内部主机(IP地址为192.168.16.10)需要建立一条到Internet的会话连接时,首先将请求发送到NAT服务器上。NAT服务器接收到请求后,会根据接收到的请求数据包检查NAT映射表。 如果已为该地址配置了静态地址转换,NAT服务器就使用相对应的内部公有IP地址,并转发数据包,否则NAT服务器不对地址进行转换,直接将数据包丢弃。NAT服务器使用202.96.128.2来替换内部私有IP(192.168.16.10)的过程如图10.13所示。 Internet上的主机接收到数据包后进行应答(这时主机接收到202.96.128.2的请求)。 当NAT服务器接收到来自Internet上的主机的数据包后,检查NAT映射表。如果NAT映射表存在匹配的映射项,则使用内部私有IP替换数据包的目的IP地址,并将数据包转发给内部主机。如果不存在匹配映射项则将数据包丢弃。摘要: 2动态网络地址转换 当内部主机(IP地址为192.168.16.10)需要建立一条到Internet的会话连接时,首先将请求发送到NAT服务器上。NAT服务器接收到请求后,2动态网络地址转换 当内部主机(IP地址为192.168.16.10)需要建立一条到Internet的会话连接时,首先将请求发送到NAT服务器上。NAT服务器接收到请求后,根据接收到的请求数据包检查NAT映射表。 如果还没有为该内部主机建立地址转换映射项,NAT服务器就会决定对该地址进行转换(建立192.168.16.10:2320202.96.128.2:2320的映射项,并记录会话状态)。如果已经存在该映射项,则NAT服务器使用该记录进行地址转换,并记录会话状态。然后NAT服务器利用转换后的地址发送数据包到Internet主机上。 Internet主机接收到信息后,进行应答,并将应答信息回传给NAT服务器。 当NAT服务器接收到应答信息后,检查NAT映射表。如果NAT映射表存在匹配的映射项,则使用内部公有IP替换数据包的目的IP地址,并将数据包转发给内部主机。如果不存在匹配映射项则将数据包丢弃。 3网络地址端口转换 当内部主机(IP地址为192.168.16.10,使用端口1235)需要与Internet上的某主机(IP地址为202.18.4.6,端口为2350)建立连接时,首先将请求发送到NAPT服务器上。NAPT服务器接收到请求后,会根据接收到的请求数据包检查NAPT映射表。如果还没有为该内部主机建立地址转换映射项,NAPT服务器就会为这个传输创建一个Session,并且给这个Session分配一个端口3200,然后改变这个数据包的源端口为3200。所以原来的192.168.16.10:1235202.18.4.6:2350数据包经过转换后变为了202.96.128.2:3200202.18.4.6:2350。 Internet主机接收到信息后进行应答,并将应答信息回传给NAPT服务器。 当NAPT服务器接收到应答信息后,检查NAPT映射表。如果NAPT映射表存在匹配的映射项,则使用内部公有IP替换数据包的目的IP地址,并将数据包转发给内部主机。如果不存在匹配映射项则将数据包丢弃。 六.使用iptables实现NAT服务(一).配置网络环境(1)配置网卡eth0DEVICE=eth0 #网卡的设备别名BOOTPROTO=static #网卡的IP地址是静态指定BROADCAST=192.168.16.255 #网卡的网络地址HWADDR=00:0C:29:FD:D3:29 #网卡的MAC地址IPADDR=192.168.16.1 #网卡的IP地址NETMASK=255.255.255.0 #网卡的子网掩码NETWORK=192.168.16.0 #网卡的网络地址ONBOOT=yes #系统启动时激活该网卡TYPE=Ethernet #网卡的类型是以太网(2)配置网卡eth1DEVICE=eth1 #网卡的设备别名BOOTPROTO=static #网卡的IP地址是静态指定BROADCAST=172.16.1.255 #网卡的网络地址HWADDR=00:0C:29:FD:D3:33 #网卡的MAC地址IPADDR=172.16.1.1 #网卡的IP地址NETMASK=255.255.255.0 #网卡的子网掩码NETWORK=172.16.1.0 #网卡的网络地址ONBOOT=yes #系统启动时激活该网卡TYPE=Ethernet #网卡的类型是以太网(3)为系统指定DNS服务器nameserver 61.144.56.101nameserver 202.96.128.68(4)使网络配置生效重启Linux或运行命令“/etc/init.d/network restart”使以上配置生效 。(二).建立ADSL连接1rp-pppoe的安装默认情况下Red Hat Enterprise Linux安装程序会将rp-pppoe软件安装在系统上,可使用下面的命令检查系统是否已经安装了rp-pppoe软件或查看已经安装了何种版本。rpm -q rp-pppoe如果系统还未安装rp-pppoe软件,可将Red Hat Enterprise Linux 5第1张安装盘放入光驱,加载光驱后在光盘的Server目录下找到rp-pppoe软件的RPM安装包文件rp-pppoe-3.5-32.1.i386.rpm,使用下面的命令安装rp-pppoe软件。-摘要: rpm -ivh /mnt/Server/rp-pppoe-3.5-32.1.i386.rpm 2设置ADSL连接参数 (三).rp-pppoe的控制脚本 1ADSL拨号 adsl-start 2查看当前连接的状态如果要查看当前ADSL连接的状态rpm -ivh /mnt/Server/rp-pppoe-3.5-32.1.i386.rpm2设置ADSL连接参数(三).rp-pppoe的控制脚本1ADSL拨号adsl-start 2查看当前连接的状态如果要查看当前ADSL连接的状态,执行命令“adsl-status”即可。3断开连接如果要断开ADSL连接,执行命令“adsl-stop”即可。(四).使用iptables实现NAT使用iptables实现NAT的具体步骤如下。 打开内核的路由功能。要实现NAT功能,首先要将文件/proc/sys/net/ipv4/ip_forward设置为1(默认是0),才能打开内核的路由功能。具体的命令如下。echo 1/proc/sys/net/ipv4/ip_forward 实现IP伪装。在nat表中的POSTROUTING链加入一条规则,这条规则的内容是所有由ppp0接口送出的包会被伪装(MASQUERADE),这样就能使用iptables实现NAT命令了。具体的命令如下。iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE(五).NAT客户端的配置1Linux中NAT客户端的配置(1)设置默认网关的IP地址编辑文件/etc/sysconfig/network,然后使用GATEWAY选项来指定默认网关的IP地址。 设置DNS服务器的IP地址在Linux中配置DNS客户端的方法很简单,可直接编辑文件/etc/resolv.conf,然后使用nameserver选项来指定DNS服务器的IP地址 。2Windows 2000XP2003中NAT客户端的配置(六).启动时自动拨号和配置NAT服务器为了能让Linux服务器在启动后自动拨号和配置NAT服务器,可添加以下命令到/etc/rc.d/rc.local文件的末尾(后面介绍iptables的技巧实例,也可以添加到这个文件中)。/sbin/adsl-startecho 1/proc/sys/net/ipv4/ip_forward/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE七.iptables技巧实例(一).禁止客户机访问不健康网站【例1】添加iptables规则禁止用户访问域名为www.playboy.com的网站,然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -d www.playboy.com -j DROPiptables -t filter -L FORWARD 【例2】添加iptables规则禁止用户访问IP地址为202.17.61.4的网站,然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -d 202.17.61.4 -j DROPiptables -t filter -L FORWARD (二).禁止某些客户机上网【例1】添加iptables规则禁止IP地址为192.168.1.200的客户机上网,然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -s 192.168.1.200 -j DROPiptables -t filter -L FORWARD【例2】添加iptables规则禁止192.168.2.0子网里所有的客户机上网,然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -s 192.168.2.0/24 -j DROPiptables -t filter -L FORWARD(三).禁止客户机访问某些服务【例1】禁止192.168.1.0子网里所有的客户机使用FTP协议下载(即封闭TCP协议的21端口),然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -s 192.168.1.0/24 -p tcp -dport 21 -j DROPiptables -t filter -L FORWARD 【例2】禁止192.168.1.0子网里所有的客户机使用Telnet协议连接远程计算机(即封闭TCP协议的23端口),然后查看filter表的FORWARD链规则列表。iptables -I FORWARD -s 192.168.1.0/24 -p tcp -dport 23 -j DROPiptables -t filter -L FORWARD(四).强制访问指定的站点【例】强制所有的客户机访问210.21.118.68这台Web服务器,然后查看nat表的PREROUTING链规则列表。iptables -t nat -I PREROUTING -i eth0 -p tcp -dport 80 -j DNAT -to 210.21.118.68:80iptables -t nat -L PREROUTING(五).禁止客户机使用QQiptables -I FORWARD -p tcp -dport 8000 -j DROPiptables -I FORWARD -p udp -dport 8000 -j DROPiptables -I FORWARD -d tcpconn.tencent.com -j DROP 摘要: iptables -I FORWARD -d tcpconn2.tencent.com -j DROP iptables -I FORWARD -d tcpconn3.tencent.com -j DROP iptables -I FORWARD -d tcpconn4.tencent.com -j DROP iptables -I FORWARD -d http.tencent.com -j Diptables -I FORWARD -d tcpconn2.tencent.com -j DROPiptables -I FORWARD -d tcpconn3.tencent.com -j DROPiptables -I FORWARD -d tcpconn4.tencent.com -j DROPiptables -I FORWARD -d http.tencent.com -j DROPiptables -I FORWARD -d http2.tencent.com -j DROP(六).禁止使用ICMP协议【例】禁止Internet上的计算机通过ICMP协议ping到NAT服务器的ppp0接口,但允许内网的客户机通过ICMP协议ping的计算机,然后查看filter表的INPUT链规则列表。iptables -I INPUT -i ppp0 -p icmp -j DROPiptables -t filter -L INPUT(七).发布内部网络服务器【例】禁止Internet上的计算机通过ICMP协议ping到NAT服务器的ppp0接口,但允许内网的客户机通过ICMP协议ping的计算机,然后查看filter表的INPUT链规则列表。iptables -I INPUT -i ppp0 -p icmp -j DROPiptables -t filter -L INPUT(八).智能DNS服务【例】将所有从eth0接口进入的DNS请求都发送到IP地址为61.144.56.101这台服务器解析,然后查看nat表的PREROUTING链规则列表。iptables -t nat -I PREROUTING -i eth0 -p udp -dport 53 -j DNAT -to-destination 61.144.56.101:53iptables -t nat -I PREROUTING -i eth0 -p tcp -dport 53 -j DNAT -to-destination 61.144.56.101:53iptables -t nat -L PREROUTING转载版权归 http:/www.isstudy.com/所有-
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!