netscreen网络地址翻译nat方法总结和实验.docx
《netscreen网络地址翻译nat方法总结和实验.docx》由会员分享,可在线阅读,更多相关《netscreen网络地址翻译nat方法总结和实验.docx(43页珍藏版)》请在冰豆网上搜索。
netscreen网络地址翻译nat方法总结和实验
网络地址翻译方法总结和实验
目录
正文
一、前言
Juniper防火墙的几种常用功能主要是指基于策略的NAT的实现,包括:
MIP、VIP和DIP,这三种常用功能主要应用于防火墙所保护服务器提供对外服务。
MIP
MIP是“一对一”的双向地址翻译(转换)过程。
通常的情况是:
当你有若干个公网IP地址,又存在若干的对外提供网络服务的服务器(服务器使用私有IP地址),为了实现互联网用户访问这些服务器,可在Internet出口的防火墙上建立公网IP地址与服务器私有IP地址之间的一对一映射(MIP),并通过策略实现对服务器所提供服务进行访问控制。
VIP
MIP是一个公网IP地址对应一个私有IP地址,是一对一的映射关系;而VIP是一个公网IP地址的不同端口(协议端口如:
21、25、110等)与内部多个私有IP地址的不同服务端口的映射关系。
通常应用在只有很少的公网IP地址,却拥有多个私有IP地址的服务器,并且,这些服务器是需要对外提供各种服务的。
DIP
DIP的应用一般是在内网对外网的访问方面。
当防火墙内网端口部署在NAT模式下,通过防火墙由内网对外网的访问会自动转换为防火墙设备的外网端口IP地址,并实现对外网(互联网)的访问,这种应用存在一定的局限性。
解决这种局限性的办法就是DIP,在内部网络IP地址外出访问时,动态转换为一个连续的公网IP地址池中的IP地址。
特别是在当你的网络出现双链路的时候,DIP的配置更是出色。
二、源网络地址转换(NAT-Src)
Writer:
wwiinngd
为了保护内网或IP地址紧缺和另一些原因,需要把源IP地址转换为别一个地址,这就是源网络地址转换.
目的:
学习NETSCREEN204的NAT-Src配置
NAT-Src有带DIP的和不带DIP的
DIP(动态IP)池提供了可用的地址,使通过NETSCREEN执行的NAT-Src策略后,从池中提取地址使用
一.不带DIP
图1
WEBUI:
1.Network>Interfaces(List)>ethernet1>Edit
ZoneName:
Trust
IPAddress/Netmask:
/24
InterfaceMode:
NAT
Network>Interfaces(List)>ethernet2>Edit
ZoneName:
UnTrust
IPAddress/Netmask:
/24
InterfaceMode:
Route
2.设置策略
Policies>(From:
Trust,To:
Untrust)New:
:
SourceAddress:
AddressBookEntry:
Any
DestinationAddress:
AddressBookEntry:
Any
Service:
ANY
Action:
Permit
Logging:
(选择)
在CLI下面:
setinterfaceethernet1zonetrust
setinterfaceethernet1ip/24
setinterfaceethernet1nat
setinterfaceethernet2zoneuntrust
setinterfaceethernet2ip1/24
setinterfaceethernet2route
setpolicyfromtrusttountrustAnyAnyANYpermitlog
设置二个区段再加一条策略就行,默认二个区是不通的(5GT除外),从UnTrust区来看,所有信息也是从NETSCREENE2口出来的.我们可以从防火墙的日志中看到。
图2
图3
二.带DIP
1对1映射:
地址池只有一个IP,所以一台机映射一个IP
1对多映射:
地址池只有多个IP,所以一台机从池中每次取一个IP映射
多对1(一定要开PAT)映射:
地址池只有一个IP,但通过PAT,最多可以支持64,500(65535-1023)台机,每台机用不同的端口
多对多映射:
地址池有多个IP,也有多台机,可以从池中取IP映射,也可以指定那台机映射为那个IP
一).1对1映射
图4
只有一台机在Trust区连到UnTtust区,从UnTtust区来看,他是从DIP池分配的IP。
WEBUI:
1.设置接口
Network>Interfaces(List)>ethernet1>Edit
ZoneName:
Trust
IPAddress/Netmask:
/24
InterfaceMode:
NAT
Network>Interfaces(List)>ethernet2>Edit
ZoneName:
UnTrust
IPAddress/Netmask:
/24
InterfaceMode:
Route
2.设置DIP池
Network>Interfaces(List)>ethernet2>Edit>DIP>New,
ID:
5
IPAddressRange:
~
PortTranslation:
(选择)
InthesamesubnetastheinterfaceIPoritssecondaryIPs:
(选择)
#PortTranslation就是PAT,选上后,每次用的端口也不同,但要是对端口有特殊要求的时候就不要选上。
3.设置IP>>HOST
Objects>Addresses>List>New:
AddressName:
host1
IP/Netmask:
(选择),/32
Zone:
Trust
4.设置策略,且指定DIP
Policies>(From:
Trust,To:
Untrust)New:
:
SourceAddress:
AddressBookEntry:
Any
DestinationAddress:
AddressBookEntry:
Any
Service:
ANY
Action:
Permit
Logging:
(选择)
>Advanced:
NAT:
SourceTranslation:
(选择)
(DIPon):
5(-)/X-late
在CLI下面:
setinterfaceethernet1zonetrust
setinterfaceethernet1ip/24
setinterfaceethernet1nat
setinterfaceethernet2zoneuntrust
setinterfaceethernet2ip/24
setinterfaceethernet2route
setinterfaceethernet2dip5
setaddresstrusthost1/32
setpolicyid3fromTrusttoUntrusthost1anyANYnatsrcdip-id5permitlog
从Trust区的64PING到Untrust是,我们可以从防火墙的日志中看到。
图5
我们再从Untrust区的192.168.2.2的机上看
图6
而从Untrust区是连不到trust区与映射(虚拟)出来的IP的。
二).1对多映射
从上面的说明看到,1对多的配置,其实就是在DIP池里设置多几个IP,没有什么特别不同的了。
拓扑图与图4一样。
只放上CLI的:
setinterfaceethernet1zonetrust
setinterfaceethernet1ip/24
setinterfaceethernet1nat
setinterfaceethernet2zoneuntrust
setinterfaceethernet2ip/24
setinterfaceethernet2route
setinterfaceethernet2dip5
setaddresstrusthost1/32
setpolicyid3fromTrusttoUntrusthost1anyANYnatsrcdip-id5permitlog
这里只看结果,从防火墙的日志中看到。
图7
每个PING防火墙也分给他不同的地址,再从Untrust区的192.168.2.2的机上看
图8
三).多对1映射
图9
当有多台机在Trust区连去Untrust区时,而DIP池只有一个IP,这时就一定要选择PAT模式了。
通过PAT,最多可以支持64,500台机(65535-1023),每台机用不同的端口.如果你不选PAT模式,就同一时间只有一台机可以连到Untrust区。
配置上1对1的一样,我们还是看结果吧。
图10
二台机同时PING,尽管从DIP池中分给的IP是一起,但它们获得的端口号.
再从Untrust区的192.168.2.2的机上看
图11
四).多对多映射
地址池有多个IP,trust区也有多台机,可以从池中取IP映射,也可以地址池IP与源地址一对一转换,从而使维护更方便,但必需是地址池IP大于或等于源地址,
配置思想:
先设置1.IP,接口,区段(这个每个设置也是一样的)2.设置HOST的IP,再建一个组,把所有HOST加入去3.建一个策略,原端引用上面那个组
WebUI
1.设置接口
Network>Interfaces(List)>ethernet1>Edit
ZoneName:
Trust
IPAddress/Netmask:
/24
InterfaceMode:
NAT
Network>Interfaces(List)>ethernet2>Edit
ZoneName:
UnTrust
IPAddress/Netmask:
/24
InterfaceMode:
Route
2.设置DIP池
Network>Interfaces(List)>ethernet2>Edit>DIP>New,
ID:
5
IPShift:
(选择)
From:
192.168.1.4#Trust最低的那个IP
To:
~
InthesamesubnetastheinterfaceIPoritssecondaryIPs:
(选择)
3.设置IP>>HOST>>GROUP
Objects>Addresses>List>New:
AddressName:
host1
IP/Netmask:
(选择),/32
Zone:
Trust
Objects>Addresses>List>New:
AddressName:
host2
IP/Netmask:
(选择),/32
Zone:
Trust
Objects>Addresses>Groups>(Trust)New:
GroupName:
group1
选择host1,并使用<<按钮将地址从AvailableMembers栏移到GroupMembers栏中
选择host2,并使用<<按钮将地址从AvailableMembers栏移到GroupMembers栏中
4.设置策略,指定DIP与组
Policies>(From:
Trust,To:
Untrust)New:
SourceAddress:
AddressBookEntry:
group1
DestinationAddress:
AddressBookEntry:
Any
Service:
ANY
Action:
Permit
Logging:
(选择)
>Advanced:
NAT:
SourceTranslation:
(选择)
(DIPon):
5(-)/X-late
CLI:
setinterfaceethernet1zonetrust
setinterfaceethernet1ip/24
setinterfaceethernet1nat
setinterfaceethernet2zoneuntrust
setinterfaceethernet2ip/24
setinterfaceethernet2route
setinterfaceethernet2dip5shift-from.11to
setaddresstrusthost1/32
setaddresstrusthost2/32
setgroupaddresstrustgroup1addhost1
setgroupaddresstrustgroup1addhost2
setpolicyfromtrusttountrustgroup1anyANYnatsrcdip-id5permitlog
有一点要小心。
,那你的DIP池,,(A>79-4)。
例子:
1.trust,
源IP转换后IP
192.168.1.4----→
192.168.1.164----→192.168.2.165
从防火墙的日志中看
图13
我们从Untrust区的192.168.2.2的机上看
图14
2.trust,DIP池是192.168.2.5~
源IP转换后IP
192.168.1.4----→
192.168.1.164----→192.168.1.164
防火墙的日志中看到
图15
我们从Untrust区的192.168.2.2的机上看,没有看到没转换的源IP:
.1.164。
当我们Trust区不连Untrust区时,而我们用CAIN等Sniffer工具来ARP扫描时,还可以看到从到192.168.2.78的IP全是防火墙的MAC地址。
三、Netscreen防火墙各种地址翻译方法的特点总结
Netscreen防火墙的地址翻译主要包括五类:
●NAT-src
●NAT-dst
●MappedIP(MIP)
●VirtualIP(VIP)
●Untrust口的源地址翻译
这五类地址翻译可以从两个角度分类:
一、是源地址翻译还是目的地址翻译?
●NAT-src和Untrust口的源地址翻译是源地址翻译。
●NAT-dst和VIP是目的地址翻译。
●MIP是双向地址翻译。
二、是基于策略的地址翻译还是基于接口的地址翻译?
●NAT-src和NAT-dst是基于策略的地址翻译。
●Untrust口的源地址翻译、MIP和VIP是基于接口的地址翻译。
也就是说,NAT-src和NAT-dst是在制订的防火墙Policy的基础之上,即规定了源地址、目的地址、源端口、目的端口等之后,对符合这条策略的信息流进行NAT-src和NAT-dst方式的地址和端口翻译。
而另外三种地址翻译都是和接口进行了绑定,而和Policy策略无关。
因此,这几种地址翻译方法总结来说具有以下应用特点:
●NAT-src和NAT-dst可以完全覆盖另外三种地址翻译方法,也就是说另外三种地址翻译方法可以完全翻译成具有相同效果的NAT-src和NAT-dst,反之则不行。
●NAT-src和NAT-dst由于是基于Policy进行地址翻译,具有更好的信息流控制粒度。
●NAT-src和NAT-dst可以在任意两个安全域(zone)之间进行设置。
●NAT-src和NAT-dst可以在一条Policy中同时设置执行,对源和目的地址同时翻译,但是仅仅是单向的地址翻译。
●单向翻译可以提供更好的控制与安全性能。
●Untrust口的源地址翻译只能在Untrust口实现。
尽管可以将绑定到任意第3层区段的接口的操作模式定义为NAT,但是,安全设备只对通过该接口传递到Untrust区段的信息流执行NAT。
对于通往Untrust区段之外的其它任意区段的信息流,ScreenOS不执行NAT。
还要注意,ScreenOS允许您将Untrust区段接口设置为NAT模式,但是这样做并不会激活任何NAT操作。
●VIP只能在Untrust口实现。
●MIP和VIP一般需要与所配置的接口处于同一网段,但是为Untrust区段中接口定义的MIP例外。
该MIP可以在不同于Untrust区段接口IP地址的子网中。
但是,如果真是这样,就必须在外部路由器上添加一条路由,指向Untrust区段接口,以便内向信息流能到达MIP。
此外,必须在与MIP相关的防火墙上定义一个静态路由。
另外这几种策略发生冲突重叠时具有以下规律:
●入口接口处于“路由”或NAT模式时,可以使用基于策略的NAT-src。
如果配置策略以应用NAT-src,且入口接口处于NAT模式下,则基于策略的NAT-src设置会覆盖基于接口的NAT。
●不支持同时将基于策略的NAT-dst与MIP、VIP配合使用。
如果您配置了MIP或VIP,安全设备会在应用了基于策略的NAT-dst的任何信息流上应用MIP或VIP。
换言之,如果安全设备偶然将MIP和VIP应用于同一信息流,则MIP和VIP将禁用基于策略的NAT-dst。
●应该避免将接口IP地址、MIP、VIP、DIP设置重复,否则会不可设置或引起冲突。
通过实际调查,可以发现很多网管人员习惯于使用MIP、VIP和Untrust口的源地址翻译来进行地址翻译,这主要是因为:
●这三种地址翻译方法是目前大多数防火墙普遍采用的地址翻译方法,网管人员不需要学习就已经掌握。
●一对一的静态地址映射便于理解,也是目前大多数防火墙普遍采用的地址翻译方法。
●如果从其它防火墙迁移到Netscreen防火墙,这种配置迁移便于一对一的翻译。
但是,以MIP为主的地址翻译也存在着一些问题:
●MIP和VIP属于Global区段,这一点容易让一些网管人员在理解上产生偏差,而不能正确配置。
●从不同区段到达MIP需要配置两条策略,也容易产生配置错误。
●对于策略配置中何时使用MIP,何时使用服务器的真实IP,经常容易搞错。
●当涉及到多个安全区段都存在MIP时,并且这些MIP地址有可能引起各种地址段重合的现象时,配置更加复杂和难于理解,甚至无法实现。
●这些传统的地址翻译方法粒度太粗,可控性不强,不能实现最大程度的安全性和灵活性。
●一对一的地址映射在实践中无法满足企业用户复杂的网络需求,如实现一对多、多对一的翻译,实现源地址和目的地址的同时翻译,等等。
因此,考虑到企业业务的实践,建议尽可能采用NAT-src和NAT-dst来实现业务需要,理由如下:
●NAT-src和NAT-dst可以完全覆盖另外三种地址翻译方法。
●NAT-src和NAT-dst由于是基于Policy进行地址翻译,具有更好的信息流控制粒度。
●NAT-src和NAT-dst可以在任意两个安全域(zone)之间进行设置。
另外三种地址翻译方法都有一些安全域限制,无法实现任意方向的地址翻译。
●NAT-src和NAT-dst可以在一条Policy中同时设置执行,对源和目的地址同时翻译。
●单向翻译可以提供更好的控制与安全性能。
如果需要双向翻译可以在反方向单独再定义一条策略。
●基于策略的NAT-src和NAT-dst容易理解和配置。
●可以更好地将地址翻译和策略管理结合起来,更加方便企业的日常策略维护工作。
当然,另外三种翻译方法在实现从其它防火墙向Netscreen防火墙的策略迁移,适应不同管理员的配置习惯,适应特定的网络环境等方面具有自己的优点。
以下将结合企业网络的常见需求来看看如何通过NAT-src和NAT-dst来实现地址翻译,并且如何取代其它三种地址翻译方法。
四、地址翻译方法实验
1.Netscreen防火墙的地址翻译实验环境
为了帮助理解地址翻译的实践,以下各节配置均采用下图所示的实验环境:
2.Netscreen防火墙的策略地址翻译实验
3.1由外向内的地址翻译
分以下几种情况(注意:
其中需要在防火墙和路由器上添加路由的部分都省略,请自行添加路由):
一、合作伙伴服务器(.2)需要访问企业服务器(192.168.1.2),访问的映射地址是(3.3.3.2),同时源地址(2.2.2.2)在Trust区域可以路由,不需要做源地址转换。
配置如下:
WebUI
1.接口
Network>Interfaces>Edit(对于ethernet1):
输入以下内容,然后单击Apply:
ZoneName:
Trust
StaticIP:
(出现时选择此选项)
IPAddress/Netmask:
.1/24
选择以下内容,然后单击OK:
Network>Interfaces>Edit(对于ethernet3):
输入以下内容,然后单击OK:
ZoneName:
Untrust
StaticIP:
(出现时选择此选项)
IPAddress/Netmask:
1..1/24
2.策略
Policies>(From:
Untrust,To:
Trust)New:
输入以下内容,然后单击OK:
SourceAddress:
AddressBookEntry:
(选择),.2/32(假设我们先前定义了此地址对象)
DestinationAddress:
AddressBookEntry:
(选择),.2/32(假设我们先前定义了此地址对象)
Service:
HTTP
Action:
Permit
>Advanced:
输入以下内容,然后单击Return,设置高级选项并返回基本配置页:
NAT:
DestinationTranslation:
(选择)
TranslatetoIP:
(选择),
CLI
1.Interface
setinterfaceethernet1zonetrust
setinterfaceethernet1i.1/24
setinterfaceethernet1route
setinterfaceethernet3zoneuntrust
setinterfaceethernet3i.1/24
setinterfaceethernet1route
2.AddressList
setaddressTrust"
setaddressUntrust"
3.Policy
setpolicyid1from"Untrust"to"Trust"".2/32""3.3.3.2/32""HTTP"