返回

NAT

NAT是一种地址转换技术,通常在局域网接入广域网时使用。

常用的NAT有三种类型:

静态NAT

动态NAT

端口NAT

什么是NAT?

局域网通常使用私有地址组建,但私有地址不具有唯一性,所以我们不能用私有地址访问外网。

NAT是一种地址转换技术,它可以把私有地址转换为公有地址,从而让局域网中的主机可以访问外网。

实现NAT功能的设备称为“NAT网关”,它可以是路由器、无线路由器、服务器、防火墙等设备。

为什么要使用NAT?

私有地址任何人都能使用,不需要申请,方便了局域网用户。

私有地址不能被外网用户直接访问,对局域网中的主机有一定的保护作用。

使用NAT后,我们可以用少量公有地址为大量的局域网用户提供地址转换,节省了公有地址的使用量。

静态NAT

静态NAT实现的是私有地址和公有地址一对一的固定转换,主要用于一些关键设备,如局域网中的服务器。

静态NAT的配置:

Router(config)#interface 内网接口
Router(config-if)#ip nat inside
Router(config-if)#interface 外网接口
Router(config-if)#ip nat outside
Router(config)#ip nat inside source static 内网地址 外网地址!静态NAT

私有地址可由局域网管理员自行规划和使用。

公有地址通常是由网络服务商提供的,他们会向相关机构申请公有地址,然后分配给局域网用户。

通常一个局域网用户能获得的公有地址数量很少,所以我们只会给最关键的局域网设备提供静态NAT。

静态NAT配置举例:

R1是局域网边界路由器,R2是外网路由器。

DNS:内网地址192.168.1.1,外网地址200.1.1.3。

Web:内网地址192.168.1.2,外网地址200.1.1.4,域名www.bsy.cn。

在R1上配置NAT,使外网主机可以访问内网服务器。

静态NAT:

R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface s0/0/0
R1(config-if)#ip nat outside
R1(config)#ip nat inside source static 192.168.1.1 200.1.1.3
R1(config)#ip nat inside source static 192.168.1.2 200.1.1.4

完成后,外网用户用 200.1.1.3 访问内网中的DNS服务器,用 200.1.1.4 访问内网中的Web服务器。

查看NAT的转换结果:

R1#show ip nat translations

动态NAT

动态NAT是将多个合法IP地址统一的组织起来,构成一个IP地址池,当有主机需要访问外网时,就分配一个合法IP地址与私有地址进行转换,主机用完后,就归还该地址。

动态NAT主要用于让内网中的客户端可以访问外网。

动态NAT的配置

Router(config)#interface 内网接口
Router(config-if)#ip nat inside
Router(config-if)#interface 外网接口
Router(config-if)#ip nat outside
Router(config)#ip nat pool 地址池名字 起始IP 结束IP netmask 子网掩码
Router(config)#access-list 表号 permit 地址 通配符掩码
Router(config)#ip nat inside source list 表号 pool 地址池名字 [overload]

配置举例

用地址池 200.1.1.3~200.1.1.10 对形如 192.168.1.* 格式的地址进行动态NAT转换。

R1是局域网边界路由器,R2是外网路由器。

在R1上配置NAT,使内网主机可以访问外网服务器。

配置动态NAT:

R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface s0/0/0
R1(config-if)#ip nat outside
R1(config)#ip nat pool P1 200.1.1.3 200.1.1.10 netmask 255.255.255.0
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#ip nat inside source list 1 pool P1 overload

完成后,内网用户可以访问外网中的服务器,但外网不能访问内网中的主机,原因是内网用户访问外网时使用的公有地址是临时的,用完就释放了。

关于 Access List

Access List(简称ACL)是访问控制列表,它在此处的作用是指定参与NAT转换的私有地址的格式。

ACL语句用于指定一种地址格式。

地址 通配符掩码”构成地址格式,与掩码中“0”对应的位表示精确匹配,与“1”对应的位表示任意。

如:“192.168.1.0 0.0.0.255”匹配的是所有 192.168.1.* 格式的IP地址。

