第13讲 Nat网络地址转换

26
第 13 第 NAT 第第第第第第

Transcript of 第13讲 Nat网络地址转换

第 13讲 NAT 网络地址转换

www.cisco.com

NAT——网络地址翻译 NAT——网络地址翻译

随着 Internet的飞速发展,网上丰富的资源产生着巨大的吸引力 , 接入 Internet成为当今信息业最为迫切的需求 , 但这受到 IP地址的许多限制 首先,许多局域网在未联入 Internet之前,就已经运行许多年了,局域网上有了许多现成的资源和应用程序,但它的 IP地址分配不符合 Internet的国际标准,因而需要重新分配局域网的 IP地址,这无疑是劳神费时的工作 其二,随着 Internet的膨胀式发展,其可用的 IP地址越来越少,要想在 ISP处申请一个新的IP地址已不是很容易的事了

www.cisco.com

NAT(网络地址翻译)能解决不少令人头疼的问题

它解决问题的办法是:在内部网络中使用内部私有地址,通过 NAT把内部私有地址翻译成合法的IP地址,在 Internet上使用

其具体的做法是把 IP包内的地址(内部本地)用合法的 IP地址段(内部全局)来替换

www.cisco.com

Windows 98 PC Modem

Branch office

ISDN/analog

Small office

Central site

Frame Relay

Frame Relay

service

PRI

BRI

BRI

Frame Relay

Async

AAA server

AsyncSA

10.1.1.1

166.1.1.1SA

Inside Local IP Address

10.1.1.1

Inside Global IP Address

166.1.1.1

NAT table

PAT

www.cisco.com

NAT 的优缺点NAT 的优缺点

NAT的优点•节约合法的 IP地址•增加了连接公网的灵活性•保护网络安全

NAT缺点•NAT增加了延迟•丧失了端到端的 IP追踪能力•限制一些 IP寻址方案的应用

www.cisco.com

NAT 术语

NAT 功能NAT 三种类型

www.cisco.com

NAT 术语

Internet

Inside

10.1.1.1Inside Local IP

Address

10.1.1.1

Simple NAT table

Inside Global IP Address

166.1.1.1

10.1.1.2

Host B172.20.7.3

A

C

BA

B

D

SA10.1.1.1

DA10.1.1.1

SA166.1.1.1

DA166.1.1.1

D

C

www.cisco.com

内部本地地址 : 私有 IP,不能直接用于互连网。内部全局地址:用来代替内部本地 IP地址的,对外,或在互联网上是合法的的 IP地址。外部本地地址 : 外部主机使用的私有的地址 , 内部主机不可见 .

外部全局地址 : 外部主机使用的合法的地址 .

www.cisco.com

NAT 功能

Inside Local IP Address

10.1.1.110.1.1.2

NAT table

Inside Global IP Address

196.168.2.2196.168.2.3

NAT 功能 :

• 内部网络地址转换• 复用内部的全局地址

Internet

Inside

10.1.1.1

10.1.1.2

www.cisco.com

复用内部的全局地址复用内部的全局地址

将一个内部全局地址用于同时代表多个内部本地地址。主要用 IP 地址和端口号的组合来唯一区分各个内部主机。目前在公司内普遍应用。(如下图)

www.cisco.com

复用内部的全局地址

10.1.1.2:172310.1.1.1:1024

NAT table

196.168.2.2:1723196.168.2.2:1024

TCPTCP

10.1.1.3:1492 196.168.2.2:1492TCP

Internet

Inside

10.1.1.1

Host B179.20.7.3

1

3

SA10.1.1.1

DA10.1.1.1

SA196.168.2.2

DA196.168.2.2

10.1.1.2

10.1.1.3

4

5

2

Host C179.21.7.3

DA196.168.2.2

4

Inside Global IP Address: Port

Protocol Inside Local IP Address: Port10.1.1.1

www.cisco.com

NAT 三种类型NAT 三种类型

NAT有三种类型:静态 NAT( staticNAT)、 NAT池( pooledNAT)和端口NAT(PAT)。其中静态 NAT设置起来最为简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址 ,多用于服务器。而 NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络 ,多用于网络中的工作站。PAT则是把内部地址映射到外部网络的一个 IP地址的不同端口上。

www.cisco.com

本地 IP 全球 IP

10.1.1.10 179.9.1.50

NAT 表

10.1.1.10

10.1.1.2

Internet

• 静态 NAT

10.1.1.10

179.9.1.50

www.cisco.com

本地 IP 全球 IP

10.0.0.2 179.9.8.80

10.0.0.3 179.9.8.81

NAT 表

10.0.0.3

10.0.0.2

Internet

• 动态 NAT

10.0.0.2

179.9.8.80

www.cisco.com

本地 IP 全球 IP

10.0.0.2:1444

179.9.8.80:1444

10.0.0.3:1555

179.9.8.80:1555

NAT 表

10.1.1.10

10.0.0.2

Internet

• 超载 NAT(PAT)

10.0.0.3

179.9.8.80:1555

10.0.0.3:1555

www.cisco.com

NAT 静态映射实例NAT 静态映射实例

