cisco ASA防火墙NAT/PAT详解

一、NAT/PAT基本需求

需求1:LAN1、LAN2 、DMZ都能上internet

需求2:LAN1、 LAN2、 DMZ中服务器对外提供web服务

需求3:LAN1、 LAN2、 DMZ中主机能够使用公网地址访问各自区的web服务器

需求4:各区主机可以使用公网地址访问其他区内的web服务器

二、实现方式

1、需求1的实现------LAN1、LAN2 、DMZ都能上internet

方式1:动态NAT

object network pool1

 range 208.1.1.1 208.1.1.10

object network pool2

 range 208.1.1.11 208.1.1.20

object network pool3

 range 208.1.1.21 208.1.1.30

定义公网地址池-范围

object network lan1

 subnet 192.168.10.0 255.255.255.0

nat (inside1,outside) dynamic pool1

object network lan2

 subnet 192.168.20.0 255.255.255.0

nat (inside2,outside) dynamic pool2

object network dmz

 subnet 172.16.10.0 255.255.255.0

nat (dmz,outside) dynamic pool3

定义内网段及静态NAT

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

Internet使用路由器代替,地址为202.1.1.1

分别从pc1、pc2、pc3 telnet Internet路由器。

192.168.10.10->202.1.1.1:23      208.1.1.1->202.1.1.1:23

192.168.20.10->202.1.1.1:23      208.1.1.12>202.1.1.1:23

172.16.10.10->202.1.1.1:23       208.1.1.25->202.1.1.1:23

注: 方式1下,能够同时上外网的内网pc数量取决于外网的地址池内的地址数量。

实际环境中基本不会使用到本方式。

方式2:动态PAT

A、使用外网接口地址做PAT

object network lan1

 subnet 192.168.10.0 255.255.255.0

nat (inside1,outside) dynamic interface

object network lan2

 subnet 192.168.20.0 255.255.255.0

nat (inside2,outside) dynamic interface

object network dmz

 subnet 172.16.10.0 255.255.255.0

nat (dmz,outside) dynamic interface

定义内网段及动态PAT

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

Internet使用路由器代替,地址为202.1.1.1

分别从pc1、pc2、pc3 telnet Internet路由器。

192.168.10.10:49171->202.1.1.1:23      202.1.1.2:49171->202.1.1.1:23

192.168.20.10:49167->202.1.1.1:23      202.1.1.2:49167>202.1.1.1:23

172.16.10.10:49167->202.1.1.1:23       202.1.1.2:24099->202.1.1.1:23

注: 方式2实际环境中最常使用

B、同时使用地址池和主机地址,地址池地址做NAT,主机地址做PAT

object network pool4

 range 208.1.1.1 208.1.1.2

object network pool5

 range 208.1.1.11 208.1.1.12

object network pool6

 range 208.1.1.21 208.1.1.22

object network pat1

 host 208.1.1.3

object network pat2

 host 208.1.1.13

object network pat3

 host 208.1.1.23

object-group network out1

 network-object object pool4

 network-object object pat1

object-group network out2

 network-object object pool5

 network-object object pat2

object-group network out3

 network-object object pool6

 network-object object pat3

定义地址对象

每个地址池只包括两个地址

每个对象组包括一个地址池和一个主机地址

object network lan1

 nat (inside1,outside) dynamic out1 interface

object network lan2

 nat (inside2,outside) dynamic out2 interface

object network dmz

 nat (dmz,outside) dynamic out3 interface

定义内网段及动态PAT

(地址池地址做NAT,主机地址做PAT)

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

Internet使用路由器代替,地址为202.1.1.1

lan1中找三台pc分别telnet Internet路由器。

192.168.10.10->202.1.1.1:23      208.1.1.1->202.1.1.1:23

192.168.10.11->202.1.1.1:23      208.1.1.2>202.1.1.1:23

192.168.10.12:49168->202.1.1.1:23       208.1.1.3:49168->202.1.1.1:23

注: 前两个pc做NAT,地址池地址用完了,第三个pc或者其他更多pc将使用208.1.1.3PAT

lan2中找三台pc分别telnet Internet路由器。

192.168.20.10->202.1.1.1:23      208.1.1.11->202.1.1.1:23

192.168.20.11->202.1.1.1:23      208.1.1.12>202.1.1.1:23

192.168.20.12:49169->202.1.1.1:23       208.1.1.13:49169->202.1.1.1:23

注: 前两个pc做NAT,地址池地址用完了,第三个pc或者其他更多pc将使用208.1.1.13PAT

dmz中找三台pc分别telnet Internet路由器。

172.16.10.10->202.1.1.1:23      208.1.1.21->202.1.1.1:23

172.16.10.11->202.1.1.1:23      208.1.1.22>202.1.1.1:23

172.16.10.12:49171->202.1.1.1:23       208.1.1.23:49172->202.1.1.1:23

注: 前两个pc做NAT,地址池地址用完了,第三个pc或者其他更多pc将使用208.1.1.23PAT

实际环境中此方式很少使用。

C、使用PAT-POOL

object network pool1

 range 208.1.1.1 208.1.1.10

object network pool2

 range 208.1.1.11 208.1.1.20

object network pool3

 range 208.1.1.21 208.1.1.30

定义地址池对象

object network lan1

subnet 192.168.10.0 255.255.255.0

 nat (inside1,outside) dynamic pat-pool pool1

