您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > Iptabes设置实验报告
一.实验描述【实验背景】IP-Table是与最新的2.6.x版本Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN的服务器,或连接到LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置。netfilter/IP-TableIP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。【实验目的】根据实验要求配置IP-Table,掌握IP-Table规则的编写。【实验环境】虚拟机使用信息:VirtualBox与VmwareLinux版本信息:Ubuntu12.04.2(Final)Linux内核版本:3.8.0二.实验准备在进行IP-Table设置前需要搭建实验环境,实验所需的环境配置如下图所示:【基于实验指导书Lab-6】其中,1号机、3号机是内网计算机,2号机为网关,最右边蓝色区域为外网。实验环境搭建成功之后,需要完成下面的实验步骤:【PartA】1、在2号机上用NAT表的POSTROUTING链配置NAT1)伪装(MASQUERADE)包使内网的IP地址从外网隐藏2)从1号机和3号机,只允许通过SSH连接到外网2、此步骤的NAT配置在整个实验过程中持续有效【PartB】为来自或者到达2号机(网关)的包编写规则,到达以下目的:1、允许来自或者到达2号机的SSH连接2、允许来自或者到达2号机的ping连接3、阻断来自或者到达2号机的其他所有通信4、提示:PartB需要INPUT和OUTPUT链,但不需要FORWARD链【PartC】1、清除PartB中filter表设置的规则2、仅允许1号机(不允许3号机)向外网中的主机发起SSH通信3、阻断其他所有通信4、提示:PartC需要FORWARD,INPUT和OUTPUT链三.IP-Table规则分析【IP-Table规则】——基于网络百科知识(摘要)功效:IP-Table规则指定所检查包的特征和目标。如果包不匹配某条规则,将送往该链中下一条规则检查。1)目标值(TARGETS)目标值可以是用户定义的链名,也可以是某个专用值,如:ACCEPT(通过)、DROP(删除)、QUEUE(排队)或者RETURN(返回)。ACCEPT:表示让这个包通过;DROP:表示将这个包丢弃;QUEUE:表示把这个包传递到用户空间;RETURN:表示停止这条链的匹配,到前一个链的规则重新开始。如果到达了一个内建的链的末端,或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。2)表(TABLES)-ttable:指定命令要操作的匹配包的表。在IP-Table规则中有三个表,分别为:filter:这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWARD(处理通过的包)和OUTPUT(处理本地生成的包)。nat:这个表被查询时表示遇到了产生新的连接的包。它由三个内建的链构成:PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。mangle:这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。3)选项(OPTIONS)可被IP-Table识别的选项可以区分不同的种类,分别为:命令(COMMANDS)这些选项指定执行明确的动作。若指令行下没有其他规定,该行只能指定一个选项。对于长格式的命令和选项名,所用字母长度只要保证IP-Table能从其他选项中区分出该指令就行了。常用命令如下:-F–flush:清空所选链。这等于把所有规则一个个的删除。-X-delete-chain:删除指定的用户自定义链。这个链必须没有被引用,如果被引用,在删除之前你必须删除或者替换与之有关的规则。如果没有给出参数,这条命令将试着删除每个非内建的链。-Z–zero:把所有链的包及字节的计数器清空。-L–list:显示所选链的所有规则。如果没有选择链,所有链将被显示。也可以和-Z选项一起使用,这时链会被自动列出和归零。精确输出受其它所给参数影响。-A–append:在所选择的链末添加一条或更多规则。当源(地址)或者/与目的(地址)转换为多个地址时,这条规则会加到所有可能的地址(组合)后面。-D–delete:从所选链中删除一条或更多规则。这条命令可以有两种方法:可以把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则。-P–policy:设置链的目标规则。参数(PARAMETERS)以下参数构成规则详述,如用于add、delete、replace、append和check命令。-p-protocal[!]protocol:规则或者包检查(待检查包)的协议。指定协议可以是tcp、udp、icmp中的一个或者全部,也可以是数值,代表这些协议中的某一个。当然也可以使用在/etc/protocols中定义的协议名。在协议名前加上!表示相反的规则。数字0相当于所有(all)。Protocolall会匹配所有协议,而且这是缺省时的选项。在和check命令结合时,all可以不被使用。-s-source[!]address[/mask]:指定源地址,可以是主机名、网络名和清楚的IP地址。mask说明可以是网络掩码或清楚的数字,在网络掩码的左边指定网络掩码左边1的个数,因此,mask值为24等于255.255.255.0。在指定地址前加上!说明指定了相反的地址段。标志--src是这个选项的简写。-d--destination[!]address[/mask]:指定目标地址,使用方法和-s类似。-i-in-interface[!][name]:这是包经由该接口接收的可选的入口名称,包通过该接口接收(在链INPUT、FORWORD和PREROUTING中进入的包)。当在接口名前使用!说明后,指的是相反的名称。如果接口名后面加上+,则所有以此接口名开头的接口都会被匹配。如果这个选项被忽略,会假设为+,那么将匹配任意接口。-o--out-interface[!][name]:这是包经由该接口送出的可选的出口名称,包通过该口输出(在链FORWARD、OUTPUT和POSTROUTING中送出的包)。当在接口名前使用!说明后,指的是相反的名称。如果接口名后面加上+,则所有以此接口名开头的接口都会被匹配。如果这个选项被忽略,会假设为+,那么将匹配所有任意接口。-j--jumptarget:-j:目标跳转。指定规则的目标。也就是说,如果包匹配应当做什么。目标可以是用户自定义链(不是这条规则所在的),某个会立即决定包的命运的专用内建目标,或者一个扩展。如果规则的这个选项被忽略,那么匹配的过程不会对包产生影响,不过规则的计数器会增加。四.建立相应实验环境在本实验中需要数台计算机,分别使用相同的虚拟机以及ubuntu版本,并且其中1号机、3号机处于内网环境(它们处于同一个子网之下,并且相互间可以Ping通),另外有一台计算机(2号机)作为网关连接内网和外网,还需要有一台计算机处于外网环境。因此要圆满完成本实验,至少需要4台计算机(最后这一台计算机可以我们利用了学校机房线程的机子)。针对我的计算机的实际情况,可以将本机作为外网计算机,另外运行1个虚拟机作为2号机,再运行2个虚拟机作为1号机和3号机。可是我的计算机在运行两个虚拟机的时候处理速度就变得非常慢,因此我只能运行1台虚拟机作为2号机,再运行一个虚拟机作为1号机,至于3号机,由于在PartA和PartB中,1号机和3号机的规则是相同的,因此只要有一个就足以达到验证规则的目的。而在PartC中,二者的规则有区别,这可以通过修改1号机的IP地址达到验证的目的。因此只运行两台虚拟机同样能达到验证规则,完成本实验的效果。综上,在本实验中,我用本机作为外网计算机,用虚拟机ubuntu2作为内网计算机1号机,用虚拟机“ubuntu2的克隆”作为网关2号机。配置实验环境的过程如下:【2号机相关配置】由于2号机是网关连接内网和外网,因此它必须有两块网卡,一块实现内网和2号机的直接通信,另一块实现外网和2号机的直接通信。因此配置2号机的过程如下:1)增加一个网卡点击VMware左侧目录中的虚拟机“3000Shana”图标,右键“设置”,得到如下界面(图2),在左边界面中单击“添加”按钮进行硬件的添加,在弹出界面中选择硬件类型为“网络适配器”,然后点击“Next”。【编辑虚拟机设置】【选择添加硬件的类型】之后选择网络连接方式为“自定义”,然后点击“完成”,完成增加网卡的过程。【选择新增网卡的网络连接方式】然后查看虚拟机的主界面,可以发现多了一个网络适配器图标,而且它连接方式变为“通用”!【新增网卡后“Ubuntu2的克隆”的主界面】2)运行“Ubuntu2的克隆”,修改新增网卡的有关配置开启虚拟机“Ubuntu2的克隆”,以root用户登录。登录后右键单击桌面上方网络连接的小图标,选择“编辑连接…”,可以看到“有线”一栏下有“Autoeth1”和“Autoeth2”两个网络接口,“Autoeth2”是新增的。单击“Autoeth2”,选择“编辑”,在弹出界面中选择“IPv4设置”,然后选择方法为“手动”,可以看到“地址”部分变为可编辑。单击“添加”,将地址设定为“10.10.10.1”(我认为这个IP地址的设置只要不和“Autoeth1”的IP地址在一个网段就可以),子网掩码设为默认的“255.255.255.0”,网关可以任意设定。设定完之后选择“应用”。【新增网卡接口“Autoeth2”的设置】3)查看2号机的IP地址PS:后继所有关于ubuntu上的终端操作均以root权限为主选择“应用程序”→“附件”→“终端”,在终端中输入命令“ifconfig”查看2号机的IP地址等信息:【2号机的IP地址】可以看到与外网连接的网口eth1的IP地址为:192.168.0.98(Vmware中可以在子网范围内自由设置),与内网连接的网口eth2的IP地址为10.10.10.1,和我之前设置的一样,这说明2号机的配置成功!2.配置1号机1)选择“Ubuntu2”的网络连接方式点击VMware的“Ubuntu2”的主界面中的“编辑虚拟机设置”,在弹出界面中单击“NetworkAdapter”,然后选择界面右侧的“Custom”,点击“OK”。即将“Ubuntu2”的网络连接方式设为自定义,和“Ubuntu2的克隆”中和内网连接的网卡是一样的。2)运行“Ubuntu2”,修改网卡的有关配置开启虚拟机“Ubuntu2”,以root用户登录。登录后右键单击桌面上方网络连接的小图标,选择“编辑连接…”,可以看到“有线”一栏下有“Autoeth0”这一个网络接口。单击“Autoeth0”,选择“编辑”,在弹出界面中选择“IPv4设置”,然后选择方法为“手动”,可以看到“地址”部分变为可编辑。单击“添加”,将地址设定为“10.10.10.2”(需要和2号机中“Autoeth1”的IP地址在一个网段),子网掩码设为默认的“255.255.255.0”,网关设定为“Autoeth1”的IP地址10.10.10.1。设定完之后选择“应用”。【1号机(ubuntu2)中“Autoeth0”的设置】3)查看1号机的IP地址选择ubuntu2的“应用程序”→“附件”→“终端”,在终端中输入命令“ifconfig”查看1号机的IP地址等信息:【1号机的IP地址】可以看到IP地址为为10.10.10.2,和我之前设置的一样,这说明1号机的配置成功!3、验证环境配置成功1)1号机和2号机能互相通信1号机ping2号机其中2号机的IP地址是与内网连接的网口“Autoeth2”的IP地址10.10.10.1【1号机
本文标题:Iptabes设置实验报告
链接地址:https://www.777doc.com/doc-1883313 .html