Username: Password:

lias在Cisco PIX防火墙中的用法
来源:作者: 发布时间:2007-11-21 13:26:00

 

问题:  配置防火墙vpn和服务器,DMZ区服务器发布的问题,从互连网访问inside或dmz的服务器都很正常,从inside能够上互连网,但就是不能通过互连网域名访问inside和dmz的服务器。

介绍

本文档阐述lias在Cisco PIX防火墙中的用法.

Alias的两个功能:

利用DNS Doctoring修正外部DNS服务器回复

o 利用DNS Doctoring,PIX 将"改变" 外部DNS响应的地址到另一个IP,这个地址不同于DNS服务器上真实提供的域名-IP记录。

o 此功能实现从内部客户端通过内部IP地址连接到内部服务器上。

转换目标IP地址的dnat(Destination NAT)到另一个IP。

o 用dnat改变应用程式的标地址.

o 此功能实现从内部客户端调用外部地址访问周边网络(例如DMZ区),不修改DNS回复。

例如,一台机器发送数据到99.99.99.99,可使用alias命令把数据重定向到另一个地址10.10.10.10.可使用此命令避免您网络里的IP和互连网或另一个企业内部网的IP冲突。请参考pix官方文档:http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/index.htm

硬件和软件版本

? 此文适用于Cisco Secure PIX Firewall Software Releases 5.0.x或更高版本

用DNS Doctoring转换内部地址

例1:web服务器地址10.10.10.10,对应的外部IP为99.99.99.99.

注意: DNS在防火墙外.在dos提示窗输入nslookup验证一下DNS服务器是怎样解析您的web服务器的外部IP.客户端PC应该返回的是内部地址10.10.10.10,因为DNS请求经过PIX已被他改变了。另外,要让DNS fixup正常工作, 需禁止proxy-arp功能。 假如您为DNS fixup使用alias命令,用列命令禁止proxy-arp

sysopt noproxyarp internal_interface

(注:但是我的PIX525没用此命令仍然配置成功。)

网络图如下:

user posted image

假如您想用10.10.10.25这台机器通过www.mydomain.com访问您的web服务器,我们只需要实现以下alias命令:

alias (inside) 10.10.10.10 99.99.99.99 255.255.255.255

!--- 配置inside端口的DNS Doctoring.,一旦监测到发往inside端口的DNS

!---回复里IP内容为99.99.99.99,则用10.10.10.10替换掉,再发到客户端PC

接下来,必须为web服务器做静态地址转换,为任何人提供web服务器的80端口访问权(http):

static(inside,outside) 99.99.99.99 10.10.10.10 netmask 255.255.255.255

!--- 此命令建立web服务器真实地址10.10.10.10和外部地址99.99.99.99的转换

用access list命令赋予访问权

access-list 101 permit tcp any host 99.99.99.99 eq www

access-group 101 in interface outside

!--- 允许来自outside的任何用户访问web服务器的80端口

假如您喜欢用老版本的语法,能够用conduit命令代替access-list和access-group

conduit permit tcp host 99.99.99.99 eq www any

!--- 允许来自outside的任何用户访问web服务器的80端口

用目标NAT(dnat)转换DMZ地址

假如web服务器在PIX的DMZ区,必须用alias作Destination NAT (dnat).

例2,web服务器在DMZ的地址为192.168.100.10, 外部地址99.99.99.99.我们要用dnat转换99.99.99.99为web服务器的真实地址192.168.100.10;从inside客户端发出的DNS请求和回复不会改变. 从inside的PC上看来就象访问外部地址99.99.99.99相同,所以DNS回复并未被PIX修改.

网络图如下:

user posted image

我们想从10.10.10.0 /24网络通过外部域名www.mydomain.com访问DMZ里的web服务器,并不想让PIX修改我们的DNS回复。让PIX作dnat把外部IP地址转为DMZ里web服务器真实地址192.168.100.10。

注意:当然了,假如从inside访问dmz里的192.168.100.10都不能够,光作这个也是不能访问的,前提是inside用户能够外访,也能访问到DMZ内部地址:

global (outside) 1 interface

global (dmz) 1 interface

nat (inside) 1 0 0

您不想利用interface占的地址,也能够另指定您相应端口网络里的地址

global (outside) 1 99.99.99.3

global (dmz) 1 192.168.100.2

nat (inside) 1 0 0

现在,用alias命令作dnat:

alias(inside) 99.99.99.99 192.168.100.10 255.255.255.255

!--- 此句配置dnat.DNS回复不会被PIX修改,因为外部地址99.99.99.99不匹配第二个地址(192.168.100.10),由于发往客户端的DNS回复里有和目标地址99.99.99.99匹配,请求会”dnat-ed”.

注意: 此例中IP地址和上面DNS Doctoring的例子中顺序相反.

接下来做web服务器的静态转换,允许任何人访问其80端口(http):

static(dmz,outside) 99.99.99.99 192.168.100.10 netmask 255.255.255.255

!--- 建立dmz区服务器地址192.168.100.10和外部地址99.99.99.99间静态转换

赋予访问权,access list命令如下:

access-list 101 permit tcp any host 99.99.99.99 eq www

access-group 101 in interface outside

!--- 允许任何来自outside用户访问web服务器80端口.

同样,也能够使用老版本的conduit命令:

conduit permit tcp host 99.99.99.99 eq www any

!--- 允许任何来自outside用户访问web服务器80端口.

配置中的说明

? alias命令里的interface应该是发出请求的客户端所在那个端口.

? 假如DMZ里也有客户端PC,需专门为dmz配置的alias命令 (也就是DNS doctoring),

例如,您想让DMZ的其他客户端用外部域名访问DMZ的web服务器,其实做法已跟例1没什么区分,为DMZ增加一条alias,做一个DNS Doctoring修改他DNS回复就行了:

alias (dmz) 192.168.100.10 99.99.99.99 255.255.255.255

? 假如PIX有更多的端口,能够为不同的端口作多条alias命令。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