object network lan2

subnet 192.168.20.0 255.255.255.0

 nat (inside2,outside) dynamic pat-pool pool2

object network dmz

subnet 172.16.10.0 255.255.255.0

 nat (dmz,outside) dynamic pat-pool pool3

定义地址内网地址对象,及动态PAT-使用地址池

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

Internet使用路由器代替,地址为202.1.1.1

lan1中找三台pc分别telnet Internet路由器。

192.168.10.10:49178->202.1.1.1:23      208.1.1.1:49178->202.1.1.1:23

192.168.10.11:49174->202.1.1.1:23      208.1.1.1:49174>202.1.1.1:23

192.168.10.12:49174->202.1.1.1:23      208.1.1.1:36320 ->202.1.1.1:23

注:虽然地址中有208.1.1.1-208.1.1.10共10个地址,但是只会使用第一个地址208.1.1.1做PAT。

lan2中找三台pc分别telnet Internet路由器。

192.168.20.10:49177->202.1.1.1:23      208.1.1.11:49177->202.1.1.1:23

192.168.20.11:49173->202.1.1.1:23      208.1.1.11:49173>202.1.1.1:23

192.168.20.12:49173->202.1.1.1:23      208.1.1.11:7317->202.1.1.1:23

注:虽然地址中有208.1.1.11-208.1.1.20共10个地址,但是只会使用第一个地址208.1.1.11做PAT。

dmz中找三台pc分别telnet Internet路由器。

172.16.10.10:49176->202.1.1.1:23      208.1.1.21:49176->202.1.1.1:23

172.16.10.11:49172->202.1.1.1:23      208.1.1.21:49172>202.1.1.1:23

172.16.10.12:49172->202.1.1.1:23      208.1.1.21:25734 ->202.1.1.1:23

注:虽然地址中有208.1.1.21-208.1.1.30共10个地址,但是只会使用第一个地址208.1.1.21做PAT。

实际环境中此方式很少使用。

D、使用PAT-POOL+循环

object network pool1

 range 208.1.1.1 208.1.1.10

object network pool2

 range 208.1.1.11 208.1.1.20

object network pool3

 range 208.1.1.21 208.1.1.30

定义地址池对象

object network lan1

subnet 192.168.10.0 255.255.255.0

 nat (inside1,outside) dynamic pat-pool pool1 round-robin

object network lan2

subnet 192.168.20.0 255.255.255.0

 nat (inside2,outside) dynamic pat-pool pool2 round-robin

object network dmz

subnet 172.16.10.0 255.255.255.0

 nat (dmz,outside) dynamic pat-pool pool3 round-robin

定义地址内网地址对象,及动态PAT-使用地址池

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

Internet使用路由器代替,地址为202.1.1.1

lan1中找三台pc分别telnet Internet路由器。

192.168.10.10:49179->202.1.1.1:23      208.1.1.1:49179->202.1.1.1:23

192.168.10.11:49175->202.1.1.1:23      208.1.1.2:49175>202.1.1.1:23

192.168.10.12:49175->202.1.1.1:23      208.1.1.3:59175 ->202.1.1.1:23

注:地址池中有208.1.1.1-208.1.1.10共10个地址,第一个发起连接的内网地址使用地址池中的第一个地址做PAT,第二个发起连接的内网地址使用地址池中的第二个地址做PAT,依次类推。第十一个发起连接的内网地址使用地址池中的第一个地址PAT。这样,地址池中的所有地址均有可能被使用到。

lan2中找三台pc分别telnet Internet路由器。

192.168.20.10:49180->202.1.1.1:23      208.1.1.11:49180->202.1.1.1:23

192.168.20.11:49176->202.1.1.1:23      208.1.1.12:49176>202.1.1.1:23

192.168.20.12:49176->202.1.1.1:23      208.1.1.13:49176->202.1.1.1:23

注:地址池中有208.1.1.11-208.1.1.20共10个地址,第一个发起连接的内网地址使用地址池中的第一个地址做PAT,第二个发起连接的内网地址使用地址池中的第二个地址做PAT,依次类推。第十一个发起连接的内网地址使用地址池中的第一个地址PAT。这样,地址池中的所有地址均有可能被使用到。

dmz中找三台pc分别telnet Internet路由器。

172.16.10.10:49181->202.1.1.1:23      208.1.1.21:49181->202.1.1.1:23

172.16.10.11:49177->202.1.1.1:23      208.1.1.22:49177>202.1.1.1:23

172.16.10.12:49177->202.1.1.1:23      208.1.1.23:49177 ->202.1.1.1:23

注:地址池中有208.1.1.21-208.1.1.30共10个地址,第一个发起连接的内网地址使用地址池中的第一个地址做PAT,第二个发起连接的内网地址使用地址池中的第二个地址做PAT,依次类推。第十一个发起连接的内网地址使用地址池中的第一个地址PAT。这样,地址池中的所有地址均有可能被使用到。

实际环境中此方式很少使用。

方式3:静态NAT—网段对网段

object network pool10

 subnet 208.1.2.0 255.255.255.0

object network pool20

 subnet 208.1.3.0 255.255.255.0

object network pool30

 subnet 208.1.4.0 255.255.255.0

定义公网地址池

object network lan1

 subnet 192.168.10.0 255.255.255.0

