>> 最新文章
>> 阅读排行
>> 推荐文章
IP Filter教程:基于IP Filter地NAT透析(2)
基于IP Filter的NAT透析
四、案例需求的实现
4.1需求一的实现
案例的需求一是让子网192.168.0.0/24中的所有电脑可以借助网关192.168.0.1透明地访问互联网。这其实是IPnat的最基本的功能,上面的已经做了详尽的分析,rules设置如下:
map rl1 192.168.0.0/24 -> 202.115.65.225/32 portmap tcp/udp 10000:39999
map rl1 192.168.0.0/24 -> 202.115.65.225/32
4.2需求二的实现
案例需求二是要实现外网的客户机可以透明地可以访问IP地址为192.168.0.251的多功能服务器(Web、Email、Ftp服务)和IP地址为192.168.0.2的文件兼打印服务器。这其实也是IPnat的基本功能,rules设置如下:
rdr rl1 202.115.65.225/32 port 80 192.168.0.251 port 80 \\web
rdr rl1 202.115.65.225/32 port 21 192.168.0.251 port 21 \\Ftp
rdr rl1 202.115.65.225/32 port 25 192.168.0.251 port 25 \\smtp
rdr rl1 202.115.65.225/32 port 110 192.168.0.251 port 110 \\pop3
rdr rl1 202.115.65.225/32 port 139 192.168.0.2 port 139 \\文件共享
4.3需求三的实现
案例需求三是要实现内网的用户可以以外网的地址访问内网的web、email等服务器,该需求不是非常的普遍,所以很难在现有的资料上找到rules的配置方法。该需求从表面上来看和需求二很相似,但是它们有一个本质的区别,那就是需求二的请求数据报的传给的是外部网卡rl1,而本需求的请求是内网发起的所以请求数据报会被内网卡rl0接收,所以用需求二设置的rules是不能够实现本需求的。
首先我们以web服务为例来一步一步地探索rules的配置方法。第一步可以仿照需求二的rules把rl1改为rl0,让防火墙会自动转发内网的请求数据报,这将得到下面的rule:
rdr rl0 202.115.65.225/32 port 80 -> 192.168.0.251 port 80 \\web 在设置并执行上面的rule后用客户端192.168.0.221试图访问202.115.65.225后失败,表现为延迟一段时间后弹出打不开网页提示。为了找到问题根源所在,分别在客户端和服务器端用捕获数据报进行分析,在客户端和服务器端捕获的数据报如图4-1所示:
map rl0 192.168.0.0/24 -> 202.115.65.225/32
图4-3所示。其工作流程和前面分析的让内网访问外网的原理相同,不同之出就在于这个rule只对内网卡rl0有效。
4.4需求四的实现
4.4.1内网Client访问外网Ftp Server
需求四首先要求内网的客户机可以访问远程的Ftp服务器。之所以把访问Ftp服务单独拿出来作为一个需求是由Ftp 协议 的特殊性决定的,以web服务为例,web服务器始终都是在一个端口上为客户机提供HTTP连接和传输服务,缺省的HTTP端口为80端口(但不限定)。所以对于这种服务,客户机仅仅需要随机地打开一个TCP端口和对应的服务器建立连接,而这个端口会被防火墙map指令映射到防火墙portmap范围内的端口后暂存起来,等数据返回时可以正确地递交给客户机。而Ftp服务仅仅使用缺省的21端口来建立连接和传递控制数据,它还需要开辟另外一条TCP连接通道来专门传输文件数据,其实不光 Ftp服务,netmeeting,pptp等服务器工作模式也是类似,这里以仅仅是以最常见的Ftp为例而已。
Ftp服务器建立第二条 TCP连接通道的方法有两种,分别是PORT模式和PASV模式,通常被称为主动模式和被动模式。主动模式就是客户端在确认已经和Ftp服务器建立了连接之后在客户端主动打开一个随机的端口来和服务器进行数据传送,同时向服务器发出PORT指令告诉服务器自己开设的端口;被动模式和主动模式相反,客户端在和服务器端建立连接后发送PASV要求以被动模式建立数据传输通道,服务器端就会先开放一个端口来侦听客户机的连接以便建立数据传输通道。在该案例中,直接用FlashFXP访问外部F
四、案例需求的实现
4.1需求一的实现
案例的需求一是让子网192.168.0.0/24中的所有电脑可以借助网关192.168.0.1透明地访问互联网。这其实是IPnat的最基本的功能,上面的已经做了详尽的分析,rules设置如下:
map rl1 192.168.0.0/24 -> 202.115.65.225/32 portmap tcp/udp 10000:39999
map rl1 192.168.0.0/24 -> 202.115.65.225/32
4.2需求二的实现
案例需求二是要实现外网的客户机可以透明地可以访问IP地址为192.168.0.251的多功能服务器(Web、Email、Ftp服务)和IP地址为192.168.0.2的文件兼打印服务器。这其实也是IPnat的基本功能,rules设置如下:
rdr rl1 202.115.65.225/32 port 80 192.168.0.251 port 80 \\web
rdr rl1 202.115.65.225/32 port 21 192.168.0.251 port 21 \\Ftp
rdr rl1 202.115.65.225/32 port 25 192.168.0.251 port 25 \\smtp
rdr rl1 202.115.65.225/32 port 110 192.168.0.251 port 110 \\pop3
rdr rl1 202.115.65.225/32 port 139 192.168.0.2 port 139 \\文件共享
4.3需求三的实现
案例需求三是要实现内网的用户可以以外网的地址访问内网的web、email等服务器,该需求不是非常的普遍,所以很难在现有的资料上找到rules的配置方法。该需求从表面上来看和需求二很相似,但是它们有一个本质的区别,那就是需求二的请求数据报的传给的是外部网卡rl1,而本需求的请求是内网发起的所以请求数据报会被内网卡rl0接收,所以用需求二设置的rules是不能够实现本需求的。
首先我们以web服务为例来一步一步地探索rules的配置方法。第一步可以仿照需求二的rules把rl1改为rl0,让防火墙会自动转发内网的请求数据报,这将得到下面的rule:
rdr rl0 202.115.65.225/32 port 80 -> 192.168.0.251 port 80 \\web 在设置并执行上面的rule后用客户端192.168.0.221试图访问202.115.65.225后失败,表现为延迟一段时间后弹出打不开网页提示。为了找到问题根源所在,分别在客户端和服务器端用捕获数据报进行分析,在客户端和服务器端捕获的数据报如图4-1所示:
图4-1 在配置错误时同时捕获到的客户端和服务器端数据报
图4-2 防火墙发给客户端redirect指令的ICMP报文
map rl0 192.168.0.0/24 -> 202.115.65.225/32
图4-3所示。其工作流程和前面分析的让内网访问外网的原理相同,不同之出就在于这个rule只对内网卡rl0有效。
图4-3 配置正确的rules之后的客户机与服务器的交互过程
4.4需求四的实现
4.4.1内网Client访问外网Ftp Server
需求四首先要求内网的客户机可以访问远程的Ftp服务器。之所以把访问Ftp服务单独拿出来作为一个需求是由Ftp 协议 的特殊性决定的,以web服务为例,web服务器始终都是在一个端口上为客户机提供HTTP连接和传输服务,缺省的HTTP端口为80端口(但不限定)。所以对于这种服务,客户机仅仅需要随机地打开一个TCP端口和对应的服务器建立连接,而这个端口会被防火墙map指令映射到防火墙portmap范围内的端口后暂存起来,等数据返回时可以正确地递交给客户机。而Ftp服务仅仅使用缺省的21端口来建立连接和传递控制数据,它还需要开辟另外一条TCP连接通道来专门传输文件数据,其实不光 Ftp服务,netmeeting,pptp等服务器工作模式也是类似,这里以仅仅是以最常见的Ftp为例而已。
Ftp服务器建立第二条 TCP连接通道的方法有两种,分别是PORT模式和PASV模式,通常被称为主动模式和被动模式。主动模式就是客户端在确认已经和Ftp服务器建立了连接之后在客户端主动打开一个随机的端口来和服务器进行数据传送,同时向服务器发出PORT指令告诉服务器自己开设的端口;被动模式和主动模式相反,客户端在和服务器端建立连接后发送PASV要求以被动模式建立数据传输通道,服务器端就会先开放一个端口来侦听客户机的连接以便建立数据传输通道。在该案例中,直接用FlashFXP访问外部F


当前位置: