学习日记——(路由与交换技术)网络地址转换 NAT技术

一、相关知识

NAT(网络地址转换)是将一个IP地址域转到另一个地址域的技术

NAT技术的出现是为了解决日益减少的IP地址问题,将多个内部IP地址映射为少数几个甚至一个公网地址,这样就可以实现内部网络中的主机(通常位私有地址)透明地访问外部网络的资源。同时,外部网络的主机也有选择地访问内部网络。

NAT能使内外部网络隔壁,起到一定的安全作用

什么是私有地址和公有地址?

答:私有地址是只能在一个组织或机构的内部使用,不能在Internet范围内使用,其范围是10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255

相对而言,其他范围的IP地址就是公有地址、可路由地址或合法地址,必须正式向Internet注册的组织申请并按照分配的地址范围使用。

什么是内部网络?

答:指那些由机构或企业拥有的网络,与NAT路由器上被定义的inside接口相连。

什么是外部网络?
答:指除了内部网络外的所有网络,常为Internet网络,与NAT路由器上被定义的outside接口相连。

什么是内部本地地址?

答:内部网络主机使用的IP地址,这些地址一般为私有IP地址,它们不能直接在Internet上路由,因而也不能直接用于对Internet的访问,必须通过网络地址转换(NAT),以合法的IP地址身份来访问Internet。

什么是内部全局地址?
答:内部网络使用的公有IP地址,这些地址是向ICANN申请才可取得的公有IP地址,当使用内部本机地址的主机要与Internet通信时,NAT转换时使用的地址

什么时外部本机地址?

答:外部网络主机使用的IP地址,这些地址不一定是公有IP地址。

什么是外部全局地址?

外部网络主机使用的IP地址,这些地址是全局可路由的公有IP地址。

NAT的工作原理图:

学习日记——(路由与交换技术)网络地址转换 NAT技术_第1张图片

NAT的应用环境:

1、使用NAT技术与外部网络进行隔离,有一定的安全性

2、通过NAT功能实现多个用户同时公用一个合法IP与外部Internet 进行通信。

3、如果有两个内网需要互联,而它们采用的内部私有地址范围有重合时,也可以采用NAT技术进行转换。

NAT分成三类:

1、静态地址转换;2、动态地址转换;3、地址端口转换

 二、例子

1、(静态NAT)某企业内部网络中有两台PC机,它们使用的是内部本地地址。要求正确配置静态地址转换,使这两台PC能访问Internet。其中PC1和PC2使用的内部全局地址分别为210.68.166.2和210.68.166.3, 路由器内部网络接口f0/0的IP地址为192.168.10.1,外部网络接口s1/2的IP地址为210. 68.166.1。

拓扑结构:

学习日记——(路由与交换技术)网络地址转换 NAT技术_第2张图片

代码:

 NAT路由器:

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#host

Router(config)#hostname NAT

NAT(config)#int

NAT(config)#interface g

NAT(config)#interface gigabitEthernet 0/1

NAT(config-if)#ip add

NAT(config-if)#ip address 192.168.10.1 255.255.255.0

NAT(config-if)#no sh

NAT(config-if)#no shutdown

NAT(config-if)#

%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#interface gigabitEthernet 0/0

NAT(config-if)#ip address 210.68.166.1 255.255.255.0

NAT(config-if)#no sh

NAT(config-if)#no shutdown

NAT(config-if)#

%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up

NAT(config)#ip na

NAT(config)#ip nat

NAT(config)#ip nat i

NAT(config)#ip nat inside s

NAT(config)#ip nat inside source s

配置静态NAT

NAT(config)#ip nat inside source static 192.168.10.2 210.68.166.2

NAT(config)#ip nat inside source static 192.168.10.3 210.68.166.3

NAT(config)#interface gigabitEthernet 0/1

NAT(config-if)#ip nat inside 两个接口分别要设置inside 和outside

NAT(config-if)#e                  跟内网相连的是inside,跟外网相连的是outside

NAT(config-if)#exit

NAT(config)#interface gigabitEthernet 0/0

NAT(config-if)#ip nat outside

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#end

NAT#

%SYS-5-CONFIG_I: Configured from console by console

查看NAT

NAT#show ip nat translations

Pro Inside global Inside local Outside local Outside global

--- 210.68.166.2 192.168.10.2 --- ---

--- 210.68.166.3 192.168.10.3 --- ---


Internet路由器(当成Internet,只需配接口的IP地址)

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#hos

Router(config)#hostname Internet

Internet(config)#in

Internet(config)#interface g

Internet(config)#interface gigabitEthernet 0/0

Internet(config-if)#ip add

Internet(config-if)#ip address 210.68.166.4 255.255.255.0

Internet(config-if)#no sh

Internet(config-if)#no shutdown

Internet(config-if)#

%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to u

Internet(config-if)#e

Internet(config-if)#exit


结果:原先跟Internet  ping不通,配置NAT后就可以了

学习日记——(路由与交换技术)网络地址转换 NAT技术_第3张图片

主机在跟Internet ping时,192.168.10.2映射成210.68.166.2

学习日记——(路由与交换技术)网络地址转换 NAT技术_第4张图片


2、(动态NAT)假设某企业局域网使用的内部本地地址为192.168.10.0/24,申请到的内部全局地址范围为210.68.166.5~210.68.166.16,要求在边界路由器上正确配置动态NAT转换,以实现局域网与Internet的通信。