object network lan2

 subnet 192.168.20.0 255.255.255.0

object network dmz

 subnet 172.16.10.0 255.255.255.0

定义内网段

object network lan1

 nat (inside1,outside) static pool10

object network lan2

 nat (inside2,outside) static pool20

object network dmz

 nat (dmz,outside) static pool30

定义静态NAT

以上配置使内网用户能够访问外网:

192.168.10.10->202.1.1.1      208.1.2.10->202.1.1.1

192.168.10.20->202.1.1.1      208.1.2.20->202.1.1.1

192.168.10.XX->202.1.1.1      208.1.2.XX ->202.1.1.1

192.168.20.10->202.1.1.1      208.1.3.10->202.1.1.1

192.168.20.20->202.1.1.1      208.1.3.20->202.1.1.1

192.168.20.XX->202.1.1.1      208.1.3.XX->202.1.1.1

172.16.10.10->202.1.1.1       208.1.4.10->202.1.1.1

172.16.10.20->202.1.1.1       208.1.4.20->202.1.1.1

172.16.10.XX->202.1.1.1       208.1.4.XX->202.1.1.1

源地址变化,目的地址不变

实际环境根本不会使用此方式。

2、需求2的实现------LAN1、 LAN2、 DMZ中服务器对外提供web服务

方式1: 静态NAT---一对一映射,一个公网地址映射到一个私网地址

object network ser-pub97

 host 208.1.1.97

object network ser-pub98

 host 208.1.1.98

object network ser-pub99

 host 208.1.1.99

定义公网地址对象

object network ser-pri97

 host  192.168.10.20

object network ser-pri98

 host  192.168.20.20

object network ser-pri99

 host  172.16.10.20

定义服务器地址对象-真实地址

object network ser-pri97

 nat (inside1,outside) static ser-pub97

object network ser-pri98

 nat (inside2,outside) static ser-pub98

object network ser-pri99

 nat (dmz,outside) static ser-pub99

定义静态NAT

以上配使外网用户能够访问内网(包括lan1 lan2 dmz)服务器的web服务:

any->208.1.1.97      any->192.168.10.20

any->208.1.1.98      any->192.168.20.20

any->208.1.1.99      any->172.16.10.20

源地址不变,目的地址变化

外网发起连接,目的地址转换

内网服务器发起连接,源地址转换

208.1.1.97 <->192.168.10.20

208.1.1.98 <->192.168.20.20

208.1.1.99 <->172.16.10.20

方式1下:如果不做规则限制,内网服务器开放的服务,外网用户通过公网地址都能访问到

方式2: 静态PAT------同一个公网地址,不同的端口号

object network ser-pub

 host 208.1.1.100

定义公网地址对象

object network ser-pri1

 host  192.168.10.20

object network ser-pri2

 host  192.168.20.20

object network ser-pri3

 host  172.16.10.20

定义服务器地址对象-真实地址

object network ser-pri1

 nat (inside1,outside) static ser-pub service tcp www 8000

object network ser-pri2

 nat (inside2,outside) static ser-pub service tcp www 8080

object network ser-pri3

 nat (dmz,outside) static ser-pub service tcp www 8888

定义静态PAT---端口映射

以上配提供外网用户访问内网(包括lan1 lan2 dmz)服务器的web服务:

any->208.1.1.100:8000      any->192.168.10.20:80

any->208.1.1.100:8080      any->192.168.20.20:80

any->208.1.1.100:8888      any->172.16.10.20:80

源地址不变,目的地址变化

方式3: 静态PAT ------不同的公网地址,相同的端口号

object network ser-pub1

 host 208.1.1.1

object network ser-pub2

 host 208.1.1.2

object network ser-pub3

 host 208.1.1.3

定义公网地址对象

object network ser-pri1-1

 host 192.168.10.20

object network ser-pri2-2

 host 192.168.20.20

object network ser-pri3-3

 host 172.16.10.20

定义服务器地址对象-真实地址

object network ser-pri1-1

 nat (inside1,outside) static ser-pub1 service tcp www www

object network ser-pri2-2

 nat (inside2,outside) static ser-pub2 service tcp www www

object network ser-pri3-3

 nat (dmz,outside) static ser-pub3 service tcp www www

定义静态PAT---端口映射

以上配提供外网用户访问内网(包括lan1 lan2 dmz)服务器的web服务:

any->208.1.1.1:80      any->192.168.10.20:80

any->208.1.1.2:80      any->192.168.20.20:80

any->208.1.1.3:80      any->172.16.10.20:80

源地址不变,目的地址变化

3、需求3的实现---LAN1、 LAN2、 DMZ中主机能够使用公网地址访问各自区的web服务器

A、lan1用户使用公网地址访问lan1的服务器----ser-pub1

object network lan1-1

 subnet 192.168.10.0 255.255.255.0

定义源-lan1

❷object network lan1-1

 nat (inside1,inside1) dynamic interface

lan1->lan1,源地址转换成inside1的接口地址192.168.10.254*/

object network ser-pri1-2

 host 192.168.10.20

定义目的- ser-pub1对应的真实服务器地址,前面用了ser-pri1-1,这里重新定义为ser-pri1-2

❶object network ser-pri1-2

 nat (any,inside1) static ser-pub1 service tcp www www

inside1接口上收到目的地址为ser-pub1的80,将目的地址映射为ser-pri1-2