interface Ethernet0ip address 172.16.1.1 255.255.255.0ip nat inside (指定内部接口)!interface Serial0 ip address 200.1.1.1 255.255.255.0 ip nat outside (指定外部接口)!ip nat inside source static 172.16.1.3 200.1.1.1( 建立两个 IP 地址之间的静态映射 )ip classlessip route 0.0.0.0 0.0.0.0 200.1.1.2

www.cisco.com

注意:从外网到内网建立静态映射后,外网能 PING通内部全局地址( 200.1.1.1 ) , 如果使用真实地址,则访问失败,这是因为从外网没有到达内网的路由存在!Ping 172.16.1.3 ……

Ping 200.1.1.1 !!!!!

www.cisco.com

ip nat pool dyn-nat 192.16.2.1 192.16.2.254 netmask 255.255.255.0ip nat inside source list 1 pool dyn-nat!interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0 ip address 192.16.2.1 255.255.255.0 ip nat outside! access-list 1 permit 10.1.1.0 0.0.0.255!

ip nat pool dyn-nat 192.16.2.1 192.16.2.254 netmask 255.255.255.0ip nat inside source list 1 pool dyn-nat!interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0 ip address 192.16.2.1 255.255.255.0 ip nat outside! access-list 1 permit 10.1.1.0 0.0.0.255!

动态 NAT 的配置

Translate between inside hosts addressed from 10.1.1.0/24 to the globally unique 192.16.2.0/24 network.

This interface connected to the outside world.

This interface connected to the inside network.

www.cisco.com

PAT 的配置 ( 一 )

ip nat pool ovrld-nat 192.16.2.1 192.16.2.2netmask 255.255.255.0

ip nat inside source list 1 pool ovrld-nat overload!interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0/0 ip address 192.16.2.1 255.255.255.0 ip nat outside!access-list 1 permit 10.1.1.0 0.0.0.255

ip nat pool ovrld-nat 192.16.2.1 192.16.2.2netmask 255.255.255.0

ip nat inside source list 1 pool ovrld-nat overload!interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0/0 ip address 192.16.2.1 255.255.255.0 ip nat outside!access-list 1 permit 10.1.1.0 0.0.0.255

www.cisco.com

还可以复用路由器某个端口的地址ip nat inside source list access-list interface type number overload

www.cisco.com

PAT 的配置 ( 二 )

ip nat inside source list 1 int s0 overload!interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0/0 ip address 192.16.2.1 255.255.255.0 ip nat outside!access-list 1 permit 10.1.1.0 0.0.0.255

ip nat inside source list 1 int s0 overload!interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Serial0/0 ip address 192.16.2.1 255.255.255.0 ip nat outside!access-list 1 permit 10.1.1.0 0.0.0.255

www.cisco.com

Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.2.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.2.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23

Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.2.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.2.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23

Verifying NAT

A translation for a Telnet is still active. Two different inside hosts appear on the outside with a single IP address.

Basic IP address translation

Unique TCP port numbers are used to distinguishbetween hosts.

Router#show ip nat transPro Inside global Inside local Outside local Outside global--- 192.2.2.1 10.1.1.1 --- --- --- 192.2.2.2 10.1.1.2 --- ---

Router#show ip nat transPro Inside global Inside local Outside local Outside global--- 192.2.2.1 10.1.1.1 --- --- --- 192.2.2.2 10.1.1.2 --- ---

IP address translation with overloading

www.cisco.com

Router#debug ip natNAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [0]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [0]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [1]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [2]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [3]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [1]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [4]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [5]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [6]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [2]

Router#debug ip natNAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [0]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [0]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [1]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [2]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [3]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [1]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [4]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [5]NAT: s=10.1.1.1->192.16.2.1, d=172.166.2.2 [6]NAT*: s=172.166.2.2, d=192.16.2.1->10.1.1.1 [2]

Troubleshooting NAT

An example address translation inside-to-outside.

A reply to the packet sent.

An example TCP conversation, inside-to-outside.

* Indicates translation was in the fast path.

www.cisco.com

clear ip nat trans *删除所有的动态的转换条目

clear ip nat trans inside global-ip local -ip[outside local-ip global-ip]删除一个进行内部转换或内部和外部转换的简单转换条目

www.cisco.com

clear ip nat trans protocol inside global-ip global-port local-ip local-port [outside local-ip local-port global-ip global-port]

删除一个扩展转换条目

www.cisco.com

Clearing NAT Translation Entries

All entries are cleared.

192.16.2.2 is cleared.

Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23router#clear ip nat trans *router#router#show ip nat trans

Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23router#clear ip nat trans *router#router#show ip nat trans

router#show ip nat transPro Inside global Inside local Outside local Outside globaludp 192.16.2.2:1220 10.1.1.2:1120 171.69.2.132:53 171.69.2.132:53 tcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.1:1067 172.16.2.3:23 172.16.2.3:23router#clear ip nat trans udp inside 192.16.2.2 10.1.1.2 1220171.69.2.132 53 171.69.2.132 53 router#show ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.3:1067 172.16.2.3:23 172.16.2.3:23