防火墙配置<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
防火墙保存命令:(config)#wr mem
防火墙清除配置命令:(config)#wr erase
1、设置安全级别 (外网0最高,内网 100最高,其他可以任意选)
(config)#nameif ethernet0 outside security0
(config)#nameif ethernet1 inside security100
(config)#nameif ethernet1 inside security100
(config)#nameif dmz security50
提示:在缺省配置中,以太网0被命名为外部接口(outside),安全级别是0;以太网1
被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安
全级别越高。
被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安
全级别越高。
若添加新的接口,语句可以这样写:
(config)#nameif pix/intf3 security40 (安全级别任取)
(config)#nameif pix/intf3 security40 (安全级别任取)
(config)#interface gb-ethernet0 1000auto (光口)
(config)#nameif gb-ethernet0 intf2 security40 (光口)
2. 配置以太口参数(interface)
(config)#interface ethernet0 auto (auto选项表明系统自适应网卡类型)
(config)#interface ethernet1 auto
(config)#interface ethernet0 auto (auto选项表明系统自适应网卡类型)
(config)#interface ethernet1 auto
3. 配置内外网卡的IP地址(ip address)
(config)#ip address outside 61.144.51.42 255.255.255.248
(config)#ip address inside 192.168.0.1 255.255.255.0
(config)#ip address outside 61.144.51.42 255.255.255.248
(config)#ip address inside 192.168.0.1 255.255.255.0
4、指定要进行转换的内部地址(nat)
nat命令配置语法:nat (if_name) nat_id local_ip [netmark]
其中(if_name)表示内网接口名字,例如inside.
其中(if_name)表示内网接口名字,例如inside.
Nat_id用来标识全局地址池,使它与其相应的global命令相匹配,
local_ip表示内网被分配的ip地址。例如0.0.0.0表示内网
例1. (config)#nat (inside) 1 0 0
表示启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0
例2. (config)#nat (inside) 1 172.16.5.0 255.255.0.0
表示只有172.16.5.0这个网段内的主机可以访问外网。
例1. (config)#nat (inside) 1 0 0
表示启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0
例2. (config)#nat (inside) 1 172.16.5.0 255.255.0.0
表示只有172.16.5.0这个网段内的主机可以访问外网。
5. 指定外部地址范围(global)
Global命令的配置语法:global (if_name) nat_id ip_address-ip_address [netmark global_mask]
其中(if_name)表示外网接口名字,例如outside.。
其中(if_name)表示外网接口名字,例如outside.。
Nat_id用来标识全局地址池,使它与其相应的nat命令相匹配,
ip_address-ip_address表示翻译后的单个ip地址或一段ip地址范围。
[netmark global_mask]表示全局ip地址的网络掩码。
例1. (config)#global (outside) 1 61.144.51.42-61.144.51.48
表示内网的主机通过pix防火墙要访问外网时,pix防火墙将使用61.144.51.42-61.144.51.48这段ip地址池为要访问外网的主机分配一个全局ip地址。
例2. (config)#global (outside) 1 61.144.51.42
表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个
单一ip地址。
表示内网的主机通过pix防火墙要访问外网时,pix防火墙将使用61.144.51.42-61.144.51.48这段ip地址池为要访问外网的主机分配一个全局ip地址。
例2. (config)#global (outside) 1 61.144.51.42
表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个
单一ip地址。
例2还可以表示成
(config)#global (outside) 1 interface (如果外网只有一个IP)
例3. (config)#no global (outside) 1 61.144.51.42
表示删除这个全局表项。
例3. (config)#no global (outside) 1 61.144.51.42
表示删除这个全局表项。
例4.如果是不连续的网络段。
(config)#
global (outside) 1 220.172.104.211-220.172.104.213
(config)#
global (outside) 1 220.172.104.217
6. 设置指向内网和外网的静态路由(route)
定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip
[metric]
其中(if_name)表示接口名字,例如inside,outside。
定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip
[metric]
其中(if_name)表示接口名字,例如inside,outside。
Gateway_ip表示网关路由器的ip地址。
[metric]表示到gateway_ip的跳数。通常缺省是1。
例1. (config)#route outside 0 0 61.144.51.168 1
表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。
例2. (config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1
(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1
如果内部网络只有一个网段,按照例1那样设置一条缺省路由即可;如果内部存在多个网
络,需要配置一条以上的静态路由。上面那条命令表示创建了一条到网络10.1.1.0的静
态路由,静态路由的下一条路由器ip地址是172.16.0.1
例3、指向内部和外部的路由
例1. (config)#route outside 0 0 61.144.51.168 1
表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。
例2. (config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1
(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1
如果内部网络只有一个网段,按照例1那样设置一条缺省路由即可;如果内部存在多个网
络,需要配置一条以上的静态路由。上面那条命令表示创建了一条到网络10.1.1.0的静
态路由,静态路由的下一条路由器ip地址是172.16.0.1
例3、指向内部和外部的路由
A、动态路由
router ospf 1
network 172.16.2.0 255.255.255.0 area 0
network 192.168.0.0 255.255.0.0 area 0
network 218.106.194.16 255.255.255.240 area 0
B、静态路由
(config)#ip address inside 172.16.2.1 255.255.255.0
(config)#ip address outside 218.106.204.66 255.255.255.240
(config)#route outside 0.0.0.0 0.0.0.0 218.106.204.65 1 (IP为下一跳)
(config)#route inside 192.168.0.0 255.255.0.0 172.16.2.2 1 (此为内网下面的网络)
以上配置后就可以通了!下面是些高级的控制
7、A、
配置静态IP地址翻译(static)
static命令配置语法:static
(internal_if_name ,external_if_name) outside_ip_address inside_ ip_address 其中internal_if_name表示内部网络接口,安全级别较高。如inside.
external_if_name 为外部网络接口,安全级别较低。如outside等。
(internal_if_name ,external_if_name) outside_ip_address inside_ ip_address 其中internal_if_name表示内部网络接口,安全级别较高。如inside.
external_if_name 为外部网络接口,安全级别较低。如outside等。
outside_ip_address为正在访问的较低安全级别的接口上的ip地址。
inside_ ip_address为内部网络的本地ip地址。
例1. (config)#static (inside, outside) 61.144.51.62 192.168.0.8 (此为防火墙在最前端)
表示ip地址为192.168.0.8的主机,对于通过pix防火墙建立的每个会话,都被翻译成61.144.51.62这个全局地址,也可以理解成static命令创建了内部ip地址192.168.0.8和外部ip地址61.144.51.62之间的静态映射。
表示ip地址为192.168.0.8的主机,对于通过pix防火墙建立的每个会话,都被翻译成61.144.51.62这个全局地址,也可以理解成static命令创建了内部ip地址192.168.0.8和外部ip地址61.144.51.62之间的静态映射。
例2. (config)#static (inside, outside) 192.168.0.2 10.0.1.3 (此为防火墙在路由或者其他设备之后)
例3. (config)#static (dmz, outside) 211.48.16.2 172.16.10.8 (此为DMZ的转换)
B.
管道命令(conduit)
conduit
命令配置语法:
conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask]
conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask]
permit | deny
允许 | 拒绝访问
global_ip 指的是先前由global或static命令定义的全局ip地址,
global_ip 指的是先前由global或static命令定义的全局ip地址,
如果global_ip为0,就用any代替0;
如果global_ip是一台主机,就用host命令参数。
port 指的是服务所作用的端口,例如www使用80,smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。
protocol 指的是连接协议,比如:TCP、UDP、ICMP等。
foreign_ip 表示可访问global_ip的外部ip。对于任意主机,可以用any表示。
port 指的是服务所作用的端口,例如www使用80,smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。
protocol 指的是连接协议,比如:TCP、UDP、ICMP等。
foreign_ip 表示可访问global_ip的外部ip。对于任意主机,可以用any表示。
如果foreign_ip是一台主机,就用host命令参数。
例1. (config)#conduit permit tcp host 192.168.0.8 eq www any
这个例子表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp 就是指允许或拒绝只对ftp
的访问。
例2. (config)#conduit deny tcp any eq ftp host 61.144.51.89
表示不允许外部主机61.144.51.89对任何全局地址进行ftp访问。
这个例子表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp 就是指允许或拒绝只对ftp
的访问。
例2. (config)#conduit deny tcp any eq ftp host 61.144.51.89
表示不允许外部主机61.144.51.89对任何全局地址进行ftp访问。
例3. (config)#conduit permit icmp any any
表示允许icmp消息向内部和外部通过。
表示允许icmp消息向内部和外部通过。
例4. (config)#static (inside, outside) 61.144.51.62 192.168.0.3
(config)#conduit permit tcp host 61.144.51.62 eq www any
这个例子说明static和conduit的关系。192.168.0.3在内网是一台web服务器,现在希望外网的用户能够通过pix防火墙得到web服务。所以先做static静态映射:192.168.0.3->61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。
C.
配置fixup协议
fixup 命令作用是启用,禁止,改变一个服务或协议通过pix防火墙,由fixup命令指定的
端口是pix防火墙要侦听的服务。见下面例子:
例1. (config)#fixup protocol ftp 21
启用ftp协议,并指定ftp的端口号为21
例2. (config)#fixup protocol http 80
(config)#fixup protocol http 1080
为http协议指定80和1080两个端口。
例3. (config)#no fixup protocol smtp 80
禁用smtp协议。
fixup 命令作用是启用,禁止,改变一个服务或协议通过pix防火墙,由fixup命令指定的
端口是pix防火墙要侦听的服务。见下面例子:
例1. (config)#fixup protocol ftp 21
启用ftp协议,并指定ftp的端口号为21
例2. (config)#fixup protocol http 80
(config)#fixup protocol http 1080
为http协议指定80和1080两个端口。
例3. (config)#no fixup protocol smtp 80
禁用smtp协议。
D.
设置telnet
telnet 配置语法:telnet local_ip [netmask]
local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。
telnet 配置语法:telnet local_ip [netmask]
local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。
(config)# telnet 0.0.0.0 0.0.0.0 inside
(config)# telnet 0.0.0.0 0.0.0.0 outside (
此命令没有通,上面的可以,思科默认的密码是:CISCO )
E
.允许或拒绝ping
(config)#ICMP permit/deny any echo-reply outside
(config)#
Icmp permit/deny any unreachable outside
8
、DHCP服务
PIX
配置DHCP Server (经过验证)
(config)#
dhcpd address 192.168.1.4-192.168.1.254 inside (
设置池)
(config)# dhcpd dns 203.196.0.6 202.106.0.20
(设置DNS)
(config)#
dhcpd lease 3600
(设置时间)
(config)#
dhcpd ping_timeout 750
(防止IP 冲突的时间)
(config)#
dhcpd auto_config outside
(config)#
dhcpd enable inside
(在内网接口起用DHCP)
(config)#debug dhcpd // event/packet
两个参数,事件信息/数据包信息,no debug dhcpd 关闭—调试DHCP
(config)#dhcpd domain domain_name //
可选的,分配客户端使用的域名
(config)#clear dhcpd //Bindings
,statistics 绑定mac,ip,租期 ,统计信息
(config)#dhcpd auto_config client_ifx_name //
自动将dhcp获得的dns,wins等参数传递给dhcp服务器。
PIX535(config)# dhcpd address 10.10.10.26-10.10.10.254 inside
PIX535(config)# dhcpd dns 203.196.0.6 202.106.0.20
PIX535(config)# dhcpd lease 3600
PIX535(config)# dhcpd ping_timeout 750
PIX535(config)# dhcpd enable inside
PIX
配置DHCP Client (未经过验证,具体有环境了才能实验)
pix(config)#ip address if_name dhcp //
接口名称,获得dhcp,后面还有参数,可省略
PIX
配置DHCP Relay、pix(config)#dhcprelay server 10.1.1.1 outside
pix(config)#dhcprelay timeout 80
pix(config)#dhcprelay enable inside
pix(config)#show dhcprelay
转载于:https://blog.51cto.com/shenzhi/229760