拓扑结构:

学习日记——(路由与交换技术)网络地址转换 NAT技术_第5张图片

主机的设置

 学习日记——(路由与交换技术)网络地址转换 NAT技术_第6张图片

代码:

NAT:

Router>en

Router#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#hos

Router(config)#hostname NAT

NAT(config)#in

NAT(config)#interface g

NAT(config)#interface gigabitEthernet 0/1

NAT(config-if)#ip add

NAT(config-if)#ip address 192.168.10.254

NAT(config-if)#ip address 192.168.10.254 255.255.255.0

NAT(config-if)#no sh

NAT(config-if)#no shutdown

NAT(config-if)#

%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#interface gigabitEthernet 0/0

NAT(config-if)#ip add

NAT(config-if)#ip address 210.68.166.1 255.255.255.0

NAT(config-if)#no sj

NAT(config-if)#no sh

NAT(config-if)#no shutdown

NAT(config-if)#

%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up

动态NAT的设置,标红的三句是重点 

NAT(config)#ip nat pool abc 210.68.166.5 ?

A.B.C.D End IP address

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.16?

A.B.C.D

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.16 ne

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.16 netmask ?

A.B.C.D Network mask

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.16 netmask 255.255.255.0

(建一个NAT的映射地址池,范围从210.68.166.5~210.68.166.16,最后是掩码 )

NAT(config)#ac

NAT(config)#access-list 1 p

NAT(config)#access-list 1 permit 192.168.10.0 0.0.0.255

NAT(config)#ip n

NAT(config)#ip na

NAT(config)#ip nat

NAT(config)#ip nat i

NAT(config)#ip nat inside s

NAT(config)#ip nat inside source l

NAT(config)#ip nat inside source list 1 p

NAT(config)#ip nat inside source list 1 pool abc

NAT(config)#in

NAT(config)#interface g

设置接口的进出

NAT(config)#interface gigabitEthernet 0/1

NAT(config-if)#ip nat

NAT(config-if)#ip nat i

NAT(config-if)#ip nat inside

NAT(config-if)#interface gigabitEthernet 0/0

NAT(config-if)#ip nat outside

NAT(config-if)#e

NAT(config-if)#exit

NAT(config)#end

NAT#

%SYS-5-CONFIG_I: Configured from console by console

主机ping Internet 后查看地址的转换

NAT#show ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 210.68.166.7:5 192.168.10.3:5 210.68.166.2:5 210.68.166.2:5

icmp 210.68.166.7:6 192.168.10.3:6 210.68.166.2:6 210.68.166.2:6

icmp 210.68.166.7:7 192.168.10.3:7 210.68.166.2:7 210.68.166.2:7

icmp 210.68.166.7:8 192.168.10.3:8 210.68.166.2:8 210.68.166.2:8

icmp 210.68.166.8:13 192.168.10.1:13 210.68.166.2:13 210.68.166.2:13

icmp 210.68.166.8:14 192.168.10.1:14 210.68.166.2:14 210.68.166.2:14

icmp 210.68.166.8:15 192.168.10.1:15 210.68.166.2:15 210.68.166.2:15

icmp 210.68.166.8:16 192.168.10.1:16 210.68.166.2:16 210.68.166.2:16

icmp 210.68.166.9:5 192.168.10.2:5 210.68.166.2:5 210.68.166.2:5

icmp 210.68.166.9:6 192.168.10.2:6 210.68.166.2:6 210.68.166.2:6

icmp 210.68.166.9:7 192.168.10.2:7 210.68.166.2:7 210.68.166.2:7

icmp 210.68.166.9:8 192.168.10.2:8 210.68.166.2:8 210.68.166.2:8


 结果:主机都Ping通Internet,因为是动态地址转换,所以给主机分配的外部地址是随机的。

学习日记——(路由与交换技术)网络地址转换 NAT技术_第7张图片


3、端口地址转换(跟动态地址转换差不多,只是需要在NAT(config)#ip nat inside source list 1 pool abc后加上overload):

例:把上面动态NAT的例子改一下,全部内部地址映射为外部地址210.68.166.5,这时候就需要用到端口复用NAT

拓扑结构:

学习日记——(路由与交换技术)网络地址转换 NAT技术_第8张图片

代码跟动态NAT大部分相同,下面只指出不同的地方:

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.5 n

NAT(config)#ip nat pool abc 210.68.166.5 210.68.166.5 netmask 255.255.255.0 (开始地址跟结束地址一样)

NAT(config)#access-list 1 permit 192.168.10.0 0.0.0.255

NAT(config)#ip nat

NAT(config)#ip nat i

NAT(config)#ip nat inside s

NAT(config)#ip nat inside source l

NAT(config)#ip nat inside source list 1 p

NAT(config)#ip nat inside source list 1 pool abc ?

overload Overload an address translation

NAT(config)#ip nat inside source list 1 pool abc o

NAT(config)#ip nat inside source list 1 pool abc overload  (NAPT的关键字)


 结果:三台主机在Ping Internet时都是用210.68.166.5 的地址 

学习日记——(路由与交换技术)网络地址转换 NAT技术_第9张图片


这篇文章就写到这里啦,有什么不好的地方欢迎指出,谢谢!

你可能感兴趣的:(网络,路由器)