Netscaler立身之本——NAT
admin
2023-03-23 16:00:50
0

一、前言

ADC的主要作用是作为服务器的反向代理来进行应用发布的,介于客户端和服务器端之间,那么NAT就是它必然要面临的工作。归根结底,NAT就是ADC的数据转发立身之本。能否支持更多、更灵活、控制力更强的NAT转换就是衡量一个ADC是否合格的关键因素之一。这也对工程师提出了最基本的要求,如果连如何控制NAT都不清楚,那么遇到各种不同的场景就无法做出对应的方案。

二、什么是NAT

1.NAT简介

借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1)即可实现私有地址网络内所有计算机与Internet的通信需求。

NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。

2.NAT实现方式

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PATPort Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的***。因此,目前网络中应用最多的就是端口多路复用方式。

3.NetscalerNAT

下面我们主要讨论netscalerNAT是如何做的,哪些参数影响到netscalerNAT动作。

影响netscalerNAT的参数主要分为以下8类:

ü RNAT

ü INAT

ü IP mode

ü Netprofile

ü USIP

ü MAC mode

ü Service port=*

ü Service use proxy port

我们分别针对每个参数做测试和理解,以下是环境概述


实验环境:

Client ip192.168.20.1

SNIP:   192.168.20.11

     192.168.0.21

     192.168.10.11

VIP:     172.16.10.10

     172.16.10.11

     10.10.1.2

Server ip: 192.168.0.50

   10.10.1.1

 

三、影响NAT的参数测试

1.RNAT

客户端的网关是netscaler,但服务器没有客户端的回程路由

客户端直接访问服务器,网络不通

Netscaler立身之本——NAT 


抓包情况:

因为服务器没有客户端192.168.20.1的回程路由,所以ICMP无响应

Netscaler立身之本——NAT


Netscaler上配置RNAT

Netscaler立身之本——NAT

客户端的地址由192.168.20.1netscaler替换为192.168.10.11,遂可以访问服务器资源

Netscaler立身之本——NAT 

抓包情况:

Netscaler立身之本——NAT

2.INAT

netscaler上配置INAT策略,将10.10.1.2转换为192.168.0.50

Netscaler立身之本——NAT


Netscaler中没有建立10.10.1.2vserver

 Netscaler立身之本——NAT

抓包情况:

用户端192.168.20.1访问10.10.1.2netscaler转换为192.168.0.21访问192.168.0.50.

Netscaler立身之本——NAT

用户成功打开页面,在INAT中也可以灵活控制源端口、源地址、目的端口等是否转换。

 

 

3.IP mode

IP mode的工作机制是默认同时做源地址和目的地址的替换,即相当于静态NAT

Netscaler立身之本——NAT

抓包情况:

用户端192.168.20.1访问172.16.10.10,被Netscaler替换为192.168.0.21访问192.168.0.50

Netscaler立身之本——NAT 

4.Netprofile

建立两个Netprofile

Netscaler立身之本——NAT 

Netprofile_vs绑定到Vserver

Netscaler立身之本——NAT 

抓包情况:

客户端192.168.20.1访问172.16.10.10Netscaler替换为192.168.10.11访问192.168.0.50,源地址不是snip192.168.0.21而是Netprofile_vs的地址192.168.10.11

Netscaler立身之本——NAT 

Netprofile_vs绑定到Vserver同时将Netprofile_service绑定到service

Vserver

Netscaler立身之本——NAT 

Service

Netscaler立身之本——NAT 

抓包情况:

客户端192.168.20.1访问172.16.10.10Netscaler替换为192.168.10.22访问192.168.0.50,源地址而非Netprofile_vs中的192.168.10.11

 

Netscaler立身之本——NAT 

通过Netprofile测试说明了Netprofile绑在service的优先级高于vserver

 

5.USIP

保留Netprofileservice上开启USIP,并将服务器的网关指向netscaler

Netscaler立身之本——NAT 

抓包情况:

用户端192.168.20.1访问172.16.10.10,只有目的地址被Netscaler替换为192.168.0.50,源地址不变。

Netscaler立身之本——NAT 

此项说明一旦启用USIPnetscaler所有基于源地址替换的操作全部禁用,不管是默认用SNIP轮训还是指定Netprofile都不生效。

6.MAC mode

MAC mode不做目的地址替换,必须是any的协议才能启用,主要用在LLB

配置mac modeVSservicegroupmember

