在虚拟机中实现基于iptables的防火墙
- 格式:pdf
- 大小:1.73 MB
- 文档页数:2
iptables设置防火墙规则以iptables设置防火墙规则为标题,可以写一篇关于iptables防火墙规则的文章。
下面是一种可能的写作方式:标题:使用iptables设置防火墙规则保护网络安全导言:在当前的网络环境中,保护网络安全是至关重要的。
为了防止网络攻击和非法访问,我们可以使用iptables来设置防火墙规则。
本文将介绍iptables的基本概念和常用命令,并提供一些示例来帮助您理解如何使用iptables保护您的网络。
一、iptables简介iptables是一个在Linux系统上使用的防火墙工具,它可以监控和过滤网络流量,以及控制网络数据包的传输。
iptables可以根据预定义的规则集来允许或拒绝特定的网络连接。
二、iptables基本命令1. 添加规则:使用iptables的-A选项可以向规则链中添加新的规则。
例如,以下命令将允许从特定IP地址(192.168.1.100)访问SSH服务:iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT2. 删除规则:使用iptables的-D选项可以从规则链中删除指定的规则。
例如,以下命令将删除允许从特定IP地址(192.168.1.100)访问SSH服务的规则:iptables -D INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT3. 查看规则:使用iptables的-L选项可以查看当前规则链中的规则。
例如,以下命令将显示INPUT规则链中的所有规则:iptables -L INPUT三、常用的防火墙规则示例1. 允许特定IP地址的访问:以下命令将允许来自192.168.1.100的IP地址访问HTTP服务:iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT2. 允许特定端口的访问:以下命令将允许所有IP地址访问SSH服务:iptables -A INPUT -p tcp --dport 22 -j ACCEPT3. 拒绝特定IP地址的访问:以下命令将拒绝来自192.168.1.200的IP地址访问FTP服务:iptables -A INPUT -s 192.168.1.200 -p tcp --dport 21 -j DROP4. 阻止所有对外部SSH服务的访问:以下命令将阻止所有对外部SSH服务的访问:iptables -A INPUT -p tcp --dport 22 -j DROP四、更高级的防火墙规则设置1. 限制连接速率:可以使用iptables的限速模块来限制特定IP地址的连接速率。
Linux命令高级技巧使用iptables和ipset进行高级网络防火墙配置在网络安全领域,配置高级网络防火墙是至关重要的。
Linux操作系统提供了一些强大的工具来实现这一目的,其中最常用的是iptables和ipset。
本文将介绍如何使用这两个工具来进行高级网络防火墙配置。
一、iptables简介iptables是一个功能强大的Linux防火墙工具,它允许管理员配置、管理和维护网络安全规则集。
iptables使用内核的netfilter框架来实现数据包过滤和转发。
它可以根据网络协议、源IP地址、目标IP地址、端口号等多个条件来过滤和控制数据包的流动。
下面是一些常用的iptables命令及其功能:1. iptables -A chain -p protocol --source address --destination address --dport port -j action:添加规则到指定链,根据指定条件决定数据包的操作(动作)。
2. iptables -D chain rule-number:从指定链中删除指定规则。
3. iptables -L:列出当前的防火墙规则集。
4. iptables -F chain:清空指定链中的所有规则。
5. iptables -P chain target:设置指定链的默认策略。
二、ipset简介ipset是一个用于管理大规模IP地址和端口的工具,它可以与iptables一起使用,提高防火墙规则的效率和性能。
ipset通过将IP地址和端口号存储在内存中的数据结构中,可以更快地匹配和过滤数据包。
ipset的一些常用命令如下:1. ipset create setname type:创建一个新的ipset。
2. ipset add setname entry:将条目添加到指定的ipset中。
3. ipset del setname entry:从指定的ipset中删除条目。
Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置Linux命令高级技巧:使用iptables和ufw命令进行网络防火墙配置在Linux操作系统中,网络防火墙是保护系统网络安全的重要组成部分。
通过合理配置网络防火墙规则,可以控制网络流量的进出,阻挡恶意攻击和未经授权的访问,确保系统的安全性。
本文将介绍Linux 中的两个重要命令iptables和ufw,以及使用它们进行网络防火墙配置的高级技巧。
一、iptables命令iptables是Linux中主要的防火墙工具,可以在内核级别对进出的网络流量进行过滤、转发和NAT(Network Address Translation)等操作。
下面是一些常用的iptables命令及其用法:1. 启用IP转发功能在做网络防火墙配置之前,需要确保系统开启了IP转发功能。
可以使用以下命令启用:```shellsysctl -w net.ipv4.ip_forward=1```此命令将系统的`net.ipv4.ip_forward`参数设置为1,即开启IP转发功能。
2. 基本规则设置使用以下命令创建一条基本的防火墙规则,允许本地主机的所有传入和传出流量:```shelliptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT```这些命令将INPUT、OUTPUT和FORWARD链的默认策略都设置为ACCEPT,即允许全部流量。
3. 添加规则可以使用iptables命令添加特定的防火墙规则,以允许或拒绝特定的流量。
例如,以下命令将允许来自192.168.1.100的主机的SSH连接:```shelliptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT```此命令将在INPUT链中添加一条规则,允许源IP为192.168.1.100,目标端口为22的TCP连接。
使用Linux终端命令进行防火墙设置和管理一、介绍Linux操作系统是一种广泛使用的操作系统,其安全性备受关注。
在Linux系统中,防火墙是保护计算机网络安全的重要组成部分。
本文将介绍如何使用Linux终端命令进行防火墙的设置和管理。
二、防火墙的基本概念防火墙是一种网络安全设备,用于设置规则和策略,限制进出计算机网络的流量。
它可以过滤网络数据包,防止恶意攻击和未经授权的访问。
在Linux系统中,防火墙通常使用iptables命令来实现。
三、iptables命令的基本用法1. 查询防火墙规则:使用iptables -L命令可以列出当前的防火墙规则。
例如,输入以下命令:```shelliptables -L```2. 添加防火墙规则:使用iptables -A命令可以添加一条新的防火墙规则。
例如,要允许来自特定IP地址的HTTP访问,可以输入以下命令:```shelliptables -A INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```3. 删除防火墙规则:使用iptables -D命令可以删除特定的防火墙规则。
例如,要删除上述添加的防火墙规则,可以输入以下命令:```shelliptables -D INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```4. 保存防火墙规则:使用iptables-save命令可以保存当前的防火墙规则。
例如,输入以下命令可以将当前的防火墙规则保存到/etc/iptables.rules文件中:```shelliptables-save > /etc/iptables.rules```5. 加载防火墙规则:使用iptables-restore命令可以加载之前保存的防火墙规则。
例如,输入以下命令可以从/etc/iptables.rules文件中加载防火墙规则:```shelliptables-restore < /etc/iptables.rules```四、常用防火墙配置示例1. 允许SSH访问:要允许SSH访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 22 -j ACCEPT```2. 允许HTTP和HTTPS访问:要允许HTTP和HTTPS访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPT```3. 允许Ping请求:要允许Ping请求,可以使用以下命令:```shelliptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT```4. 阻止特定IP地址的访问:要阻止特定IP地址的访问,可以使用以下命令:```shelliptables -A INPUT -s <IP地址> -j DROP```五、注意事项1. 防火墙规则的顺序很重要,应该根据需要正确设置规则的顺序。
iptables防⽕墙实战iptables防⽕墙实战iptables关闭两项功能:1.selinux(⽣产中也是关闭的),ids⼊侵检测,md5指纹.2.iptables(⽣产中看情况,内⽹关闭,外⽹打开)⼤并发的情况,不能开iptables,影响性能,硬件防⽕墙.安全优化:1.尽可能不给服务器配置外⽹IP.可以通过代理转发.2.并发不是特别⼤的情况再外⽹IP的环境,要开启iptables防⽕墙.1.OSI7层模型以及不同层对应哪些协议?2.TCP/IP三次握⼿,四次断开的过程,TCP HEADER.3.常见服务端⼝要了如指掌.iptables企业应⽤场景主机防⽕墙:filter表的INPUT链。
局域⽹共享上⽹:nat表的POSTROUTING链。
半个路由器,NAT功能。
端⼝及IP映射:nat表的PREROUTING链,硬防的NAT功能。
IP⼀对⼀映射。
⽹络层防⽕墙包过滤防⽕墙⽹络层对数据包进⾏选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,⽬的地址,所⽤端⼝号和协议状态等因素,或他们的组合来确定是否允许该数据包通过优点:对⽤户来说透明,处理速度快且易于维护缺点:⽆法检查应⽤层数据,如病毒等应⽤层防⽕墙应⽤层防⽕墙/代理服务型防⽕墙(Proxy Service)将所有跨越防⽕墙的⽹络通信链路分为两段内外⽹⽤户的访问都是通过代理服务器上的“链接”来实现优点:在应⽤层对数据进⾏检查,⽐较安全缺点:增加防⽕墙的负载可以做NAT映射:1⽹关:局域⽹共享上⽹。
2IP或端⼝映射。
iptables主要⼯作在OSI七层的⼆、三四层,如果重新编译内核,Iptables也可以⽀持7层控制squid代理+iptables。
商⽤防⽕墙品牌华为深信服思科H3CJuniper天融信飞塔⽹康绿盟科技⾦盾iptables⼯作流程1.防⽕墙是⼀层层过滤的。
实际是按照配置规则的顺序从上到下,从前到后进⾏过滤的。
信息安全技术之防火墙实验报告目录一、实验概述 (2)1. 实验目的 (2)2. 实验背景 (3)3. 实验要求 (4)二、实验环境搭建 (5)1. 实验硬件环境 (6)1.1 设备配置与连接 (6)1.2 设备选型及原因 (7)2. 实验软件环境 (8)2.1 系统软件安装与配置 (9)2.2 防火墙软件安装与配置 (10)三、防火墙配置与实现 (12)1. 防火墙策略制定 (12)1.1 访问控制策略 (13)1.2 数据加密策略 (15)1.3 安全审计策略 (16)2. 防火墙具体配置步骤 (17)2.1 配置前准备工作 (18)2.2 配置过程详述 (19)2.3 配置结果验证 (21)四、实验结果与分析 (22)1. 实验结果展示 (23)1.1 防火墙运行日志分析 (24)1.2 网络安全状况分析 (25)2. 结果分析 (27)2.1 防火墙效果分析 (28)2.2 网络安全风险评估与应对方案讨论 (29)五、实验总结与展望 (30)一、实验概述随着信息技术的迅猛发展,网络安全问题日益凸显其重要性。
作为保障网络安全的重要手段之一,防火墙技术广泛应用于各类网络环境中,用以保护内部网络免受外部网络的攻击和威胁。
本次实验旨在通过搭建实验环境,深入理解和掌握防火墙的基本原理、配置方法以及其在实际应用中的重要作用。
在本次实验中,我们将模拟一个企业内部网络环境,并设置相应的防火墙设备。
通过搭建这一实验环境,我们将能够模拟真实的网络安全场景,从而更好地理解防火墙在保障网络安全方面的作用和价值。
通过实验操作,我们将更加深入地掌握防火墙的基本配置方法和步骤,为今后的网络安全工作打下坚实的基础。
通过本次实验,我们还将学习到如何针对不同的网络威胁和攻击类型,合理配置和使用防火墙,以保障网络系统的安全性和稳定性。
这对于提高我们的网络安全意识和技能水平具有重要意义。
1. 实验目的本次实验旨在通过实际操作,深入理解防火墙的工作原理、配置方法及其在网络安全防护中的关键作用。
利用Iptables实现网络黑白名单防火墙怎么设置防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。
这篇文章主要介绍了详解Android 利用Iptables实现网络黑白名单(防火墙),小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一起跟随小编过来看看吧具体步骤二、Iptables网络黑白名单(防火墙)实现细节因为考虑到一些权限的问题所以在实现方法上采用的是创建一个systemserver来运行这些方法。
并提供出manager到三方应用,这样在调用时可以排除一些权限的限制。
同时本文只是做一个简单的参考概述,所以在后文中只提供了增加黑白名单的方法和iptables规则,并没有提供相应的删除规则等,原理类似大家可自行补充添加。
2.1、创建systemserver2.1.1、在/system/sepolicy/service.te中添加type fxjnet_service, system_api_service, system_server_service, service_manager_type;2.2.2、在/system/sepolicy/service_contexts中添加如下,fxjnet u:object_r:fxjnet_service:s02.2.3、在frameworks/base/core/java/android/content/Context.java中添加也可以不添加这个,只不过为了后面调用方便所以添加了。
如果跳过此步,那么后面出现Context.FXJNET_SERVICE的地方都用字串代替即可。
public static final String FXJNET_SERVICE="fxjnet";2.2.4、在/frameworks/base/core/java/android/app/SystemServiceRegistr y.java的静态代码块中添加如下代码注册service。
Linux下防⽕墙iptables⽤法规则详及其防⽕墙配置转:iptables规则规则--顾名思义就是规矩和原则,和现实⽣活中的事情是⼀样的,国有国法,家有家规,所以要遵纪守法的嘛。
当然在防⽕墙上的规则,在内核看来,规则就是决定如何处理⼀个包的语句。
如果⼀个包符合所有的条件,我们就⽤相应的处理动作来处理。
书写规则的语法格式为:iptables [-t table] command chains [creteria] -j action-t table就是表名,filter/nat/mangle三个表中的⼀个,默认是filter表command告诉程序如何做,⽐如:插⼊⼀个规则,还是删除等chains 链,有五个,PREROUTING POSTROUTING INPUT OUTPUT FORWARDaction 处理动作,有ACCEPT DENY DROP REJECT SNAT DNAT理⼀下思路下⾯⼀点点的说⼀、Tables选项-t⽤来指定⽤哪个表,它可以是下⾯的任何⼀个,默认的是filter表⼆、COMMANDScommand指定iptables对我们提交的规则要做什么样的操作。
这些操作可能是在某个表⾥增加或删除⼀些东西,或其他的动作。
⼀下是iptables可⽤的command(如不做说明,默认表是filter)和命令结合常⽤的选项三、chains简单说⼀下五个链的作⽤:PREROUTING 是在包进⼊防⽕墙之后、路由决策之前做处理POSTROUTING 是在路由决策之后,做处理INPUT 在包被路由到本地之后,但在出去⽤户控件之前做处理OUTPUT在去顶包的⽬的之前做处理FORWARD在最初的路由决策之后,做转发处理四、匹配条件4.1 基本匹配4.2 隐含扩展匹配这种匹配操作是⾃动的或隐含的装⼊内核的。
例如使⽤-p tcp时,不需要再装⼊任何东西就可以匹配只有IP包才有的特点。
隐含匹配针对三种不同的协议,即TCP UDP ICMP。
centos6配置iptables规则iptables是Linux系统中的一个防火墙工具,可以帮助我们配置网络规则,限制网络访问。
CentOS 6的iptables配置主要包括以下几个步骤:1.安装iptables;2.查看当前iptables规则;3.添加新的iptables规则;4.保存iptables规则;5.开启iptables服务。
具体流程如下:1.安装iptables在CentOS 6中,iptables是默认安装好的,您无需再进行安装。
2.查看当前iptables规则要查看当前系统中的iptables规则,可以使用以下命令:```iptables -L```这个命令会列出当前的iptables规则,包括已经添加的规则。
3.添加新的iptables规则要添加新的iptables规则,可以使用以下命令:```iptables -A INPUT -p tcp --dport端口号-j ACCEPT```其中,INPUT是规则所属的链;-p tcp是指定协议为TCP;--dport端口号是指定要开放的端口;-j ACCEPT是指定接受该规则的动作。
你可以根据需要修改这些参数。
4.保存iptables规则如果要将新的iptables规则保存下来,可以使用以下命令:```service iptables save```这个命令会将当前的iptables规则保存到/etc/sysconfig/iptables文件中,以便在下次系统启动时自动加载。
5.开启iptables服务要开启iptables服务,可以使用以下命令:```service iptables start```这个命令会启动iptables服务,并加载之前保存的规则。
以上就是在CentOS 6中配置iptables规则的基本步骤。
你可以根据自己的需求,添加不同的规则,例如限制访问某个IP地址、允许特定端口或协议等。
总结:iptables是一个非常强大的防火墙工具,能够帮助我们保护服务器的安全。
iptables masquerade规则iptables是一款在Linux系统上使用的防火墙工具,它能够控制网络流量,保护网络安全。
其中,masquerading(伪装)规则是一种特殊的规则,用于在网络地址转换(Network Address Translation,NAT)中隐藏主机的真实IP地址,使其看起来像是来自防火墙本身。
在本文中,将详细介绍iptables masquerade规则的设置方法和使用场景。
1. masquerade规则的基本概念masquerade规则的作用是将内部网络的私有IP地址转换为防火墙的公共IP地址,使内部网络能够访问外部网络,同时外部网络无法直接访问内部网络的主机。
这种转换过程隐藏了内部网络的真实IP地址,增强了网络安全性。
2. 设置masquerade规则的步骤设置iptables masquerade规则的步骤如下:步骤一:进入iptables的配置界面在Linux终端输入以下命令,进入iptables的配置界面:```sudo iptables -t nat -A POSTROUTING -o 外部网络接口 -j MASQUERADE```其中,`外部网络接口`是指连接外部网络的网络接口,比如eth0。
步骤二:保存iptables配置为了使设置的masquerade规则能够在系统重启后生效,需要将iptables配置保存。
在终端输入以下命令保存iptables配置:```sudo iptables-save > /etc/sysconfig/iptables```3. masquerade规则的使用场景(1) 在内部网络共享Internet连接当一个网络中的多台主机需要共享同一个Internet连接时,可以使用masquerade规则。
通过将内部网络IP地址转换为防火墙的公共IP 地址,可以实现多台主机共享同一个Internet连接,提高网络利用率。
本栏目责任编辑:梁书
计算机工程应用技术
在虚拟机中实现基于iptables 的防火墙
严学军
(武汉软件工程职业学院,湖北武汉430000)
摘要:介绍Linux 下的iptables 的基本原理,结合虚拟机阐述了如何使用IPtables 在网络中实现内外网的访问控制,并实现
了典型的访问控制案例。
关键词:虚拟机;iptables ;防火墙中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2017)02-0208-02
由于LINUX 是源代码开放的免费软件,现在使用LINUX 的人越来越多。
同时LINUX 又具有比WINDOWS 更加强大的稳定性和安全性,特别是网络服务这个部分,LINUX 具有和兼容几乎所有WINDOWS 的网络服务,所以现在在互联网上出现的LINUX 服务器所占比例也逐渐增加,基于LINUX 的使用越来越广泛,很多学校都开设了LINUX 课程。
本文主要对LINUX 服务器上常用的iptables 防火墙的使用如何在虚拟机中实现进行讨论。
1iptables 工作原理
IPTables 包含3个表,分别是Filter 、NAT 、Manage 表,通过这几个表可以设置对数据包进行过滤和筛选。
具体来说,Filter 表可以实现数据包过滤,NAT 表可以实现地址转换,Manage 表主要用来对数据包进行处理。
在每个表中又包含若干链,每个链都可以设置一些规则,通过使用链中的规则以对流进的数据包做出判断。
根据表和链的结合情况,下面几种是经常碰到的情况。
当INPUT 链位于filter 表,匹配目的IP 是本机的数据包;FORWARD 链位于filter 表,匹配穿过本机的数据包;PRE⁃ROUTING 链位于nat 表,用于修改目的地址(DNAT);POS⁃TROUTING 链位于nat 表,用于修改源地址(SNAT)。
2iptables 的过滤规则
IPtables 命令由六个基本部分构成,下面分别介绍。
1)要操作的表:主要有三个分别是filter 实现数据报过滤;nat 实现网络地址转换;Mangle 实现数据报处理。
2)操作命令:主要有-A 、-I 、-D 、-R 、-F 等单字符命令,表示添加、插入、删除、替代、清空等等操作。
3)要操作的链:INPUT 链位于filter 表,匹配目的IP 是本机的数据包,FORWARD 链位于filter 表,匹配穿过本机的数据包,PREROUTING 链位于nat 表,用于修改目的地址(DNAT ),POS⁃TROUTING :位于nat 表,用于修改源地址(SNAT )。
4)规则号码:表示规则的位次。
5)匹配条件:按照进出的端口、地址、接口和协议类型来进行匹配。
6)匹配以后的动作:主要有接受、丢弃、地址转换(SNAT 和DNAT )、动态源地址转换。
3在虚拟机中配置LINUX 的iptables 工作环境
拓扑结构如下所示,中间为LINUX 服务器,左右两端分别模拟内网和外网计算机及网段,总共使用两个WIN⁃DOWSSERVER2003主机。
分别使用不同的VMNET 进行网络隔离,下面用了两个VMNET 虚拟交换机进行隔离,其中内网使用VMNET3,而外网使用VMNET5。
CCC10.0.0.6(VNET3)(gw:10.0.0.1)----10.0.0.1(eth1--vnet 3)LINUX192.168.100.1(eth0--vnet5)----BBB192.168.100.42(VNET5)
CCC 和BBB 为WINDOWSSERVER2003主机并且都配置了IIS 以便于测试。
4在虚拟机中的配置和测试
4.1数据转发配置和测试
由于要测试数据的转发,所以需要打开IP 转发功能,可以
修改/etc/sysctl.conf 文件,将net.ipv4.ip_forward =0修改为:net.ipv4.ip_forward =1保存并退出,同时执行如下命令使之生效。
[root@localhost ~]#cd /etc [root@localhost etc]#sysctl -p 下面是一些常见的配置案例[root@localhost /]#iptables -L /查看默认情况下的规则
[root@localhost /]#iptables -F /清除表中内容[root@localhost /]#iptables -I INPUT -p icmp -j DROP /禁止PING 本地
[root@localhost /]#iptables -D INPUT -p icmp -j DROP /删除INPUT 链中的ICMP 规则
[root@localhost /]#iptables -I FORWARD -p icmp -j DROP /禁止转发PING
[root@localhost /]#iptables -D FORWARD -p icmp -j DROP /转发PING 4.2地址转换配置和测试
1)SNAT :如果没有NAT ,在企业中,内网用户要访问外部网站需要配置单独的公网IP ,基于成本,这几乎不可能。
通常
收稿日期:2016-12-25
作者简介:严学军,本科,主要从事网络技术和网络安全方面的教学和研究。
208
DOI:10.14004/ki.ckt.2017.0204
计算机工程应用技术
本栏目责任编辑:梁书Computer Knowledge and Technology 电脑知识与技术
第13卷第2期(2017年1月)
的做法是将内网用户访问请求做地址转换,将用户的内部地址从内网进入公网的时候进行SNAT 转换,并由转换设备记住转换的过程以后便于把应答的数据发送给正确的内网计算机。
转换设备通常使用路由器或者防护墙,以将内网私有IP 转换为公网IP 。
[root@localhost /]#iptables -t nat -A POSTROUTING -s 10.0.0.0/8-o eth0-j SNAT --to 192.168.100.1
安装WIRESHARK 找到光盘-SERVER---图形界面下点右键安装如下4个RPM 包(在ISO 文件中可以找到,位于/Server 目录中)即可,分别是lm_sensors-2.10.0-3.1.i386.rpm 、
net-snmp-5.3.1-19.e15.i386.rpm 、wireshark-0.99.6-1.el5.i386.rpm 、wireshark-gnome-0.99.6-1.el5.i386.rpm 。
可以看到源地址被转换成对外接口IP 而不是CCC 上的10.0.0.6访问外网HTTP 也没问题,可以在LINUX 计算机的ETH0接口抓包验证,如图1所示发现抓包图上看见源地址已
经被转换为外部地址
图1SNAT 访问抓包
2)DNAT :当企业需要对外发布自己的各项服务,比如
WEB 服务、FTP 服务、邮件服务等等,而发布的服务器可以使用内网IP ,外网用户如果想访问这些服务,那么必须在内外网的关联设备上做DNAT 以实现目标地主转换,访问者只需要访问DNAT 对应的IP 地址就可以通过DNAT 设备把请求转发到内服服务器,同样DNAT 转换过程也会被记录以把应答数据顺利送出去。
[root@localhost /]#iptables -t nat -A PREROUTING -p tcp --dport 80-d 192.168.100.1-i eth0-j DNAT --to 10.0.0.6
实际测试后在LINUX 计算机的ETH0接口抓包验证,结
果如图2。
虽然外部计算机最终访问到内网发布的WEB 服务,但是访问时可以看到三次握手发生在两个外部地址之间,一个是访问者IP ,另外一个是LINUX 服务器对外接口IP。
图2
DNAT 访问抓包
4.3访问控制
以下可以通过iptable 命令实现对访问的精细控制。
[root@localhost /]#iptables -t nat -A PREROUTING -d 192.168.100.42-j DROP(禁止访问某个站点)4.4保存规则
规则在配置完成后需要手工使用命令进行保存。
[root@localhost /]#iptables-save >/etc/iptables-script
5结束语
在LINUX 教学实践中,因为实验室经常都不会去做LINUX 系统,所以在教学中使用虚拟机是非常好的一种方式,通过VMWARE 软件的强大的网络虚拟功能可以自由搭建各种各样的网络环境,以实现各种常见的配置。
参考文献:
[1]王卫星,李斌.基于Netfilter 的Linux 防火墙[J].福建电脑,2009(3).
[2]林天峰,谭志彬.LINUX 服务器架设指南[M].北京:清华大学出版社,2014.
[3]张勤,杨章明.LINUX 服务器配置全程实录[M].北京:人民邮电出版社,2010.
209。