以上配提供lan1用户使用公网地址访问lan1服务器的web服务:

lan1->208.1.1.1:80      192.168.10.254:port->192.168.10.20:80

源地址和目的地址同时变化,先做目的地址转换❶,后做源地址转换❷

B、lan2用户使用公网地址访问lan2的服务器----ser-pub2

object network lan2-1

 subnet 192.168.20.0 255.255.255.0

定义源-lan2

前面用了lan2-2,这里重新定义为lan2-1

object network lan2-1

 nat (inside2,inside2) dynamic interface

lan2->lan2,做源地址转换成,转换成inside2的接口地址192.168.20.254

object network ser-pri2-3

 host 192.168.20.20

定义目的- ser-pub2对应的真实服务器地址,前面用了ser-pri2-1ser-pri2-2,这里重新定义为ser-pri2-3

object network ser-pri2-3

 nat (any,inside2) static ser-pub2 service tcp www www

inside2接口上收到目的地址为ser-pub2的80,将目的地址映射为ser-pri2-3

以上配提供lan2用户使用公网地址访问lan2服务器的web服务:

lan2->208.1.1.2:80      192.168.20.254:port->192.168.20.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

C、dmz用户使用公网地址访问dmz的服务器

object network dmz-1

 subnet 172.16.10.0 255.255.255.0

定义源-dmz-1

前面用了dmz-2dmz-3,这里重新定义为dmz-1

object network dmz-1

 nat (dmz,dmz) dynamic interface

dmz->dmz,做源地址转换成,转换成dmz的接口地址172.16.10.254

object network ser-pri3-4

 host 172.16.10.20

定义目的- ser-pub3对应的真实服务器地址,前面用了ser-pri3-1ser-pri3-2ser-pri3-3,这里重新定义为ser-pri3-4

object network ser-pri3-4

 nat (any,dmz) static ser-pub3 service tcp www www

dmz接口上收到目的地址为ser-pub3的80,将目的地址映射为ser-pri3-4

以上配提供dmz用户使用公网地址访问dmz服务器的web服务:

dmz->208.1.1.3:80      172.16.10.254:port->172.16.10.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

4、需求4的实现----各区pc可以使用公网地址访问其他区内的web服务器

lan1访问其他区的web服务器

A、lan1用户使用公网地址访问lan2的服务器----ser-pub2

object network lan1-2

 subnet 192.168.10.0 255.255.255.0

定义源-lan1

前面用了lan1-1,这里重新定义为lan1-2

❹object network lan1-2

 nat (inside1,inside2) dynamic interface

lan1->lan2,做源地址转换成,转换成inside2的接口地址192.168.20.254

object network ser-pri2-1

 host 192.168.20.20

定义目的- ser-pub2对应的真实服务器地址,前面用了ser-pri2-2,这里重新定义为ser-pri2-1

❸object network ser-pri2-1

 nat (any,inside1) static ser-pub2 service tcp www www

inside1接口上收到目的地址为ser-pub2的80,将目的地址映射为ser-pri1-2

以上配提供lan1用户使用公网地址访问lan2服务器的web服务:

lan1->208.1.1.2:80      192.168.20.254:port->192.168.20.20:80

源地址和目的地址同时变化,先做目的地址转换❸,后做源地址转换❹

B、lan1用户使用公网地址访问dmz的服务器---- ser-pub3

object network lan1-3

 subnet 192.168.10.0 255.255.255.0

定义源-lan1

前面用了lan1-1lan1-2,这里重新定义为lan1-3

❻object network lan1-3

 nat (inside1,dmz) dynamic interface

lan1->dmz,做源地址转换成,转换成dmz的接口地址172.16.10.254

object network ser-pri3-1

 host 172.16.10.20

定义目的- ser-pub3对应的真实服务器地址,前面用了ser-pri3-3,这里重新定义为ser-pri3-1

❺object network ser-pri3-1

 nat (any,inside1) static ser-pub3 service tcp www www

inside1接口上收到目的地址为ser-pub3的80,将目的地址映射为ser-pri3-1

以上配提供lan1用户使用公网地址访问dmz服务器的web服务:

lan1->208.1.1.3:80      172.16.10.254:port->172.16.10.20:80

源地址和目的地址同时变化,先做目的地址转换❺,后做源地址转换❻

lan2访问其他区的web服务器

A、lan2用户使用公网地址访问lan1的服务器----ser-pub1

object network lan2-2

 subnet 192.168.20.0 255.255.255.0

定义源-lan2

object network lan2-2

 nat (inside2,inside1) dynamic interface

lan2-lan1,源地址转换成inside1的接口地址192.168.10.254

object network ser-pri1-3

 host 192.168.10.20

定义目的- ser-pub1对应的真实服务器地址,前面用了ser-pri1-1ser-pri1-2,这里重新定义为ser-pri1-3

object network ser-pri1-3

 nat (any,inside2) static ser-pub1 service tcp www www

inside2接口上收到目的地址为ser-pub1的80,将目的地址映射为ser-pri1-3

以上配提供lan2用户使用公网地址访问lan1服务器的web服务:

lan2->208.1.1.1:80      192.168.10.254:port->192.168.10.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

B、lan2用户使用公网地址访问dmz的服务器---- ser-pub3

object network lan2-3

 subnet 192.168.20.0 255.255.255.0

定义源-lan2

