网络地址转换相关知识总结(NAT)

网络地址转换知识总结(NAT Network Address Translation)

一、在下图中,如果不区分公网和私网的情况下,做好相应路由相关配置,抓取节点数据流量进行分析:

  

 

 

  

            从两节点设备,抓取数据,很明显:IP数据包在网络中流转时,IP数据包传输的来回模式都一样。即:源IP地址和目标IP地址是不变的,变的是依次传输的各网络节点设备的接口的源MAC地址和目标MAC地址。

           在公网中IP地址是唯一的,如果私网IP地址(每个个人在家或在企业中任意设置的IP地址)都实际参与网络数据流转,显然将导致整个网络体系中,IP地址唯一性这一条严重的挑战,整个网络体系直接崩溃瘫痪。

            但现实中,企业的服务器在特殊情况下,需要对外开放,但私网IP地址又开放不了,也因此产生特殊情况下,打通私网和公网,又不至于导致网络瘫痪的方法NAT,即:内外网地址相互转换的技术。

            

 

   这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上部署NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

 另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。

NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的电脑联机到互联网上时,他所显示的 IP 是 NAT 主机的公网IP,所以客户端的 PC 当然就具有一定程度的安全了,外界在进行端口扫描的时候,就侦测不到源客户端的电脑。
 
理解以上相关概念,剩下的就是就是技巧和变通的方法了。

二、NAT相关知识,如下:

在一定程度上外网等同于公网,内网等同于私网。

以下3个区域IP地址就是处于私网:

A类私网:10.*.*.*
B类私网:172.16.*.* 172.31.*.*
C类私网:192.168.*.* ( * 为0到255之间的任意数字 )

以上3个区域外的IP地址就是处于公网之中了。

公网地址
公网地址是指在因特网上直接可达的地址,如果你有一个公网地址,那就意味着你不但能访问别人,还能被人访问。公网地址是架设各种服务器必不可少的条件。 

私网地址
私网地址产生的一个原因是因为公网地址非常缺乏,大家不得不使用同一个公网IP地址上网,这就是共享上网的由来。同样,私网地址仍然可以被再次共享。

静态NAT

静态NAT实现了私有IP地址和公有IP地址的一对一的对应关系;即:一个公网IP地址只固定分配给内网唯一的主机。

动态NAT

动态NAT,会建立地址池,基于地址池来实现私有地址和公有地址的转换,实现公有地址的内部共享。

注:私网地址可以直接ping外网远程服务器,但是对方服务器在公网中找不到这个地址,所以无法回信。

三、NAT配置

 3.1.静态NAT

 

 

 3.1.1.PC基本配置

 3.1.2.服务器基本配置

 3.1.3.交换机配置

vlan batch 10

#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 10

3.1.4.路由器配置

AR1路由器

interface GigabitEthernet0/0/0
ip address 200.1.1.1 255.255.255.240

//经过NAT转换,三个内网地址就相关与对外网透明,但换了马甲。
nat static global 200.1.1.11 inside 192.168.10.1 netmask 255.255.255.255  
nat static global 200.1.1.12 inside 192.168.10.2 netmask 255.255.255.255
nat static global 200.1.1.13 inside 192.168.10.3 netmask 255.255.255.255
#
interface GigabitEthernet0/0/1
ip address 192.168.10.254 255.255.255.0

ip route-static 0.0.0.0 0.0.0.0 200.1.1.2  //根据前面分析,可看出,内网数据是可以出去的,但回来找不到私有地址见面的路。即有出无回。也是NAT的配置的前提。

AR2路由器(不需要配置路由,因为是模拟ISP运行换机,没有配置任何路由,但3个内网主机IP地址在经NAT转换后,相当于与AR2直连,所以逻辑上就通了)

#
interface GigabitEthernet0/0/0
ip address 200.1.1.2 255.255.255.240
#
interface GigabitEthernet0/0/1
ip address 220.1.1.254 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 220.1.2.254 255.255.255.0

 

连通性测试

PC>ipconfig

Link local IPv6 address...........: fe80::5689:98ff:fec8:6809
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.10.1
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.10.254
Physical address..................: 54-89-98-C8-68-09
DNS server........................:

PC>ping 220.1.2.1

