一、基本配置#hostname name //名字的设置#interface gigabitethernet0/0 //进入接口0/0#nameif outside //配置接口名为outside#security-level 0 //设置安全级别。
级别从0--100,级别越高安全级别越高#ip address 218.xxx.xxx.xxx 255.255.255.248 //设置外部ip地址#no shutdown#interface ethernet0/1 //进入接口0/1#nameif inside //配置接口名为inside#security-level 100 //设置安全级别。
级别从0--100,级别越高安全级别越高#ip address 192.168.10.1 255.255.255.0 //设置ip地址#duplex full //全双工#speed 100 //速率#no shutdown#interface ethernet0/2 //进入接口0/2#nameif dmz //配置接口名为dmz#security-level 50 //设置安全级别。
级别从0--100,级别越高安全级别越高#ip address 192.168.9.1 255.255.255.0 //设置dmz接口ip地址#no shutdown#interface Management0/0 //进入管理接口# nameif guanli //接口名# security-level 100 //安全级别#ip address 192.168.1.1 255.255.255.0 //IP地址注意:security-level 配置安全级别。
默认外网接口为0/0 安全级别默认为0内网接口为0/1 安全级别默认为100dmz 接口为0/2 安全级别默认为50默认情况下,相同安全级别接口之间不允许通信,可以使用以下命令:#same-security-traffic permit interface //允许相同安全级别接口之间互相通信。
较高安全接口访问较低安全接口:允许所有基于IP的数据流通过,除非有ACL访问控制列表,认证或授权的限制。
较低安全接口访问较高安全接口:除非有conduit或acl进行明确的许可,否则丢弃所有的数据包。
二、global、nat、static、route命令1、global命令global (if_name) nat_id ipaddress--ipaddress [netmask mask]if_name:指的是接口nat_id:为地址池的ID标识号ipaddress--ipaddress [netmask mask]:指定的IP地址池范围,也可以是一个地址例:global(outside) 1 218.106.236.247-218.106.236.249 //配置一个地址池global(outside) 1 interface //配置单个地址为outside接口的地址global(outside) 1 218.106.236.237 netmask 255.255.255.248 //配置一个地址池,为255.255.255.248所有子网范围内的地址2、nat命令(1)基本用法nat (if_name) nat_id local_ip [netmask]if_name:指的是接口nat_id:为地址池的ID标识号,即global中定义的nat_idlocal_ip [netmask] :哪些地址转换到nat_id这个地址池上。
(2)动态内部nat转换(多对多)例:global(outside) 1 218.106.236.247-218.106.236.249 //配置一个地址池nat (inside) 1 192.168.9.0 255.255.255.0 //和上面的global配置一起使用,即把192.168.9.0 这个网段的地址转换为218.106.236.247-218.106.236.249这个网段(3) pat (多对一nat)当多个ip地址转换为一个ip地址时,就自动在外部IP地址的后面加上大于1024的端口号,以区别不同的转换访问。
global(outside) 1 218.106.236.247 //配置一个外部地址nat (inside) 1 192.168.9.0 255.255.255.0 //和上面的global配置一起使用,即把192.168.9.0 这个网段的地址转换为218.106.236.247这个外部IP地址。
外部人看到的是自动加了端口号的地址。
(4)策略nataccess-list extended net1 permit ip 192.168.9.0 255.255.255.0 host 209.165.200.1 //定义一个策略global(outside) 1 209.165.200.100 //定义一个地址nat (inside) 1 access-list net1 //当192.168.9.0 网段的地址访问209.165.200.1这台电脑时,转换为209.165.200.100这个ip地址。
(5)动态外部nat转换当低级别的想往高级别的转换时,在后面加outside关键字即可。
nat (dmz) 1 192.168.7.0 255.255.255.0 outside //把dmz接口下的地址nat 到inside接口中global(inside) 1 192.168.9.10-192.168.9.20 //即dmz接口中的192.168.7.0 网段的地址访问内网时,将转换为内网地址为192.168.9.10-192.168.9.20(6)nat 0 即nat 免除nat 0 表示穿过防火墙而不进行nat转换。
即表示地址不经过转换直接作为源地址发送穿过防火墙达到低级别安全接口。
nat (dmz) 0 192.168.0.9 255.255.255.255注意:执行nat的顺序:nat 0 (nat免除)静态nat和静态pat (即static命令)策略动态nat (nat access-list)正常的动态nat和pat (nat)3、static映射命令充许一个位于低安全级别接口的流量,穿过防火墙达到一个较高级别的接口。
即数据流从较低安全级别接口到较高安全级别。
(1)常用方法:static (real_ifname mapped_ifname) {mapped_ip|interface} real_ip [netmask mask]real_ifname :较高级别接口名mapped_ifname:较低级别接口名mapped_ip:较低级别接口ip地址interface:较低级别接口real_ip:较高级别ip地址扩号内的顺序是:先高级别后低级别,扩号外的顺序是先低级别后高级别,正好相反。
例:static (inside outside) 218.107.233.234 192.167.9.1 //即把218.107.233.234这个外部地址映射到内部地址192.168.9.1上。
(2)静态端口映射static (real_ifname mapped_ifname) {tcp | udp} {mapped_ip|interface} mapped_port real_ip real_port [netmask mask]real_ifname :较高级别接口名mapped_ifname:较低级别接口名tcp|udp :要映射的端口协议名mapped_ip:较低级别接口ip地址interface:较低级别接口mapped_port:端口名或端口号real_ip:较高级别ip地址real_port:端口名或端口号注意一点很重要:并不是配置了static就可以从外部访问内部了,必须要定义一个访问控制列表来实现一个通道,允许哪些服务或端口,或哪些地址可以访问。
例:static (inside,outside) tcp interface ftp 192.168.10.4 ftp netmask 255.255.255.255 //把outside接口ip地址的ftp端口映射到192.168.10.4 内部IP的FTP端口。
access-list ftp extended permit tcp any interface outside eq ftp //定议一个访问控制列表,以允许ftp数据流通过。
access-group ftp in interface outside //把访问控制列表应用于接口4、route 命令route if_name destination_ip gateway [metric]if_name: 接口名destination_ip: 目的地gateway: 网关metric: 跳数例:route outside 0 0 218.102.33.247 1 //即默认网关为218.102.33.247 ,只有一跳route inside 192.168.9.0 255.255.255.0 192.168.10.1 //设置到目标192.168.9.0网段的网关为192.168.10.1三、访问控制访问控制的方法与路由器的没有区别。
基本步骤是先定义访问控制列表,然后再应用到接口即可。
在此不多作解释,在路由器模块里,会单独把访问列表作解释。
四、防火墙基本管理1、telnet 配置#usename name password password //设置登入的帐号和密码#aaa authentication telnet console LOCAL //设置AAA验证方式。
此处为LOCAL本地。
也可以用AAA服务器进入验证。
#telnet 0.0.0.0 0.0.0.0 inside //哪些地址可telnet进此接口#telnet timeout 10 //超时时长,以分钟为单位2、ssh登录配置#usename name password password //设置登入的帐号和密码#aaa authentication ssh console LOCAL //设置AAA验证方式。
此处为LOCAL本地。
也可以用其他服务器进入验证。
#ssh timeout 10#crypto key generate rsa modulus 1024 //指定rsa密钥的大小,这个值越大,产生rsa的时间越长,cisco推荐使用1024.# write mem //保存刚才产生的密钥#ciscoasa(config)#ssh 0.0.0.0 0.0.0.0 {inside|outside} //允许哪些IP可以通过SSH登录此防火墙。