前面用了lan2-1lan2-2,这里重新定义为lan2-3

object network lan2-3

 nat (inside2,dmz) dynamic interface

lan2->dmz,做源地址转换成,转换成dmz的接口地址172.16.10.254

object network ser-pri3-2

host 172.16.10.20

定义目的- ser-pub3对应的真实服务器地址,前面用了ser-pri3-1ser-pri3-3,这里重新定义为ser-pri3-2

object network ser-pri3-2

 nat (any,inside2) static ser-pub3 service tcp www www

inside2接口上收到目的地址为ser-pub3的80,将目的地址映射为ser-pri3-2

以上配提供lan2用户使用公网地址访问dmz服务器的web服务:

lan2->208.1.1.3:80      172.16.10.254:port->172.16.10.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

dmz访问其他区的web服务器

A、dmz用户使用公网地址访问lan1的服务器----ser-pub1

object network dmz-2

 subnet 172.16.10.0 255.255.255.0

定义源-dmz-2

object network dmz-2

 nat (dmz,inside1) dynamic interface

dmz->lan1,源地址转换成inside1的接口地址192.168.10.254

object network ser-pri1-4

 host 192.168.10.20

定义目的- ser-pub1对应的真实服务器地址,前面用了ser-pri1-1ser-pri1-2ser-pri1-3,这里重新定义为ser-pri1-4

object network ser-pri1-4

 nat (any,dmz) static ser-pub1 service tcp www www

dmz接口上收到目的地址为ser-pub1的80,将目的地址映射为ser-pri1-4

以上配提供dmz用户使用公网地址访问lan1服务器的web服务:

dmz->208.1.1.1:80      192.168.10.254:port->192.168.10.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

B、dmz用户使用公网地址访问lan2的服务器--- ser-pub2

object network dmz-3

 subnet 172.16.10.0 255.255.255.0

定义源-lan2

前面用了dmz-2,这里重新定义为dmz-3

object network dmz-3

 nat (dmz,inside2) dynamic interface

dmz->lan2,做源地址转换成,转换成inside2的接口地址192.168.20.254

object network ser-pri2-4

 host 192.168.20.20

定义目的- ser-pub2对应的真实服务器地址,前面用了ser-pri2-1ser-pri2-2ser-pri2-3,这里重新定义为ser-pri2-4

object network ser-pri2-4

 nat (any,dmz) static ser-pub2 service tcp www www

dmz接口上收到目的地址为ser-pub2的80,将目的地址映射为ser-pri2-4

以上配提供dmz用户使用公网地址访问lan2服务器的web服务:

dmz->208.1.1.2:80      192.168.20.254:port->192.168.20.20:80

源地址和目的地址同时变化,先做目的地址转换,后做源地址转换

 三、优化及改造

优化前:

优化后

object network ser-pri1-1

 nat (inside1,outside) static ser-pub1 service tcp www www

object network ser-pri2-2

 nat (inside2,outside) static ser-pub2 service tcp www www

object network ser-pri3-3

 nat (dmz,outside) static ser-pub3 service tcp www www

❶object network ser-pri1-2

 nat (any,inside1) static ser-pub1 service tcp www www

❸object network ser-pri2-1

 nat (any,inside1) static ser-pub2 service tcp www www

❺object network ser-pri3-1

 nat (any,inside1) static ser-pub3 service tcp www www

object network ser-pri1-3

 nat (any,inside2) static ser-pub1 service tcp www www

object network ser-pri2-3

 nat (any,inside2) static ser-pub2 service tcp www www

object network ser-pri3-2

 nat (any,inside2) static ser-pub3 service tcp www www

object network ser-pri1-4

 nat (any,dmz) static ser-pub1 service tcp www www

object network ser-pri2-4

 nat (any,dmz) static ser-pub2 service tcp www www

object network ser-pri3-4

 nat (any,dmz) static ser-pub3 service tcp www www

object network ser-pri-lan1

host 192.168.10.20

nat (any,any) static ser-pub1 service tcp www www

object network ser-pri-lan2

host 192.168.20.20

nat (any,any) static ser-pub2 service tcp www www

object network ser-pri-lan3

host 172.16.10.20

nat (any,any) static ser-pub3 service tcp www www

 

改造前

改造后

object network lan1-1

 nat (inside1,inside1) dynamic interface

object network lan1-1

 nat (inside1,inside1) dynamic 1.1.1.1

object network lan1-2

 nat (inside1,inside2) dynamic interface

object network lan1-2

 nat (inside1,inside2) dynamic 2.2.2.2

object network lan1-3

 nat (inside1,dmz) dynamic interface

object network lan1-3

 nat (inside1,dmz) dynamic 3.3.3.3

object network lan2-1

 nat (inside2,inside2) dynamic interface

object network lan2-1

 nat (inside2,inside2) dynamic 4.4.4.4

object network lan2-2

 nat (inside2,inside1) dynamic interface

object network lan2-2

 nat (inside2,inside1) dynamic 5.5.5.5

object network lan2-3

 nat (inside2,dmz) dynamic interface

object network lan2-3

 nat (inside2,dmz) dynamic 6.6.6.6

object network dmz-1

 nat (dmz,dmz) dynamic interface

object network dmz-1

 nat (dmz,dmz) dynamic 7.7.7.7

object network dmz-2

 nat (dmz,inside1) dynamic interface