Ping 220.1.2.1: 32 data bytes, Press Ctrl_C to break
From 220.1.2.1: bytes=32 seq=1 ttl=253 time=32 ms
From 220.1.2.1: bytes=32 seq=2 ttl=253 time=31 ms
From 220.1.2.1: bytes=32 seq=3 ttl=253 time=47 ms
From 220.1.2.1: bytes=32 seq=4 ttl=253 time=31 ms
From 220.1.2.1: bytes=32 seq=5 ttl=253 time=47 ms

--- 220.1.2.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/37/47 ms

连通性测试并抓取数据,对比发现:经过出接口的NAT操作后,源地址从内网地址变成公网地址

 

 

 

3.2.动态NAT (选择配置的接口方法与静态NAT方法一致)

      静态NAT:能从内向外PING,也能从外向内ping

      动态NAT:能从内向外PING,但不能从外向内ping(因为动态NAT的地址池里的地址是动态使用,回传未必是原来的那个外网IP对应的内网地址,故只能抛弃数据包)

 

SW交换机配置

interface GigabitEthernet0/0/1
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 5

 

Router1配置

vlan 5

acl  2000  //建立acl 2000,用于控制192.168.100.0网络
rule 5 permit source 192.168.100.0 0.0.0.255

nat address-group 1 200.1.2.1 200.1.2.10   //建立nat 公网地址组,要从小到大,中间不能跳跃

interface GigabitEthernet0/0/0
ip address 192.168.100.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 200.1.2.11 255.255.255.240
nat outbound 2000 address-group 1 no-pat   //将内网段与公网地址组进行映射

ip route-static 0.0.0.0 0.0.0.0 200.1.2.2

Router2配置

interface GigabitEthernet0/0/0
ip address 210.1.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 200.1.2.2 255.255.255.240

 

动态PNAT总结

PNAT ( Port Address Translation或者称为PAT )
地址与端口一起转换,与动态NAT配置区别,只是没有no pat这一项,其他一样

PAT叫端口地址转换,NAT是网络地址转换,由RFC 1631定义。
PAT可以看做是NAT的一部分。
在NAT时,考虑一种情形,就是只有一个公网 IP,而内部有多个私有 IP,这个时候NAT就要通过映射UDP和TCP端口号来跟踪记录不同的会话,比如用户A、B、C同时访问CSDN,则NAT路由器会将用户A、B、C访问分别映射到1088、1098、23100(举例而已,实际上是动态的),此时实际上就是PAT了。

 

SW交换机配置

interface GigabitEthernet0/0/1
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 5

 

Router1配置

vlan 5

acl  2000  //建立acl 2000,用于控制192.168.100.0网络
rule 5 permit source 192.168.100.0 0.0.0.255

nat address-group 1 200.1.2.10 200.1.2.10   //建立nat 公网地址组,这里其实就一个公网IP地址

interface GigabitEthernet0/0/0
ip address 192.168.100.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 200.1.2.1  255.255.255.240   //出接口地址
//nat outbound 2000 address-group 1 no-pat   //将内网段与公网地址组进行映射,就这句不同,其他都相同

nat outbound 2000 address-group 1    //这句没有no-pat,默认为pat模式

ip route-static 0.0.0.0 0.0.0.0 200.1.2.2   //默认路由

Router2配置

interface GigabitEthernet0/0/0
ip address 210.1.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 200.1.2.2 255.255.255.240

  

动态PNAT的EasyIP

PNAT EasyIP
地址与端口一起转换,与动态PNAT配置区别,
没有no pat,也没有地址池,用出接口本身外网地址

//动态PNAT模式的EasyIP
ACL 2000
rule 10 permit source 192.168.10.0 0.0.0.255  //0通配符的考虑,即全网通过
rule 20 permit source 192.168.20.1 0.0.0.254   //二进制以1结尾的IP地址通过
rule 30 deny source 192.168.30.1 0.0.0.0   //通配符全0,即精确匹配
rule 40 permit source 192.168.30.0 0.0.0.255  

//EasyIP没有地址池,用的是出接口的外网IP地址
interface g0/0/1
nat outbound 2000 //EasyIP就这条绑定命令,无地址池即默认任意地址,默认PAT

  

SW交换机配置

vlan batch 10 20 30 100

#
interface Vlanif10
ip address 192.168.10.254 255.255.255.0
#
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
#
interface Vlanif30
ip address 192.168.30.254 255.255.255.0
#
interface Vlanif100
ip address 192.168.100.254 255.255.255.0

interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 30
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 100 

