NAT的配置

本部分包括以下内容:

动态NAT的配置

动态NAPT的配置

接口动态NAPT的配置

网络地址转换(NAT)用于把一个IP地址转换为另一个IP地址。

NAT的一些术语:

1、内部本地地址(Inside Local Address)

指本网络内部主机的IP地址。该地址通常是未注册的私有IP地址。

2、内部全局地址(Inside Global Address)

指内部本地地址在外部网络表现出的IP地址。它通常是注册的合法IP地址,是NAT对内部本地地址转换后的结果。

3、外部本地地址(Outside Local Address)

指外部网络的主机在内部网络中表现的IP地址。

4、外部全局地址(Outside Global Address)

指外部网络主机的IP地址。

5、内部源地址NAT

把 Inside Local Address 转换为 Inside Global Address。这也是我们通常所说的NAT。在数据报送往外网时,它把内部主机的私有IP地址转换为注册的合法IP地址,在数据报送入内网时,把地址转换为内部的私有IP地址。

6、外部源地址NAT

把 Outside Global Address 转换为 Outside Local Address。这种转换只是在内部地址和外部地址发生重叠时使用。

7、NAPT

NAPT又称port NAT或PAT,它是通过端口复用技术,让一个全局地址对应多个本地地址,以节省对合法地址的使用量。

本部分只讨论内部源地址的动态NAT和动态NAPT的配置。

NAT的配置 动态NAT的配置
回顶部

这里指的是内部源地址的动态NAT的配置。它有以下特征:

1、内部本地地址和内部全局地址是一对一映射。

2、动态NAT是临时的,如果过了一段时间没有使用,映射关系就会删除。

动态映射需要把合法地址组建成一个地址池,当内网的客户机访问外网时,从地址池中取出一个地址为它建立NAT映射,这个映射关系会一直保持到会话结束。

动态NAT的配置:

Ruijie(config)# ip nat pool pool-name start-address end-address netmask subnet-mask

这个命令用于定义一个IP地址池,pool-name是地址池的名字,start-address是起始地址,end-address是结束地址,subnet-mask是子网掩码。地址池中的地址是供转换的内部全局地址,通常是注册的合法地址。

Ruijie(config)# access-list access-list-number permit address wildcard-mask

这个命令定义了一个访问控制列表,access-list-number是表号,address是地址,wildcard-mask是通配符掩码。它的作用是限定内部本地地址的格式,只有和这个列表匹配的地址才会进行NAT转换。

Ruijie(config)# ip nat inside source list access-list-number pool pool-name

这个命令定义了动态NAT,access-list-number是访问列表的表号,pool-name是地址池的名字。它表示把和列表匹配的内部本地地址,用地址池中的地址建立NAT映射。

Ruijie(config)# interface interface-id
Ruijie(config-if)# ip nat inside

以上命令指定了网络的内部接口。

Ruijie(config-if)# interface interface-id
Ruijie(config-if)# ip nat outside

以上命令指定了网络的外部接口。

你可以配置多个 Inside 和 Outside 接口。

配置举例:

