nat-control命令
在6.3的时候只要是穿越防火墙都需要创建转换项,比如:nat;static等等,没有转换项是不能穿越防火墙的,但是到了7.0这个规则有了变化,不需要任何转换项也能正常的像路由器一样穿越防火墙。但是一个新的命令出现了!当你打上nat-control这个命令的时候,这个规则就改变得和6.3时代一样必须要有转换项才能穿越防火墙了。7.0以后开始 nat-control 是默认关闭的,关闭的时候允许没有配置NAT规则的前提下和外部主机通信,相当于路由器一样,启用NAT开关后内外网就必须通过NAT转换才能通信
1、定义外口
interface Ethernet0/0 进入端口
nameif outside 定义端口为外口
security-level 0 定义安全等级为0
no shut 激活端口
ip address ×.×.×.× 255.255.255.248 设置IP
2、定义内口
interface Ethernet0/1
nameif inside 定义端口为内
security-level 100 定义端口安去昂等级为100
no shut
ip address 192.168.1.1 255.255.255.0
3、定义内部NAT范围。
nat (inside) 1 0.0.0.0 0.0.0.0 任何IP都可以NAT,可以自由设置范围。
4、定义外网地址池
global (outside) 1 10.21.67.10-10.21.67.14 netmask 255.255.255.240
或
global (outside) 1 interface 当ISP只分配给一个IP是,直接使用分配给外口的IP地址。
5、设置默认路由
route outside 0 0 218.17.148.14 指定下一条为IPS指定的网关地址
查看NAT转换情况
show xlate
---------------------------------------------------
一:6个基本命令: nameif、 interface、 ip address 、nat、 global、 route。
二:基本配置步骤:
step1: 命名接口名字
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 dmz security50
**7版本的配置是先进入接口再命名。
step2:配置接口速率
interface ethernet0 10full auto
interface ethernet1 10full auto
interface ethernet2 10full
step3:配置接口地址
ip address outside 218.106.185.82
ip address inside 192.168.100.1 255.255.255.0
ip address dmz 192.168.200.1 255.255.255.0
step4:地址转换(必须)
* 安全高的区域访问安全低的区域(即内部到外部)需NAT和global;
nat(inside) 1 192.168.1.1 255.255.255.0
global(outside) 1 222.240.254.193 255.255.255.248
*** nat (inside) 0 192.168.1.1 255.255.255.255 表示192.168.1.1这个地址不需要转换。直接转发出去。
* 如果内部有服务器需要映射到公网地址(外网访问内网)则需要static和conduit或者acl.
static (inside, outside) 222.240.254.194 192.168.1.240
static (inside, outside) 222.240.254.194 192.168.1.240 10000 10
后面的10000为限制连接数,10为限制的半开连接数。
conduit permit tcp host 222.240.254.194 eq www any
conduit permit icmp any any (这个命令在做测试期间可以配置,测试完之后要关掉,防止不必要的漏洞)
ACL实现的功能和conduit一样都可实现策略访问,只是ACL稍微麻烦点。conduit现在在7版本已经不能用了。
Access-list 101 permit tcp any host 222.240.254.194 eq www
Access-group 101 in interface outside (绑定到接口)
***允许任何地址到主机地址为222.240.254.194的www的tcp访问。
Step5:路由定义:
Route outside 0 0 222.240.254.193 1
Route inside 192.168.10.0 255.255.255.0 192.168.1.1 1
**如果内部网段不是直接接在防火墙内口,则需要配置到内部的路由。
Step6:基础配置完成,保存配置。
Write memory write erase 清空配置
reload
---------------------------------------------------
要想配置思科的防火墙得先了解这些命令:
常用命令有:nameif、interface、ip address、nat、global、route、static等。
global
指定公网地址范围:定义地址池。
Global命令的配置语法:
global (if_name) nat_id ip_address-ip_address [netmark global_mask]
其中:
(if_name):表示外网接口名称,一般为outside。
nat_id:建立的地址池标识(nat要引用)。
ip_address-ip_address:表示一段ip地址范围。
[netmark global_mask]:表示全局ip地址的网络掩码。
nat
地址转换命令,将内网的私有ip转换为外网公网ip。
nat命令配置语法:nat (if_name) nat_id local_ip [netmark]
其中:
(if_name):表示接口名称,一般为inside.
nat_id: 表示地址池,由global命令定义。
local_ip:表示内网的ip地址。对于0.0.0.0表示内网所有主机。
[netmark]:表示内网ip地址的子网掩码。
route
route命令定义静态路由。
语法:
route (if_name) 0 0 gateway_ip [metric]
其中:
(if_name):表示接口名称。
0 0 :表示所有主机
Gateway_ip:表示网关路由器的ip地址或下一跳。
[metric]:路由花费。缺省值是1。
static
配置静态IP地址翻译,使内部地址与外部地址一一对应。
语法:
static(internal_if_name,external_if_name) outside_ip_addr inside_ ip_address
其中:
internal_if_name表示内部网络接口,安全级别较高,如inside。
external_if_name表示外部网络接口,安全级别较低,如outside。
outside_ip_address表示外部网络的公有ip地址。
inside_ ip_address表示内部网络的本地ip地址。
(括号内序顺是先内后外,外边的顺序是先外后内)
例如:
asa(config)#static (inside,outside) 133.0.0.1 192.168.0.8
表示内部ip地址192.168.0.8,访问外部时被翻译成133.0.0.1全局地址
**************************************************************************
asa#conf t
asa(config)# hostname asa //设置主机名
asa(config)#enable password cisco //设置密码
配置外网的接口,名字是outside,安全级别0,输入ISP给您提供的地址就行了。
asa(config)#interface GigabitEthernet0/0
asa(config)#nameif outside // 名字是outside
asa(config)#securit-level 0 // 安全级别0
asa(config)#ip address *.*.*.* 255.255.255.0 // 配置公网IP地址
asa(config)#duplex full
asa(config)#
asa(config)#no shutdown
配置内网的接口,名字是inside,安全级别 100
asa(config)#interface GigabitEthernet0/1
asa(config)#nameif inside
asa(config)#securit-level 100
asa(config)#duplex full
asa(config)#speed 100
asa(config)#no shutdown
配置DMZ的接口,名字是dmz,安全级别50
asa(config)#interface GigabitEthernet0/2
asa(config)#nameif dmz
asa(config)#securit-level 50
asa(config)#duplex full
asa(config)#
asa(config)#no shutdown
网络部分设置
asa(config)#nat(inside) 1 192.168.1.1 255.255.255.0
asa(config)#global(outside) 1 222.240.254.193 255.255.255.248
asa(config)#nat (inside) 0 192.168.1.1 255.255.255.255 // 表示192.168.1.1这个地址不需要转换。直接转发出去。
asa(config)#global (outside) 1 133.1.0.1-133.1.0.14 //定义的地址池
asa(config)#nat (inside) 1 0 0 //0 0表示转换网段中的所有地址。定义内部网络地址将要翻译成的全局地址或地址范围
配置静态路由
asa(config)#route outside 0 0 133.0.0.2 // 设置默认路由 133.0.0.2为下一跳
如果内部网段不是直接接在防火墙内口,则需要配置到内部的路由。
asa(config)#Route inside 192.168.10.0 255.255.255.0 192.168.1.1 1
地址转换
asa(config)#static (dmz,outside) 133.1.0.1 10.65.1.101 ; 静态NAT
asa(config)#static (dmz,outside) 133.1.0.2 10.65.1.102 ; 静态NAT
asa(config)#static (inside,dmz) 10.66.1.200 10.66.1.200 ; 静态NAT
如果内部有服务器需要映射到公网地址(外网访问内网)则需要static
asa(config)#static (inside, outside) 222.240.254.194 192.168.1.240
asa(config)#static (inside, outside) 222.240.254.194 192.168.1.240 10000 10 //后面的10000为限制连接数,10为限制的半开连接数
ACL实现策略访问
asa(config)#access-list 101 permit ip any host 133.1.0.1 eq www;设置ACL
asa(config)#access-list 101 permit ip any host 133.1.0.2 eq ftp;设置ACL
asa(config)#access-list 101 deny ip any any ; 设置ACL
asa(config)#access-group 101 in interface outside ; 将ACL应用在outside端口
当内部主机访问外部主机时,通过nat转换成公网IP,访问internet。
当内部主机访问中间区域dmz时,将自己映射成自己访问服务器,否则内部主机将会映射成地址池的IP,到外部去找。
当外部主机访问中间区域dmz时,对133.0.0.1映射成 10.65.1.101,static是双向的。
PIX的所有端口默认是关闭的,进入PIX要经过acl入口过滤。
静态路由指示内部的主机和dmz的数据包从outside口出去。
-----------------------------------------------
例子:
sh run
: Saved
:
ASA Version 8.0(2)
!
hostname ciscoasa
enable password 2KFQnbNIdI.2KYOU encrypted
names
!
interface Vlan1
nameif inside
security-level 100
ip address 10.115.25.1 255.255.255.0
!
interface Vlan2
nameif outside
security-level 0
ip address 124.254.4.78 255.255.255.248
!
interface Ethernet0/0
switchport access vlan 2
!
interface Ethernet0/1
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
!
interface Ethernet0/6
!
interface Ethernet0/7
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
dns domain-lookup inside
dns domain-lookup outside
access-list 100 extended permit icmp any any
access-list 100 extended permit tcp any host 124.254.4.78 eq www
access-list 100 extended permit tcp any host 124.254.4.78 eq smtp
access-list 100 extended permit tcp any host 124.254.4.78 eq pop3
access-list 100 extended permit tcp any host 124.254.4.78 eq ftp
access-list 100 extended permit tcp any host 124.254.4.78 eq ssh
access-list 100 extended permit tcp any host 124.254.4.78 eq pcanywhere-data
access-list 100 extended permit udp any host 124.254.4.78 eq pcanywhere-status
access-list 100 extended permit tcp any host 124.254.4.78 eq 8086
access-list 100 extended permit tcp any host 124.254.4.78 eq 3389
access-list 100 extended permit tcp any host 124.254.4.78 eq 2401
access-list 100 extended permit ip any any
access-list 100 extended permit ip any host 124.254.4.78
pager lines 24
mtu inside 1500
mtu outside 1500
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 1 0.0.0.0 0.0.0.0
static (inside,outside) tcp 124.254.4.78 www 10.115.25.2 www netmask 255.255.255.255
static (inside,outside) tcp 124.254.4.78 ftp 10.115.25.2 ftp netmask 255.255.255.255
static (inside,outside) tcp 124.254.4.78 smtp 10.115.25.2 smtp netmask 255.255.255.255
static (inside,outside) tcp 124.254.4.78 pop3 10.115.25.2 pop3 netmask 255.255.255.255
static (inside,outside) tcp 124.254.4.78 3389 10.115.25.2 3389 netmask 255.255.255.255
static (inside,outside) tcp 124.254.4.78 8086 10.115.25.2 8086 netmask 255.255.255.255
static (inside,outside) 124.254.4.78 10.115.25.2 netmask 255.255.255.255
access-group 100 in interface outside
route outside 0.0.0.0 0.0.0.0 124.254.4.73 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
dynamic-access-policy-record DfltAccessPolicy
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
no crypto isakmp nat-traversal
telnet 10.115.25.0 255.255.255.0 inside
telnet timeout 5
ssh timeout 5
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
inspect http
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:deca4473c55485d04a622b1b9fca73d8
: end
ciscoasa#
-----------------------------------------------
asa 5505
1.配置防火墙名
ciscoasa> enable
ciscoasa# configure terminal
ciscoasa(config)# hostname asa5505
2.配置telnet
asa5505(config)#telnet 192.168.1.0 255.255.255.0 inside
//允许内部接口192.168.1.0网段telnet防火墙
3.配置密码
asa5505(config)# password cisco
//远程密码
asa5505(config)# enable password cisco
//特权模式密码
4.配置IP
asa5505(config)# interface vlan 2
//进入vlan2
asa5505(config-if)# ip address 218.xxx.37.222 255.255.255.192
//vlan2配置IP
asa5505(config)#show ip address vlan2
//验证配置
5.端口加入vlan
asa5505(config)# interface e0/3
//进入接口e0/3
asa5505(config-if)# switchport access vlan 3
//接口e0/3加入vlan3
asa5505(config)# interface vlan 3
//进入vlan3
asa5505(config-if)# ip address 10.10.10.36 255.255.255.224
//vlan3配置IP
asa5505(config-if)# nameif dmz
//vlan3名
asa5505(config-if)# no shutdown
//开启
asa5505(config-if)# show switch vlan
//验证配置
6.最大传输单元MTU
asa5505(config)#mtu inside 1500
//inside最大传输单元1500字节
asa5505(config)#mtu outside 1500
//outside最大传输单元1500字节
asa5505(config)#mtu dmz 1500
//dmz最大传输单元1500字节
7.配置arp表的超时时间
asa5505(config)#arp timeout 14400
//arp表的超时时间14400秒
8.FTP模式
asa5505(config)#ftp mode passive
//FTP被动模式
9.配置域名
asa5505(config)#domain-name Cisco.com
10.启动日志
asa5505(config)#logging enable
//启动日志
asa5505(config)#logging asdm informational
//启动asdm报告日志
asa5505(config)#Show logging
//验证配置
11.启用http服务
asa5505(config)#http server enable
//启动HTTP server,便于ASDM连接。
asa5505(config)#http 0.0.0.0 0.0.0.0 outside
//对外启用ASDM连接
asa5505(config)#http 0.0.0.0 0.0.0.0 inside
//对内启用ASDM连接
12.控制列表
access-list acl_out extended permit tcp any any eq www
//允许tcp协议80端口入站
access-list acl_out extended permit tcp any any eq https
//允许tcp协议443端口入站
access-list acl_out extended permit tcp any host 218.xxx.37.223 eq ftp
//允许tcp协议21端口到218.xxx.37.223主机
access-list acl_out extended permit tcp any host 218.xxx.37.224 eq 3389
//允许tcp协议3389端口到218.xxx.37.224主机
access-list acl_out extended permit tcp any host 218.xxx.37.225 eq 1433
//允许tcp协议1433端口到218.xxx.37.225主机
access-list acl_out extended permit tcp any host 218.xxx.37.226 eq 8080
//允许tcp协议8080端口到218.xxx.37.226主机
asa5505(config)#show access-list
//验证配置
13.设置路由
asa5505(config)#route dmz 10.0.0.0 255.0.0.0 10.10.10.33 1
//静态路由到10.0.0.0网段经过10.10.10.33网关跳数为1
asa5505(config)#route outside 0.0.0.0 0.0.0.0 218.16.37.193 1
//默认路由到所有网段经过218.xxx.37.193网关跳数为1
asa5505# show route
//显示路由信息
14.静态NAT
asa5505(config)# static (inside,outside) 218.xxx.37.223 192.168.1.6 netmask 255.255.255.255
//外网218.xxx.37.223映射到内网192.168.1.6
asa5505(config)#access-list acl_out extended permit icmp any any
//控制列表名acl_out允许ICMP协议
asa5505(config)#access-group acl_out in interface outside
//控制列表acl_out应用到outside接口
asa5505(config)#static (inside,dmz) 10.10.10.37 192.168.1.16 netmask 255.255.255.255
//dmz10.10.10.37映射到内网192.168.1.16
asa5505(config)#access-list acl_dmz extended permit icmp any any
//控制列表名acl_dmz允许ICMP协议
asa5505(config)#access-group acl_dmz in interface dmz
//控制列表acl_out应用到dmz接口
asa5505(config)#Show nat
//验证配置
15.动态NAT
asa5505(config)#global(outside) 1 218.201.35.224-218.201.35.226
//定义全局地址池
asa5505(config)#nat(inside) 1 192.168.1.20-192.168.1.22
//内部转换地址池
asa5505(config)# show xlate
//验证配置
16.基于端口NAT(PAT)
asa5505(config)#global (outside) 2 interface
//定义全局地址即outside地址:218.xxx.37.222
asa5505(config)#nat (inside) 2 192.168.1.0 255.255.255.0
//内部转换地址池
asa5505(config)# show xlate
//验证配置
17.基于LAN故障倒换(failover)
1).主防火墙配置
asa5505(config)#failover mac addr outside 001a.2b3c.4d11 001a.2b3c.4w12
//故障倒换虚拟MAC地址
asa5505(config)#failover mac addr inside 001a.2b3c.4d21 001a.2b3c.4w22
//故障倒换虚拟MAC地址
asa5505(config)#failover mac addr inside 001a.2b3c.4d21 001a.2b3c.4w32
//故障倒换虚拟MAC地址
asa5505(config)#failover
//启动故障倒换
asa5505(config)#failover lan unit primary
//设置主要防火墙
asa5505(config)#failover lan interface standby Vlan4
//故障倒换接口名standby
asa5505(config)#failover interface ip standby 172.168.32.1 255.255.255.252 standby 172.168.32.2
//配置主防火墙IP:172.168.32.1,备用防火墙IP:172.168.32.2
asa5505# show failover
//验证配置
2).备防火墙配置
asa5505(config)#failover mac addr outside 001a.2b3c.4d11 001a.2b3c.4w12
//故障倒换虚拟MAC地址
asa5505(config)#failover mac addr inside 001a.2b3c.4d21 001a.2b3c.4w22
//故障倒换虚拟MAC地址
asa5505(config)#failover mac addr inside 001a.2b3c.4d21 001a.2b3c.4w32
//故障倒换虚拟MAC地址
asa5505(config)#failover
//启动故障倒换
asa5505(config)#failover lan unit secondary
//设置备用防火墙
asa5505(config)#failover lan interface standby Vlan4
//故障倒换接口名standby
asa5505(config)#failover interface ip standby 172.168.32.1 255.255.255.252 standby 172.168.32.2
//配置主防火墙IP:172.168.32.1,备用防火墙IP:172.168.32.2
asa5505# show failover
//验证配置
18.显示mac地址
asa5505# show switch mac-address-table
19.保存配置
asa5505# write memory