一、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.3做PAT。 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.13做PAT。 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.23做PAT。 实际环境中此方式很少使用。 |
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-1和ser-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-2和dmz-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-1、ser-pri3-2和ser-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-1和lan1-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-1和ser-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-1和lan2-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-1和ser-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-1、ser-pri1-2和ser-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-1、ser-pri2-2和ser-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.1,loopback 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.1,loopback 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.1,loopback 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.1和3.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-pri和SERVER01之间可以进行双向通信,且SERVER01只能通过主动访问map100才能访问dmz-ser-pri dmz-ser-pri和SERVER02之间可以进行双向通信,且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.1,loopback 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.1和3.3.3.3之外的地址作为发起方) 假设dmz还有一台172.16.10.30的web服务器: SERVER01通过访问209.1.1.30可以访问; SERVER02通过访问209.1.2.30可以访问; 其他地址不能通过209.1.1.30和209.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-net和map101之间可以进行双向通信,且SERVER01只能通过主动访问map101才能访问dmz-net dmz-net和map202之间可以进行双向通信,且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
总结: 源地址--->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也不做介绍。