在虚拟机中实现基于iptables防火墙摘要:介绍Linuxiptables的基本原理,结合虚拟机阐明了怎样使用IPtables在网路中实现内外网的访问控制,并实现了典型的访问控制案例关键词:虚拟机;iptables;防火墙中图分类号:TP311文献标示码:A文章编号:1009-3044(2017)02-0208-02因为LINUX是源代码开放的免费软件,现今使用LINUX的人越来越多。同时LINUX又具有比WINDOWS更强化大的稳定性和安全性,非常是网路服务这个部份,LINUX具有和兼容几乎所有WINDOWS的网路服务,所以如今在互联网上出现的LINUX服务器所占比列也渐渐降低,基于LINUX的使用越来越广泛,好多中学都开办了LINUX课程。本文主要对LINUX服务器上常用的iptables防火墙的使用怎样在虚拟机中实现进行讨论iptables工作原理IPTables包含3个表,分别是Filter、NAT、Manage通过这几个表可以设置对数据包进行过滤和筛选。具体来说linux虚拟机有防火墙吗,Filter表可以实现数据包过滤linux查看硬件信息,NAT表可以实现地址转换linux虚拟机有防火墙吗,Manage表主要拿来对数据包进行处理。在每位表中又包含若干链,每位链都可以设置一些规则,通过使用链中的规则以对流进的数据包作出判定。
依据表和链的结合情况,下边几种是时常遇到的情况。当INPUT链坐落filter配目的IP是本机的数据包;FORWARD链坐落filter匹配穿过本机的数据包;PREROUTING链坐落nat于更改目的地址(DNAT);POSTROUTING链坐落natiptables的过滤规则IPtables命令由六个基本部份构成,下边分别介绍1)要操作的表:主要有三个分别是filter实现数据报过滤;nat实现网路地址转换;Mangle实现数据报处理2)操作命令:主要有-A、-I、-D、-R、-F等单字符命令,表示添加、插入、删除、替代、清空等等操作3)要操作的链:INPUT链坐落filter表,匹配目的IP本机的数据包,FORWARD链坐落filter表,匹配穿过本机的数据包,PREROUTING链坐落nat表,用于更改目的地址(DNAT),POSTROUTING:坐落nat表,用于更改源地址(SNAT)5)匹配条件:根据进出的端口、地址、接口和合同类型来进行匹配在虚拟机中配置LINUX的iptables工作环境拓扑结构如下所示,中间为LINUX服务器,左右两端分别模拟外网和内网计算机及网关,总共使用两个WINDOWSSERVER2003主机。
分别使用不同的VMNET进行网路隔离,下边用了两个VMNET虚拟交换机进行隔离,其中外网使用VMNET3,而内网使用VMNET5CCC10.0.0.6(VNET3)(gw:10.0.0.1)----10.0.0.1(eth1--vnet)LINUX192.168.100.1(eth0--vnet5WINDOWSSERVER2003主机而且都配置了IIS以易于测试4.1数据转发配置和测试因为要测试数据的转发,所以须要打开IP转发功能,可以更改/etc/sysctl.conf文件,net.ipv4.ip_forward保存并退出,同时执行如下命令使之生效cd/etc[root@localhostetc]#sysctl[root@localhost/]#iptablesDROP/删掉INPUT链中的ICMP规则DROP/严禁转发PINGDROP/转发PING4.2地址转换配置和测试1)SNAT:假如没有NAT,在企业中,外网用户要访问外部网站须要配置单独的网段IP常用linux系统,基于成本,这几乎不可能。一般的做法是将外网用户访问恳求做地址转换,将用户的内部地址从外网步入网段的时侯进行SNAT转换,并由转换设备记住转换的过程之后以便把应答的数据发送给正确的外网计算机。
转换设备一般使用路由器或则防护墙,以将外网私有IP转换为网段IP装WIRESHARK找到光P-SERVER---图形界面下点右键安装如下4个RPM包(在ISO文件中可以找到,坐落/Server目录中)即可,分别是lm_sensors-2.10.0-3.1.i386.rpm、可以看见源地址被转换成对外插口IP而不是CCC10.0.0.6访问内网HTTP也没问题,可以在LINUX计算机的ETH0插口抓包验证,如图1所示发觉抓包图上看到源地址早已被转换为外部地址2)DNAT:当企业须要对外发布自己的各项服务,例如WEB服务、FTP服务、邮件服务等等,而发布的服务器可以使用外网IP,内网用户假如想访问那些服务,这么必须在内外网的关联设备上做DNAT以实现目标地主转换,访问者只须要访问DNAT对应的IP地址就可以通过DNAT设备把恳求转发到外敷服务器,同样DNAT转换过程也会被记录以把应答数据顺利送出去tcp--dport80实际测试后在LINUX计算机的ETH0插口抓包验证,结果如图2。即使外部计算机最终访问到外网发布的WEB务,并且访问时可以听到三次握手发生在两个外部地址之间,一个是访问者IP,另外一个是LINUX服务器对外插口IP4.3访问控制以下可以通过iptable命令实现对访问的精细控制4.4保存规则iptables-save>/etc/iptables-scriptLINUX教学实践中,由于实验室常常都不会去做LINUX系统,所以在教学中使用虚拟机是特别好的一种方法,通过VMWARE软件的强悍的网路虚拟功能可以自由搭建各类各样的网路环境,以实现各类常见的配置王卫星,李斌.基于NetfilterLinux防火墙[J].山东笔记本,2009(3).服务器架设手册[M].上海:复旦学院出版社,2014.服务器配置全程实录[M].上海:人民邮电出版社,2010.
文章评论