zl程序教程

您现在的位置是:首页 >  Java

当前栏目

NAT网络地址转换_路由交换基础

2023-02-18 16:43:08 时间

网络地址转换NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能,实现局域网内的主机访问外部网络。通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,既保证网络互通,又节省公网地址。

NAT应用场景:

企业或家庭所使用的网络为私有地址,使用的是私有地址;运营商维护的网络为公共网络,使用的是共有地址。私有地址不能在公网中路由。NAT一般部署在连接内网和外网的网关设备上。

NAT应用方式:

  • 静态NAT实现了私有地址和公有地址的一对一映射,一个公网IP只会分配给唯一且固定的内网主机。
  • 动态NAT基于地址池来实现私有地址和公有地址的转换。
  • NAPT:网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口
  • Easy IP允许将多个内部地址映射到网关出接口地址上不同端口。

静态NAT配置:

[RTA]int G0/0/1
[RTA-GigabitEthernet0/0/1]ip add 192.168.1.254 24
[RTA-GigabitEthernet0/0/1]int S0/0/0
[RTA-Serial0/0/0]ip add 200.10.10.2 24
[RTA-Serial0/0/0]nat static global 202.10.10.1 inside 192.168.1.1   //global参数用于配置外部公网地址
[RTA-Serial0/0/0]nat static global 202.10.10.1 inside 192.168.1.2   //inside参数用于配置内部私有地址
dis nat static
  Static Nat Information:
  Interface  : Serial0/0/0
    Global IP/Port     : 202.10.10.1/----   //标识公网地址和服务端口号
    Inside IP/Port     : 192.168.1.1/----   //表示私有地址和服务端口号
   ......

说明:

nat static global {global-address} inside {host-address}命令用于创建静态NAT,//global参数用于配置外部公网地址,//inside参数用于配置内部私有地址。

动态NAT配置:

[RTA]nat address-group 1 200.10.10.1 200.10.10.200  //配置NAT地址池
[RTA]acl 2000
[RTA-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[RTA-acl-basic-2000]q
[RTA-Serial0/0/0]nat outbound 2000 address-group 1 no-pat  //将ACL2000与待转换的192.168.1.0/24网段的流量关联起来
[RTA]dis nat address-group 1   //查看NAT地址池配置信息
 NAT Address-Group Information:
 --------------------------------------
 Index   Start-address      End-address
 --------------------------------------
 1         200.10.10.1    200.10.10.200
 --------------------------------------
  Total : 1
  [RTA]dis nat outbound   //查看动态NAT配置信息
 NAT Outbound Information:
 --------------------------------------------------------------------------
 Interface                     Acl     Address-group/IP/Interface      Type
 --------------------------------------------------------------------------
 Serial0/0/0                  2000                              1    no-pat
 --------------------------------------------------------------------------
  Total : 1

思路:

讲一个访问控制列表ACL和一个地址池关联起来,标识ACL中规定的地址可以使用地址池进行地址转换。ACL用于指定一个规则,用来过滤特定流量。

注意:

指定接口S0/0/0与ACL关联在一起,并定义了用于地址转换的地址池1,参数no-pat说明没有进行端口地址转换。

Easy IP配置:

[RTA]acl 2000
[RTA-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 
[RTA-Serial0/0/0]nat outbound 2000
dis nat outbound
 NAT Outbound Information:
 --------------------------------------------------------------------------
 Interface                     Acl     Address-group/IP/Interface      Type
 --------------------------------------------------------------------------
 Serial0/0/0                  2000                        0.0.0.0    easyip  
 --------------------------------------------------------------------------
  Total : 1

思路:

Easy IP的配置与动态NAT的配置类似,需要定义ACL和nat outbound 命令,主要区别是Easy IP不需要配置地址池,所以nat outbound命令中不需要配置参数address-group。

NAT服务器配置:

[RTA]int E0/0/1
[RTA-Ethernet0/0/1]ip add 192.168.1.254 24
[RTA]int S0/0/0
[RTA-Serial0/0/0]ip address 200.10.10.2 24  
[RTA-Serial0/0/0]nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080
[RTA]dis nat server 
  Nat Server Information:
  Interface  : Serial0/0/0
    Global IP/Port     : 202.10.10.1/80(www) 
    Inside IP/Port     : 192.168.1.1/8080
    Protocol : 6(tcp)   
    V** instance-name  : ----                            
    Acl number         : ----
    Description : ----
  Total :    1

说明:

nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080 用来定义一个内部服务器的映射表,外部用户可以通过公网地址和端口来访问内部服务器。参数Protocol指定一个需要地址转换的协议;参数global-address指定需要转换的公网地址;参数inside指定内网服务器的地址。 在本示例中,全局地址202.10.10.1和关联的端口号80(www)分别被转换成内部服务器地址192.168.1.1和端口号8080。

[warning] 总结:

哪种NAT转换允许服务器既能被内部访问又能被外部访问?

通过NAT内部服务器配置,将公网地址与一个私网服务器地址绑定,在地址转换后,外网主机便可以通过公有地址访问内网服务器。同时,私网地址可以通过服务器的私网地址访问内网服务器。

NAPT有什么功能和特点?

NAPT是基于端口转换,而不是基于IP地址转换。NAPT允许多个内部地址映射到同一个公有地址的不同端口。[/warning]