object network dmz-2

 nat (dmz,inside1) dynamic 8.8.8.8

object network dmz-3

 nat (dmz,inside2) dynamic interface

object network dmz-3

 nat (dmz,inside2) dynamic 9.9.9.9

四、高级NAT

1、Dynamic Twice NAT

object network lan1

 subnet 192.168.10.0 255.255.255.0

定义源-lan1

object network map1

 range 209.1.1.10 209.1.1.20

定义NAT后的源地址1

object network map2

 range 209.1.1.100 209.1.1.200

定义NAT后的源地址2

object network SERVER01

 host 202.1.1.1

定义目的地址1(可以是主机地址、地址范围或者子网)

object network SERVER02

 host 3.3.3.3

定义目的地址2(可以是主机地址、地址范围或者子网)

nat (inside1,outside) source dynamic lan1 map1 destination static SERVER01 SERVER01

nat (inside1,outside) source dynamic lan1 map2 destination static SERVER02 SERVER02

同一个源地址,访问不同的目的地址时,源地址转换成不同的地址---目的地址不变

Internet使用路由器代替,接口地址为202.1.1.1loopback 0地址为3.3.3.3

同一个源地址192.168.10.21,访问不同的目的202.1.1.1和3.3.3.3,分别转换源地址为209.1.1.18和209.1.1.173,目的地址不转换。

改造:源地址192.168.10.21,访问目的202.1.1.1时,同时做源NAT和目的NAT

object network SERVER03

 host 211.1.1.20

将:

nat (inside1,outside) source dynamic lan1 map1 destination static SERVER01 SERVER01

nat (inside1,outside) source dynamic lan1 map2 destination static SERVER02 SERVER02

修改成:

nat (inside1,outside) source dynamic lan1 map1 destination static SERVER01 SERVER03

nat (inside1,outside) source dynamic lan1 map2 destination static SERVER02 SERVER02

192.168.10.21-telnet 3.3.3.3     >     209.1.1.187 telnet 3.3.3.3    仅源地址转换

192.168.10.21-web- 202.1.1.1    >     209.1.1.15  web  211.1.1.20

源地址和目的地址同时做了转换。

解释:nat (inside1,outside) source dynamic lan1 map1 destination static SERVER01 SERVER03

lan1-> SERVER01的时候,防火墙做twice nat:

1、lan1转换成map1---------------------------源地址转换

2、SERVER01转换成SERVER03-------------目的地址转换

使用场景:lan1主机没有配置网关,又需要访问外网的SERVER03

解决方法:将SERVER03映射为SERVER01,SERVER01和lan1主机同一个网段

pc1没有设置网关,但是需要访问外网的A。可以将A映射到内网中的A

pc1->A      POOL->A

nat (inside1,outside) source dynamic pc1 POOL destination static A A

 2、Dynamic Twice PAT

object network lan1

 subnet 192.168.10.0 255.255.255.0

定义源-lan1

object network map3

 range 209.1.1.30 209.1.1.39

定义NAT后的源地址3

object network SERVER01

 host 202.1.1.1

定义目的地址1(可以是主机地址、地址范围或者子网)

object network SERVER02

 host 3.3.3.3

定义目的地址2(可以是主机地址、地址范围或者子网)

nat (inside1,outside) source dynamic lan1 interface destination static SERVER01 SERVER01

nat (inside1,outside) source dynamic lan1 map3 destination static SERVER02 SERVER02

同一个源地址,访问不同的目的地址时,源地址转换成不同的地址(可以是接口地址+port或者地址池中的地址+port)---目的地址不变

Internet使用路由器代替,接口地址为202.1.1.1loopback 0地址为3.3.3.3

192.168.10.21:49178->202.1.1.:23       202.1.1.2:49178->202.1.1.1:23

192.168.10.21->3.3.3.3:23             209.1.1.32->3.3.3.3:23

nat (inside1,outside) source dynamic lan1 interface destination static SERVER01 SERVER01

nat (inside1,outside) source dynamic lan1 map3 destination static SERVER02 SERVER02

lan1-> SERVER01   使用outside接口地址做PAT

lan1-> SERVER02   使用map3地址做NAT

改造:nat (inside1,outside) source dynamic lan1 map3 destination static SERVER02 SERVER02

改造后:

nat (inside1,outside) source dynamic lan1 pat-pool map3 destination static SERVER02 SERVER02

nat (inside1,outside) source dynamic lan1 pat-pool map3 round-robin destination static SERVER02 SERVER02

和上节一样,做源地址转换的同时,也可以做目的地址转换。具体操作参考上节。

3、static Twice NAT

A、一对一映射

object network dmz-ser-pri

 host 172.16.10.20

定义源主机

object network map100

 host 209.1.1.100

定义NAT后的源地址

object network map200

 host 209.1.1.200

定义NAT后的源地址

object network SERVER01

 host 202.1.1.1

定义目的地址1(可以是主机地址、地址范围或者子网)

object network SERVER02

 host 3.3.3.3

定义目的地址2(可以是主机地址、地址范围或者子网)

nat (dmz,outside) source static dmz-ser-pri map100 destination static SERVER01 SERVER01

nat (dmz,outside) source static dmz-ser-pri map200 destination static SERVER02 SERVER02

同一个源地址,访问不同的目的地址时,源地址映射成不同的地址

