ASA防火墙
1:接口名称和安全级别
1.1:ASA的接口名称通常有两种,一种是物理名称一种是逻辑名称
物理名称:通常指的就是与路由器的接口一样,如E0/0 E0/1.
逻辑名称:通常指的就是配置命令的ACL,逻辑名称用来描述安全区域。
1.2:接口的安全级别
ASA的每个接口都有一个安全级别,范围是在0~100之间,并且数值越大其安全级别就越高,当配置接口的名称为inside时,其接口的安全级别自动设置成100。当配置的接口为outside时,其接口的安全级别自动设置成0.
不同安全级别的接口之间的相互访问需遵循以下之间的默认规则
·允许出站(outbount)链接,即允许从高安全级别接口到低安全阶别的接口流量通过。
·禁止入站(inbount)链接,即禁止从低安全级别接口到高安全级别接口的流量通过。
2:ASA的基本配置
2.1挂载并登陆防火墙
# /mnt/disk0/lina_monitor
ciscoasa> enable
Password:#默认没有密码
ciscoasa#
2.2:配置主机名
ciscoasa# configure terminal#进入特权模式
ciscoasa(config)# hostname asa
asa(config)#
2.3:配置密码
可以配置特权密码和远程登陆密码
1)配置特权密码
asa(config)# enable password 123456
2)配置远程登陆密码
asa(config)# passwd 123456
3:ASA的接口配置
1)普通接口
asa(config)# int e0/0
asa(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
asa(config-if)# security-level 100
asa(config-if)# ip add 11.0.0.2 255.255.255.0
asa(config-if)# no shut
2)ASA的型号是5505,则不支持物理接口上进行配置,通过WLAN虚拟接口来配置
asa(config)# int vlan 1
asa(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
asa(config-if)# security-level 100
asa(config-if)# ip add 11.0.0.2 255.255.255.0
asa(config-if)# no shut
asa(config-if)# int e0/0
asa(config-if)# no shut
asa(config-if)# switchport access vlan 1
4 : ASA中配置ACL
在ASA中配置ACL有两个作用,一个是允许流量入站,另一个是禁止流量入站
· 配置标准ACL
asa(config)# access-list acl_name [standrad] {permit | deny} ip_addr mask
·配置扩展ACL
asa(config)# access-list acl_name [extended] {permit | deny} protocol src_ip_addr src_mask dst_ip_addr dst_mask [operator port]
·将ACL应用到接口
asa(config)# access-group acl_name {in | out} interface interface_ name
需要注意的是,路由器上配置的ACL是使用的反码,而ASA配置的ACL是使用正常的掩码,另外,标准ACL过滤流量时不能应用在接口上只能应用在其他场合。
1)允许入站链接
ASA的默认规则就是禁止入站的,那么想要流量的通过,就需要使用ACL
asa(config)# access-list out_to_in permit ip host 172.16.1.1 host 10.1.1.1
asa(config)# access-group out_to_in in int outside
2)控制出站链接流量-禁止入站
asa(config)# access-list in_to_out deny ip 10.1.1.0 255.255.255.0 any
asa(config)# access-list in_to_out permit ip any any
asa(config)# access-group in_to_out in int inside
NAT-PAT
1:静态NAT转换--->一对一 (IP地址)
是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
2:动态NAT转换--->多对多 (IP地址)
是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,是多对多的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集(地址池)当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
3:动态NAT和静态NAT的具体以下区别:
1、静态的NAT,只能是固定的映射, 不能动态更新 ;
2、动态NAT,可以根据你写的规则 ,进行自动的映射 ;
4:动态PAT转换--->多对一 (接口)
是一种动态复用技术,实现多对一转换。多个私有用户同时用一个外部(公网ip)地址时,路由器用上层的TCP或UDP的端口等唯一标识某个地址。 就是在IP-IP的映射上加上端口号 完成多个内部地址映射到一个外部地址的功能
5:静态PAT转换--->一对零 (端口号)
当公网IP地址池中没有IP地址时,就是将私有IP地址的一个端口映射到局域网中一台机器,当私有用户访问这个IP的这个端口时,服务器自动将请求映射到对应局域网分机 。
6:NAT和PAT的区别
NAT中文全称是地址转换,一般指的是内部IP和内部全局IP一一对应,PAT中文全称是端口转换,一般指的是内部IP与内部全局IP一对多对应,就是将路由器上的多个内部地址映射为一个公网地址,但以不同的协议端口号与不同的内部地址相对应。这种方式常用于拨号上Internet网
NAT+ASA综合实验
实验拓扑
软件版本GN3 0.8.6 ASA镜像8.0(2)
实验环境
R1和R2模拟公司内网,R3模拟互联网设备(公网)。ASA作为公司出口,实现NAT地址转换
实验需求
在ASA上做动态NAT实现对R1 loopback 0 网段的地址转换
在ASA上做动态PAT实现对R1 loopback 1 网段的地址转换
在ASA上做静态NAT实现对R2 loopback 0 地址经行转换
在ASA上做静态PAT实现将R2的F0/0的23端口映射为218.1.1.1这个地址的23端口
配置如下:
路由器的一些基本配置这里就不做解释了
R1配置:
R1(config)#int f0/0
R1(config-if)#ip add 11.0.0.2 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int loo 0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#int loo 1
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 11.0.0.1
R2配置:
R2(config)#line vty 0 4
R2(config-line)#password abc123
R2(config-line)#login
R2(config-line)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1
R2(config-if)#ip add 12.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int loo 0
R2(config-if)#ip add 192.168.20.1 255.255.255.0
R3配置:
R3(config)#int f0/0
R3(config-if)#ip add 13.0.0.2 255.255.255.0
R3(config-if)#no shut
为R1的loopback 0 接口做动态NAT
ASA1配置:
ASA1(config)# int e0/0
ASA1(config-if)# nameif inside //定义接口名称
INFO: Security level for "intside" set to 100 by default.
ASA1(config-if)# ip add 11.0.0.1 255.255.255.0
ASA1(config-if)# no shut
ASA1(config-if)# exit
ASA1(config)# int e0/1
ASA1(config-if)# nameif dmz
INFO: Security level for "dmz" set to 0 by default.
ASA1(config-if)# ip add 12.0.0.1 255.255.255.0
ASA1(config-if)# security-level 50 //配置接口安全级别
ASA1(config-if)# no shut
ASA1(config-if)# int e0/2
ASA1(config-if)# nameif outside
ERROR: Name "outside" has been assigned to interface Ethernet0/0
ASA1(config-if)# ip add 13.0.0.1 255.255.255.0
ASA1(config-if)# no shut
ASA1(config-if)# exit
ASA1(config)# route inside 192.168.10.0 255.255.255.0 11.0.0.2
ASA1(config)# route inside 172.16.1.0 255.255.255.0 11.0.0.2 //配置到达环回口的静态路由
ASA1(config)# route dmz 192.168.20.0 255.255.255.0 12.0.0.2
ASA1(config)# nat (inside) 1 192.168.10.0 255.255.255.0 //定义列表1,到达inside口要转换的地址
ASA1(config)# global (outside) 1 200.1.1.10-200.1.1.20 netmask 255.255.255.0
//配置公网地址池范围
ASA1(config)# access-list 110 permit icmp any any //这里为了偷懒就允许所有icmp
在R3上添加回程路由,并开启debug
R3#debug ip icmp
R3#conf t
R3(config)#ip route 200.1.1.0 255.255.255.0 13.0.0.1
R1 loopback 0 ping R3 测试
从R3的debug信息可以看出NAT转换成功了
在ASA上为R1 loo
在R2上ping 13.0.0.3 测试
在R3上查看debug信息,发现转换成功
在ASA上做静态PAT,将R2的F0/0的23端口映射为到218.1.1.1的23端口
ASA1(config)# static (dmz,outside) tcp 218.1.1.1 telnet 12.0.0.2 telnet
//配置将12.0.0.2的23端口映射到218.1.1.1这个地址的23端口,公网地址要写在前面
ASA1(config)# access-list 110 permit tcp host 13.0.0.2 host 218.1.1.1 eq 23
//定义一个ACL允许13.0.0.3对218.1.1.1进行telnet,由于之前110在接口上应用了这里就省略了
在R3上做回程路由
R3(config)#ip route 218.1.1.1 255.255.255.255 13.0.0.1
在R3上telnet 218.1.1.1 ,验证是否能映射到R2
总结:
动态NAT是多对多,定义一个地址池。地址池内有少个地址就可以有多少地址上公网
动态PAT是一对多,让所有私网地址都复用一个地址去上公网
静态NAT是一对一,一个私网地址指定一个公网地址
静态PAT是端口映射,将一个公网地址的某个端口映射到私网的某个地址pback 1 接口做动态PAT --接口
ASA1(config)# nat (inside) 2 172.16.1.0 255.255.255.0
ASA1(config)# global (outside) 2 interface
用R1 的 loopback 1 ping R3测试
查看R3上的debug信息,发现转换成功为外网口地址
在ASA上做为R2的loopback 0 做静态NAT,转换为222.222.222.222
ASA1(config)# static (dmz,outside) 222.222.222.222 192.168.20.1 //配置将192.168.20.1这个
地址转换为222.222.222.222,注意公网地址是写在前面
在R3上做回程路由
R3(config)#ip route 222.222.222.222 255.255.255.255 13.0.0.1
在R2上ping 13.0.0.3 测试
在R3上查看debug信息,发现转换成功
在ASA上做静态PAT,将R2的F0/0的23端口映射为到218.1.1.1的23端口
ASA1(config)# static (dmz,outside) tcp 218.1.1.1 telnet 12.0.0.2 telnet
//配置将12.0.0.2的23端口映射到218.1.1.1这个地址的23端口,公网地址要写在前面
ASA1(config)# access-list 110 permit tcp host 13.0.0.2 host 218.1.1.1 eq 23
//定义一个ACL允许13.0.0.3对218.1.1.1进行telnet,由于之前110在接口上应用了这里就省略了
在R3上做回程路由
R3(config)#ip route 218.1.1.1 255.255.255.255 13.0.0.1
在R3上telnet 218.1.1.1 ,验证是否能映射到R2
总结:
动态NAT是多对多,定义一个地址池。地址池内有少个地址就可以有多少地址上公网
动态PAT是一对多,让所有私网地址都复用一个地址去上公网
静态NAT是一对一,一个私网地址指定一个公网地址
静态PAT是端口映射,将一个公网地址的某个端口映射到私网的某个地址
,将一个公网地址的某个端口映射到私网的某个地址