Ruijie> enable
Ruijie# configure terminal
Ruijie(config)# ip nat pool np 200.10.10.6 200.10.10.15 netmask 255.255.255.0
Ruijie(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Ruijie(config)# access-list 1 permit 192.168.20.0 0.0.0.255
Ruijie(config)# ip nat inside source list 1 pool np
Ruijie(config)# interface f0/0
Ruijie(config-if)# ip address 192.168.1.1 255.255.255.0
Ruijie(config-if)# ip nat inside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# interface s1/0
Ruijie(config-if)# ip address 199.1.1.2 255.255.255.0
Ruijie(config-if)# ip nat outside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# end
Ruijie#

本例把合法地址组建为一个地址池,地址范围是 200.10.10.6~200.10.10.15,内网中客户机的地址都是192.168.10.*和192.168.20.*的格式,当这种地址访问外网时,会用地址池中的地址建立NAT映射。

说明:访问列表的定义不要太宽,应尽量准确,否则可能会出现不可预知的结果。

NAT的配置 动态NAPT的配置
回顶部

动态NAPT可以使一个内部全局地址和多个内部本地地址相对应,从而可以节省合法IP地址的使用量。它有以下特征:

1、一个内部全局地址可以和多个内部本地地址建立映射,用IP地址+端口号区分各个内部地址。(锐捷路由器中每个全局地址最多可提供64512个NAT地址转换)

2、动态NAPT是临时的,如果过了一段时间没有使用,映射关系就会删除。

3、动态NAPT可以只使用一个合法地址为所有内部本地地址建立映射,但映射数量是有限的,如果用多个合法地址组建成一个地址池,每个地址都能映射多个内部本地地址,则可减少因地址耗尽导致的网络拥塞。

动态NAPT的配置与动态NAT基本上相同,只是在NAT定义中,需要加上overload关键字:

Ruijie(config)# ip nat inside source list access-list-number pool pool-name overload

这个命令定义了动态NAPT,access-list-number是访问列表的表号,pool-name是地址池的名字。它表示把和列表匹配的内部本地地址,用地址池中的地址建立NAPT映射。overload关键字表示启用端口复用。

加上overload关键字后,系统首先会使用地址池中的第一个地址为多个内部本地地址建立映射,当映射数量达到极限时,再使用第二个地址。

配置举例:

Ruijie> enable
Ruijie# configure terminal
Ruijie(config)# ip nat pool np 200.10.10.6 200.10.10.15 netmask 255.255.255.0
Ruijie(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Ruijie(config)# ip nat inside source list 1 pool np overload
Ruijie(config)# interface f0/0
Ruijie(config-if)# ip address 192.168.1.1 255.255.255.0
Ruijie(config-if)# ip nat inside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# interface s1/0
Ruijie(config-if)# ip address 199.1.1.2 255.255.255.0
Ruijie(config-if)# ip nat outside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# end
Ruijie#

本例把合法地址组建为一个地址池,地址范围是 200.10.10.6~200.10.10.15,内网中客户机的地址都是192.168.10.*的格式,当这种地址访问外网时,会用地址池中的地址建立NAPT映射。

NAT的配置 接口动态NAPT的配置
回顶部

你可以使用outside接口的IP地址作为唯一的内部全局地址为所有内部本地地址提供映射,它可看作动态NAPT的特例。

接口动态NAPT的配置:

Ruijie(config)# access-list access-list-number permit address wildcard-mask

这个命令定义了一个访问控制列表,access-list-number是表号,address是地址,wildcard-mask是通配符掩码。它的作用是限定内部本地地址的格式,只有和这个列表匹配的地址才会进行NAT转换。

Ruijie(config)# ip nat inside source list access-list-number interface interface-id overload

这个命令定义了动态NAPT,access-list-number是访问列表的表号,interface interface-id指定了内部全局地址所在的接口,一般是outside接口。它表示和列表匹配的内部本地地址,都用该接口的IP地址建立NAPT映射。overload关键字表示启用端口复用。

Ruijie(config)# interface interface-id
Ruijie(config-if)# ip nat inside

以上命令指定了网络的内部接口。

Ruijie(config-if)# interface interface-id
Ruijie(config-if)# ip nat outside

以上命令指定了网络的外部接口。

从以上配置可以看出,配置接口动态NAPT时可以不配置地址池。

在接口动态NAPT的配置中,只是指定了映射时使用哪个接口的IP地址,当该接口的IP地址改变时,不需要重新定义。

配置举例:

Ruijie> enable
Ruijie# configure terminal
Ruijie(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Ruijie(config)# ip nat inside source list 1 interface s1/0 overload
Ruijie(config)# interface f0/0
Ruijie(config-if)# ip address 192.168.1.1 255.255.255.0
Ruijie(config-if)# ip nat inside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# interface s1/0
Ruijie(config-if)# ip address 199.1.1.2 255.255.255.0
Ruijie(config-if)# ip nat outside
Ruijie(config-if)# no shutdown
Ruijie(config-if)# end
Ruijie#

本例定义了一个接口动态NAPT,所有形如192.168.10.*的内部本地地址,都被映射为 Serial 1/0 口的IP地址,即 199.1.1.2/24。

你可能感兴趣的:(NAT的配置)