Internet使用路由器代替,接口地址为202.1.1.1loopback 0地址为3.3.3.3

主机----—访问------外网

172.16.10.20    telnet    202.1.1.1

209.1.1.100     telnet    202.1.1.1

172.16.10.20    telnet    3.3.3.3

209.1.1.200     telnet    3.3.3.3

同一个源地址172.16.10.20,访问不同的目的202.1.1.1和3.3.3.3,分别转换源地址为209.1.1.100和209.1.1.200,目的地址不转换。

外网----—访问------主机

路由器上访问内网服务器:

1、使用202.1.1.1地址访问------成功!

202.1.1.1  telnet 209.1.1.100 80-------------原始访问

202.1.1.1  telnet 172.16.10.20 80----------源地址不变,目的地址转换

2、使用202.1.1.1地址访问----失败!

202.1.1.1  telnet 209.1.1.200 80

路由器上访问内网服务器:

1、使用3.3.3.3地址访问-------失败!

3.3.3.3  telnet 209.1.1.100 80

2、使用202.1.1.1地址访问-- ---成功!

3.3.3.3  telnet 209.1.1.200 80------------原始访问

3.3.3.3  telnet 172.16.20.20 80---------源地址不变,目的地址转换

外网访问内网服务器:(非路由器地址202.1.1.13.3.3.3)

总结:

nat (dmz,outside) source static dmz-ser-pri map100 destination static SERVER01 SERVER01

nat (dmz,outside) source static dmz-ser-pri map200 destination static SERVER02 SERVER02

dmz-ser-priSERVER01之间可以进行双向通信,且SERVER01只能通过主动访问map100才能访问dmz-ser-pri

dmz-ser-priSERVER02之间可以进行双向通信,且SERVER02只能通过主动访问map200才能访问dmz-ser-pri

任何地址不能通过map100主动访问dmz-ser-pri, 除了SERVER01

任何地址不能通过map200主动访问dmz-ser-pri, 除了SERVER02

注:这里双向通信指双方都可以作为连接的发起方

nat (dmz,outside) source static dmz-ser-pri map100 destination static A B

目的地址转换的情形参考前面,不在赘述。

 B、网段对网段映射

172.16.10.0/24<->209.1.1.0/24        即:172.16.10.X<->209.1.1.X----子网主机一一映射

172.16.10.0/24<->209.1.2.0/24        即:172.16.10.X<->209.1.2.X----子网主机一一映射

object network dmz-net

 subnet 172.16.10.0 255.255.255.0

定义源主机

object network map101

 subnet 209.1.1.0 255.255.255.0

定义NAT后的源地址

object network map202

 subnet 209.1.2.0 255.255.255.0

定义NAT后的源地址

object network SERVER01

 host 202.1.1.1

定义目的地址1(可以是主机地址、地址范围或者子网)

object network SERVER02

 host 3.3.3.3

定义目的地址2(可以是主机地址、地址范围或者子网)

nat (dmz,outside) source static dmz-net map101 destination static SERVER01 SERVER01

nat (dmz,outside) source static dmz-net map202 destination static SERVER02 SERVER02

同一个子网源地址,访问不同的目的地址时,子网源地址映射成不同的地址

Internet使用路由器代替,接口地址为202.1.1.1loopback 0地址为3.3.3.3

主机----—访问------外网

172.16.10.20    telnet    202.1.1.1

209.1.1.20      telnet    202.1.1.1

172.16.10.20    telnet    3.3.3.3

209.1.2.20      telnet    3.3.3.3

同一个源地址172.16.10.20,访问不同的目的202.1.1.1和3.3.3.3,分别转换源地址为209.1.1.20和209.1.2.20,目的地址不转换。

外网----—访问------主机

路由器上访问内网服务器:

1、使用202.1.1.1地址访问------成功!

202.1.1.1  telnet 209.1.1.20 80-------------原始访问

202.1.1.1  telnet 172.16.10.20 80----------源地址不变,目的地址转换

2、使用3.3.3.3地址访问----失败!

3.3.3.3  telnet 209.1.1.20 80

路由器上访问内网服务器:

1、使用202.1.1.1地址访问-------失败!

202.1.1.1  telnet 209.1.2.20 80

2、使用3.3.3.3地址访问-- ---成功!

3.3.3.3  telnet 209.1.2.20 80------------原始访问

3.3.3.3  telnet 172.16.10.20 80---------源地址不变,目的地址转换

外网访问内网服务器:(路由器地址202.1.1.13.3.3.3之外的地址作为发起方)

假设dmz还有一台172.16.10.30的web服务器:

SERVER01通过访问209.1.1.30可以访问;

SERVER02通过访问209.1.2.30可以访问;

其他地址不能通过209.1.1.30209.1.2.30访问web服务器。

总结:

nat (dmz,outside) source static dmz-net map101 destination static SERVER01 SERVER01

nat (dmz,outside) source static dmz-net map202 destination static SERVER02 SERVER02

dmz-netmap101之间可以进行双向通信,且SERVER01只能通过主动访问map101才能访问dmz-net

dmz-netmap202之间可以进行双向通信,且SERVER02只能通过主动访问map202才能访问dmz-net

注:这里双向通信指双方都可以作为连接的发起方

nat (dmz,outside) source static dmz-neti map101 destination static A B

目的地址转换A->B的情形参考前面,不在赘述。

