网络地址转换

NAT概述

网络地址转换(NAT)通过将内部网络的私有IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上,广泛应用于各类型的互联网接入方式和各种类型的网络中。

NAT的实现方式有一下三种

静态地址转换:将内部网络的私有IP地址转换为公有的合法的IP地址,IP地址的对应关系是一对一的,而且是不变的,即某个私有的IP地址只能转换为某个固定的公有IP地址。

动态地址转换:将内部网络的私有地址转换为公有地址时,IP地址的对应关系式不确定的,而是随机的,所有被授权访问互联网的私有地址可随机转换为任何指定的合法外部IP地址(注意:动态地址转换需要配置私有IP地址池和公有IP地址池,并且私有IP地址的数量不可以大于公有IP地址的数量)。

端口多路复用:改变外出数据包的源IP地址和源端口并进行端口转换,即端口地址转换采用端口多路复用方式。内部网络的所有主机均可共享一个合法的外部IP地址实现互联网的访问,从而可以最大限度地节约IP地址资源。


配置三种NAT的语法如下

1、配置静态NAT

在内部地址和路由器的外部接口地址之间建立静态地址转换的语法如下:

Router(config)#ipnatinsidesourcestaticlocal-ipglobal-ip[extendable]

各参数解释如下

insidesource:表示从inside口进入的流量将源地址(source)进行静态转换。

local-ip:内部IP地址

global-ip:外部IP地址

extendable:(可选)表示允许同一个内部地址映射到多个外部地址。

列如:配置将内部服务器192.168.1.100映射到路由器的公有IP地址202.106.123.1上。

Router(config)#ipnatinsidesourcestatic192.1681.100202.106.123.1

2、配置NAT端口映射

将内部地址的TCP或UDP端口映射到外部地址的语法如下:

Router(config)#ipnatinsidesourcestaticprotocollocal-ipUDP/TCP-portglobal-ipUDP/TCP-port[extendable]

各参数解释如下

insidesource:表示从inside口进入的流量将源地址(source)进行静态转换。

local-ipUDP/TCP-port:内部IP地址和端口号。

global-ipUDP/TCP-port:外部IP地址和端口号。

extendable:(可选)表示允许同一个内部地址映射到多个外部地址。

列如:将内部web服务器192.168.2.200的8080端口隐射到外部202.106.123.2的80端口上。

Router(config)#ipnatinsidesourcestatictcp192.1681.1008080202.106.123.180

3、配置动态NAT

在配置动态的NAT时,需要创建允许访问外网的内部地址池和需要映射的外部地址池,注意:内部IP地址数不可以大于外部IP地址数。

创建内部允许访问外网的地址池,这里我们可以结合上一章我所学的ACL。

列如:使用ACL定义一个允许访问外网的网段。

Router(config)#access-list1permit192.168.10.00.0.0.255

定义外部地址池的语法如下:

Router(config)#ipnatpoolpool-namestart-ipend-ip{netmasknetmask|prefix-lengthprefix-length}[typerotary]

各参数解释如下:
pool-name:放置外部地址的地址池名称。

start-ip/end-ip:地址池内起始和终止IP地址。

netmasknetmask:子网掩码,以点分十进制数表示。

prefix-lengthprefix-length:子网掩码,以掩码中1的数量表示(如:prefix-length24等同于netmask255.255.255.0)。

typerotary:(可选)地址池的地址为循环使用。

列如:创建一个外部地址池。

Router(config)#ipnatpooltest61.159.62.13161.159.62.190netmask255.255.255.192

将创建好的内部地址池和外部地址池进行地址转换语法如下:

Router(config)#ipnatinsidesourcelistaccess-list-numberpoolpoo-name[overload]

overload:(可选)表示使用地址复用。

列如:将上面创建好的内部地址池和外部地址池进行地址转换。

Router(config)#ipnatinsidesourcelist1pooltest


配置端口多路复用(PAT)

端口多路复用可以针对外部地址进行转换,也可以直接使用路由器的外部接口IP地址进行转换。

配置端口多路复用也需要创建内部地址池和外部地址池,方法和动态NAT一样。

列如:配置端口多路复用,允许192.168.100.0/24网段的内部IP通过202.106.123.1这个外部地址上网。

1、创建内部地址池

Router(config)#access-list2permit192.168.100.00.0.0.255

2、创建外部地址池

Router(config)#ipnatpooltest1202.106.123.1202.106.123.1netmask255.255.255.192

3、设置复用动态地址转换

Router(config)#ipnatinsidesourcelist2pooltest1overload

也可以不创建外部地址池,而直接使用路由器的外部接口。

Router(config)#ipnatinsidesourcelist2intf0/0overload


不管配置的是那种类型的NAT,最后都不要在路由器接口上启用NAT,否则配置无效。

在路由器的接口上启用NAT。

Router(config)#intf0/0

Router(config-if)#ipnatoutside

Router(config)#intf1/0

Router(config-if)#ipnatinside

设置NAT功能的路由器需要有一个内部端口(inside)和一个外部端口(outside)。内部端口连接的网络使用的是内部IP地址,外部端口连接的是外部的网络,如互联网。

你可能感兴趣的:(互联网,路由器,IP地址,数据包,最大限度)