Router1配置

acl  2000

rule 10 permit source 192.168.10.0 0.0.0.255
rule 20 permit source 192.168.20.1 0.0.0.254
rule 30 deny source 192.168.30.1 0
rule 40 permit source 192.168.30.0 0.0.0.255

#
interface GigabitEthernet0/0/0
ip address 192.168.100.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 200.1.2.1 255.255.255.240
nat outbound 2000  //没有no pat,也没有地址池,用出接口本身外网地址

 

ip route-static 0.0.0.0 0.0.0.0 200.1.2.2
ip route-static 192.168.10.0 255.255.255.0 192.168.100.254
ip route-static 192.168.20.0 255.255.255.0 192.168.100.254
ip route-static 192.168.30.0 255.255.255.0 192.168.100.254

 

 

静态PNAT与 NAT server

首先PNAT是由内网访问外网进行的NAT配置,无非是采用内网地址与外网地址:一对一(内网IP与外网IP一一对应,能出能回),多对多(动态NAT,建立外网IP地址次,轮着用,能出不能回),多对一(动态PNAT,IP与端口一起转换,用的是单独外网IP。EasyNAT,IP与端口一起转换,但用的是出接口的现有IP地址 )

NAT Server是建立外网访问内网服务器的映射,远程用户客户端,表面上访问的是外网的地址及端口,实际访问的是内网服务器及端口

相关配置样式如下:

interface GigabitEthernet0/0/1

ip address 200.1.2.12 255.255.255.240    //配置出接口IP地址

nat server protocol icmp global 200.1.2.11 inside 192.168.100.3
nat server protocol tcp global 200.1.2.11 www inside 192.168.100.1 www    //配置入向NAT转换,即由外向内转换。但要注意的是,表面是访问外网地址200.1.2.11,实际是访问192.168.100.3

nat outbound 2000 address-group 1   //配置出向NAT转换,即由内向外访问

 

1.建立NATServer模型

 

2.基础配置

  服务器,客户端,交换机基本配置

  交换机配置如下:

  

port-group 5
group-member GigabitEthernet0/0/1
group-member GigabitEthernet0/0/2
group-member GigabitEthernet0/0/3
group-member GigabitEthernet0/0/4

#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 5

3.出向配置

Router1

nat address-group 1  200.1.2.10   200.1.2.10

acl number 2000

rule 5 permit source 192.168.100.0 0.0.0.255

 

interface GigabitEthernet0/0/0

ip address 192.168.100.254 255.255.255.0

#
interface GigabitEthernet0/0/1

ip address 200.1.2.12 255.255.255.240

nat outbound 2000 address-group 1 

 

4.入向配置

Router1

interface GigabitEthernet0/0/1

nat server protocol icmp global 200.1.2.11 inside 192.168.100.3    //开通PING的工能,ping 200.1.2.11,但实际是ping 192.168.100.3
nat server protocol tcp global 200.1.2.11 www inside 192.168.100.1 www   //开通HTTP服务器,客户访问的地址是外网200.1.2.11:80,但实际访问的是192.168.100.1:80

5.测试连通性

http 是否转换成功测试:

nat server protocol tcp global 200.1.2.11 www inside 192.168.100.1 www   //开通HTTP服务器,客户访问的地址是外网200.1.2.11:80,但实际访问的是192.168.100.1:80

 

        从下图可以看图完整的过程:建立连接,传输http,关闭连接的过程。其中访问200.1.2.11,但打开的是192.168.100.1上http服务

 

 

 

 

ping的功能是否开通测试:

nat server protocol icmp global 200.1.2.11 inside 192.168.100.3    //开通PING的工能,ping 200.1.2.11,但实际是ping 192.168.100.3

 

由210.1.2.1 对200.1.2.11进行连通测试,ping 3个包

 

210.1.2.1确实交给了200.1.2.11,但是Router1转手就给了192.168.100.3。左右两边对比,很明显。

这里要求注意,从外网是不可以直接访问内网的,ping肯也不行,所以ping 192.168.100.3是不是通,只能ping200.1.2.11.

注:NAT Server转换后,他是双向的,当然它只是对应访问它的客户端。 

               PNAT则是访问外网,而不是单独某个服务器。

 

 附NAT解释截图:

 

posted on 2022-07-17 20:55  人生不开窍  阅读(1277)  评论(0编辑  收藏  举报

导航