4、static Twice PAT

object network lan2-ser-pri

 host 192.168.20.20

定义内网主机-web服务器

object network map10

 host 209.1.10.10

定义内网主机映射地址1

object network map20

 host 209.1.10.20

定义内网主机映射地址2

object service web80

 service tcp destination eq www

object service web8080

service tcp destination eq 8080

nat (inside2,outside) source static lan2-ser-pri map10 service web80 web80

nat (inside2,outside) source static lan2-ser-pri map20 service web8080 web80

同一个源地址,访问相同的目的地址不同的服务时,源地址地址转换成不同地址-目的地址不变

host 192.168.20.20->telnet 211.1.1.20 80

host 209.1.10.10->telnet 211.1.1.20 80

host 192.168.20.20->telnet 211.1.1.20 8080

host 209.1.10.20->telnet 211.1.1.20 80

改进:

object network lan2-ser-pri2

 host 192.168.20.10

object service telnet23

 service tcp destination eq telnet

object service telnet2323

 service tcp destination eq 2323

nat (inside2,outside) source static lan2-ser-pri2 map10 service web80 web80

nat (inside2,outside) source static lan2-ser-pri2 map20 service web8080 web80

nat (inside2,outside) source static lan2-ser-pri2 map10 service telnet23 telnet23

nat (inside2,outside) source static lan2-ser-pri2 map20 service telnet2323 telnet23

源地址

目的地址

目的端口

转换前

转换后

转换前

转换后

转换前

转换后

192.168.20.10

209.1.1.10

211.1.1.20

211.1.1.20

80

80

192.168.20.10

209.1.1.20

211.1.1.20

211.1.1.20

8080

80

192.168.20.10

209.1.1.10

202.1.1.1

202.1.1.1

23

23

192.168.20.10

209.1.1.20

202.1.1.1

202.1.1.1

2323

23

192.168.20.10

209.1.1.10

3.3.3.3

3.3.3.3

23

23

192.168.20.10

209.1.1.20

3.3.3.3

3.3.3.3

2323

23

总结:

源地址--->any:80     map10--->any:80

访问80服务时,源地址转换,目的地址和端口不变;

源地址--->any:8080   map20--->any:80

访问8080服务时,源地址转换,目的地址不变,端口变化。

源地址--->any:23     map10--->any:23

访问23服务时,源地址转换,目的地址和端口不变;

源地址--->any:2323   map20--->any:23

访问8080服务时,源地址转换,目的地址不变,端口变化。

通过目的端口或者服务来控制源地址的转换。

 5、Identity NAT

object network my-host-obj

host 172.16.10.21

定义要Identity的主机

object network dmz-1

subnet 172.16.10.0 255.255.255.0

nat (dmz,outside) dynamic interface

动态PAT

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

pc3 访问外网web服务器。

添加Identity NAT

object network my-host-obj                  

nat (dmz,outside) static 172.16.10.21        

使用Identity NAT,源地址没有做PAT

6、Identity Twice NAT

object network my-host-obj

host 172.16.10.21

定义要Identity的主机

object network SERVER04

 host 211.1.1.20

要访问的目的主机

object network dmz-1

subnet 172.16.10.0 255.255.255.0

nat (dmz,outside) dynamic interface

动态PAT

注意没有:

object network my-host-obj

nat (dmz,outside) static 172.16.10.21

以上配置使内网用户能够访问外网:

源地址变化,目的地址不变

从pc3 访问外网web服务器。

添加:

nat (dmz,outside) source static my-host-obj my-host-obj destination static SERVER04 SERVER04

使用Identity NAT访问211.1.1.20(SERVER04)时,源地址没有做PAT

使用Identity NAT访问202.1.1.1时,源地址使用outside接口地址做PAT

总结:

object network dmz-1

subnet 172.16.10.0 255.255.255.0

nat (dmz,outside) dynamic interface

nat (dmz,outside) source static my-host-obj my-host-obj destination static SERVER04 SERVER04

1、my-host-obj访问SERVER04时,源地址不变,还是my-host-obj

2、my-host-obj访问其它地址(非SERVER04)时,源地址使用outside接口地址做PAT

3、其它地址(非my-host-obj)访问SERVER04时,源地址使用outside接口地址做PAT

4、其它地址(非my-host-obj)访问其他地址(非SERVER04)时,源地址使用outside接口地址做PAT

Identity NAT和Identity Twice NAT主要用于VPN场景中。

注:

Internet设备上的路由配置

ip route 172.16.10.0 255.255.255.0 202.1.1.2

ip route 192.168.10.0 255.255.255.0 202.1.1.2

ip route 192.168.20.0 255.255.255.0 202.1.1.2

ip route 208.1.0.0 255.255.0.0 202.1.1.2

ip route 209.1.0.0 255.255.0.0 202.1.1.2

防火墙上策略

object service telnet23

 service tcp destination eq telnet

object service web80

 service tcp destination eq www

object-group service telnet_web

 service-object object telnet23

 service-object object web80

access-list ping extended permit icmp any4 any4

access-group telnet_web in interface inside1

access-group telnet_web in interface inside2

access-group telnet_web in interface dmz

access-group web80 in interface outside

access-group ping global

DSN及FTP在NAT环境下的应用,其他文章有详细介绍,不再介绍。

NAT64、NAT46、NAT66也不做介绍。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值