Netscaler立身之本——NAT

Netscaler立身之本——NAT

Netscaler立身之本——NAT

 

10.10.1.1是服务器的第二IP

抓包情况:

客户端192.168.20.1访问10.10.1.1,被netscaler替换源地址192.168.10.11后直接访问10.10.1.1,目的地址不做替换。

 

Netscaler立身之本——NAT 

 

Netscaler立身之本——NAT 

当然如果需要也可以控制是否做源地址、源端口、目的端口的替换。

 

 

7.Service port=*


服务器同时开启8000口的服务

建立两个service

Netscaler立身之本——NAT 

 

http协议的8000口和TCP协议的any

建立两个vserver

Netscaler立身之本——NAT 

抓包情况:

用户端192.168.20.1带端口访问172.16.10.10:3000

Netscaler立身之本——NAT 

NS同时替换源IP+端口和目的IP+端口,源地址变为192.168.0.2130748目的地址变为192.168.0.508000.

Netscaler立身之本——NAT 

但如果用户访问的是anyVserver话目的端口不会改变

抓包情况:

用户端192.168.20.1访问172.16.10.11:8000

Netscaler立身之本——NAT 

netscaler替换为192.168.0.21:40948访问192.168.0.50:8000

Netscaler立身之本——NAT 

访问过程目的端口不会改变。

8.Proxy port

如果想源端口也不变需要去掉use proxy port选项,同时开启USIP

Netscaler立身之本——NAT 

抓包情况:

用户端192.168.20.1:4503访问172.16.10.10:3000

Netscaler立身之本——NAT 

netscaler替换为192.168.20.1:4503访问192.168.0.50:8000,源地址和源端口不做替换

Netscaler立身之本——NAT 

 

一、总结:

以上展示了可以控制netscaler NAT行为的所有参数,可知netscaler有非常丰富的参数来根据需要灵活控制NAT行为(对于INAT部分有另一篇文章做详细讨论)根据数通设备习惯的NAT术语,总结了netscaler各个参数对应的NAT类型。

项目

Netscaler默认情况

Netscaler可调整情况

RNAT

动、静态SNAT

动、静态PNAT

INAT

静态DNAT

静态PNAT

IP mode

动、静态SNAT+DNAT

动、静态PNAT

Netprofile

动、静态SNAT

动、静态PNAT

USIP

静态SNAT

静态PNAT

MAC mode

动态SNAT(固定目的IP


Service port=*

目的端口不变PNAT


Service use proxy port

源端口不变PNAT

动、静PNAT


相关内容

热门资讯

女子出租屋凌晨疑遭陌生人闯入,... 极目新闻记者 郭奕据红星新闻报道,居住在杭州的女子小鱼(化名)在社交媒体上发布了一段拍摄于4月28日...
唐山市委书记调整 澎湃新闻记者 岳怀让据河北卫视《河北新闻联播》消息,河北省委常委常斌已任唐山市委书记。公开资料显示,...
视频丨开工忙、消费旺、出口强 ... 国家发展改革委国家信息中心今天发布4月份经济各领域先行指标,显示出经济稳步向好的大趋势。
喷了光触媒的物品在车里可以除甲... 最佳回答 可以的,效果挺好的。光催化剂中的催化剂可以氧化分解各种有机污染物和无机污染物,在空气中与...
家庭装修走暗线还是明线好? 个人认为装修的话选择暗线好些 1、由于走暗线带来的美观效果非常强,因此成为大多数人的首选...
朗逸钥匙装饰盖怎么取下 将遥控钥匙有标志的一面向上,用扁的小起子撬进缝隙的中部,钥匙会分开一个缝,按中缝将钥匙分开即可。既然...
不平整的墙面怎么装饰 不平等的墙可以请专门的画腻子画的大师去进行创作。现在很多的墙面,人家都用刮腻子的方式去做壁画。像那种...
明线安装和暗线安装应该怎么选择... 随着社会发展,人们生活水平提高,大部分农村家庭都能盖上一层或者几层楼房,楼层盖好后接下来就是装修的问...
“华盛顿”号航母驶离日本横须贺... △“乔治·华盛顿”号核动力航空母舰(资料图)当地时间10日上午,美国“乔治·华盛顿”号核动力航母完成...
司机因操作不当引发车祸致2死6... 极目新闻记者 谢茂5月10日13时40分许,重庆黔江区一处十字路口发生一起交通事故。据重庆市公安局黔...