如果有多种地址格式,可使用多条ACL语句,表号需相同。

如:指定地址格式为 192.168.*.* 和 10.10.10.*

access-list 1 permit 192.168.0.0 0.0.255.255

access-list 1 permit 10.10.10.0 0.0.0.255

端口多路复用技术

为了使用少量公有地址为大量局域网用户提供NAT转换,我们借用了端口号来区分局域网中主机的一次访问。

每当有局域网应用访问外网时,用“IP地址:端口号”作为它本次访问的地址,这样很多应用可共享一个公有地址。

当一个公有地址上的端口号用完了,才会使用下一个公有地址。

命令中的 overload 关键字决定是否开启端口多路复用技术。有此关键字表示开启,没有则不开启。

开启端口多路复用技术可节省公有IP地址的使用量,但会加大NAT设备的负担,影响其转发速度。

端口NAT

端口NAT又称NAPT或PAT,它是将多个内部地址映射为一个公有地址,用端口多路复用技术区分各个内部连接。

端口NAT主要用于家庭网络和一些用户很少的小型局域网,服务商会把大的地址块切割成小块,让用户只使用一个合法地址就可实现NAT映射。

家用无线路由器就自带NAPT,所以,家庭网络连接外网时可直接用无线路由器连接。

无线路由器的WAN接口地址来自于服务商的DHCP服务,内网中所有客户机都使用这个地址访问外网。

无线路由器在局域网中的使用

在局域网中使用无线路由器时,必须保证它的WAN接口有IP地址,该地址就是它下面所有客户端共享的外网地址。

如果局域网中有多个无线路由器,不同无线路由器下面的客户机IP地址可以相同。

无线路由器下面的客户机可以ping通其它网络中的主机,但反过来则ping不通。

NAPT的配置

NAPT可看做是动态NAT的特例,它不需要创建地址池,只是把内网地址映射到外网出口上即可。另外,它的端口多路复用是必须启用的。

Router(config)#interface 内网接口
Router(config-if)#ip nat inside
Router(config-if)#interface 外网接口
Router(config-if)#ip nat outside
Router(config)#access-list 表号 permit 地址 通配符掩码
Router(config)#ip nat inside source list 表号 interface 接口 overload

配置举例

由于一个IP地址能承受的端口复用数量是有限的,所以NAPT只适合用户数量较少的局域网。

由于只需一个公网地址,掩码设置为30(255.255.255.252),块大小为4。

NAPT配置在R1,各用户共享s0/0/0口的IP地址。

配置NAPT:

R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface s0/0/0
R1(config-if)#ip nat outside
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#ip nat inside source list 1 interface s0/0/0 overload

完成后,内网用户可以访问外网中的服务器。

查看配置

综合案例

R1是局域网1的边界路由器,服务商为它提供的地址块是 200.1.1.0/24,可进行静态NAT和动态NAT转换。

R2是广域网路由器,用它代表一个复杂的广域网。

R3是局域网2的边界路由器,服务商为它提供的地址块是 200.1.2.0/24,可进行静态NAT和动态NAT转换。

配置完成后,两边局域网中的客户机都可用域名访问Web网站。

查看配置

易错点

局域网和外网属于不同“自治系统”,不能在R1和R2间配置路由协议。

局域网内部所有三层设备需配置向外的默认路由。

从一个局域网内部是看不到其它局域网内部的私有地址的,只能看到静态NAT转换的公有地址。

如果在R2的路由表中存在私有地址的表项,说明配置错误。

小结

用户数量很少时可使用NAPT,如家庭网络、小型公司网络等,不需要向服务商申请额外的公有地址,直接连接到服务商网络即可。

有对外开放的服务器时,需使用静态NAT,需向服务商申请公有地址。一般的企业、学校多使用云服务器,以避免使用静态NAT。

用户规模较大的局域网应使用动态NAT,应尽量申请较多的公有地址,以减小在边界路由器上的拥堵。

想要知道你正在使用的外网地址,可在百度搜索“IP地址”,看到的是NAT转换后的公有地址。

首页
单元练习
返回顶部