如何配置Cisco PIX防火墙2
时间:2006-06-01 来源:szhlwl
6. 设置指向内网和外网的静态路由(route)
定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip
其中(if_name)表示接口名字,例如inside,outside。Gateway_ip表示网关路由器的ip地址。表示到gateway_ip的跳数。通常缺省是1。
例1. Pix525(config)#route outside 0 0 61.144.51.168 1
表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。
例2. Pix525(config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1
Pix525(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
这6个基本命令若理解了,就可以进入到pix防火墙的一些高级配置了。
A. 配置静态IP地址翻译(static)
如果从外网发起一个会话,会话的目的地址是一个内网的ip地址,static就把内部地址翻译成一个指定的全局地址,允许这个会话建立。static命令配置语法:static (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. Pix525(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之间的静态映射。
例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3
例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8
注释同例1。通过以上几个例子说明使用static命令可以让我们为一个特定的内部ip地址设置一个永久的全局ip地址。这样就能够为具有较低安全级别的指定接口创建一个入口,使它们可以进入到具有较高安全级别的指定接口。
B. 管道命令(conduit)
前面讲过使用static命令可以在一个本地ip地址和一个全局ip地址之间创建了一个静态映射,但从外部到内部接口的连接仍然会被pix防火墙的自适应安全算法(ASA)阻挡,conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接,static和conduit命令将一起使用,来指定会话的建立。
conduit命令配置语法:
conduit permit | deny global_ip port<-port> protocol foreign_ip
permit | deny 允许 | 拒绝访问
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表示。如果foreign_ip是一台主机,就用host命令参数。
例1. Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any
这个例子表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp 就是指允许或拒绝只对ftp的访问。
例2. Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89
表示不允许外部主机61.144.51.89对任何全局地址进行ftp访问。
例3. Pix525(config)#conduit permit icmp any any
表示允许icmp消息向内部和外部通过。
例4. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3
Pix525(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. Pix525(config)#fixup protocol ftp 21
启用ftp协议,并指定ftp的端口号为21
例2. Pix525(config)#fixup protocol http 80
Pix525(config)#fixup protocol http 1080
为http协议指定80和1080两个端口。
例3. Pix525(config)#no fixup protocol smtp 80
禁用smtp协议。
D. 设置telnet
telnet有一个版本的变化。在pix OS 5.0(pix操作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙,PIX支持SSH1和SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就作的不怎么样了。
telnet配置语法:telnet local_ip
local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。
下面给出一个配置实例供大家参考,配置实例说明如下,pix防火墙直接摆在了与internet接口处,此处网络环境有十几个公有ip,可能会有朋友问如果我的公有ip很有限怎么办?你可以添加router放在pix的前面,或者global使用单一ip地址,和外部接口的ip地址相同即可。另外有几个维护命令也很有用,show interface查看端口状态,show static查看静态地址映射,show ip查看接口ip地址,ping outside | inside ip_address确定连通性。