conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接,staticconduit命令将一起使用,来指定会话的建立。

conduit命令配置语法:
conduit deny|permit <protocol> <g_ip> <g_mask> [<operator> <port> [<port>] 
<f_ip> <f_mask>
 
其中,
1)      permit | deny 允许 | 拒绝访问
2)      protocol 指的是连接协议,比如:TCPUDPICMP等。
3)      g_ip:global_ip 指的是先前由globalstatic命令定义的全局ip地址,如果global_ip0,就用any代替0;如果global_ip是一台主机,就用host命令参数+具体IP地址。
4)      port :指的是服务所作用的端口,例如www使用80smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。
5)      f_ip :foreign_ip 表示可访问global_ip的外部ip。对于任意主机,可以用any表示。如果foreign_ip是一台主机,就用host命令参数。
 
下面以一个配置实例来具体说明conduit的用法。
 
 
 
配置要求:
1、  内网能够Ping通外网。
2、  外网能访问内网192.168.10.180端口。
 
主要配置:
1、  NAT转换
global (outside) 1 interface
nat (inside) 1 192.168.10.0 255.255.255.0
static (inside,outside) tcp 192.168.20.1 www 192.168.10.1 www netmask 255.255.255.255 0 0
 
2、  Conduit配置
conduit permit icmp any any
conduit permit tcp host 192.168.20.1 eq 80 any
 
个人认为Conduit命令简单好用,可以满足一些基本的访问控制要求。不过,在IOS 6.3以后,Cisco通过ACL取代了Conduit的功能。相对而言,ACL的应用范围更广,可以用于比较复杂的访问控制。上述配置利用ACL的实现方式如下:
 
1、  NAT转换
<相同>
 
2、  ACL配置
access-list acl_out permit icmp any any
access-list acl_out permit tcp any host 192.168.20.1 eq www
access-group acl_out in interface outside  //ACL应用在outside端口上
 
 
备注:当端口应用了ACL以后,Conduit配置内容失效。换句话说,ACLConduit配置内容有冲突,端口将按照ACL的规则进行数据包过滤。
 
声明:以上看法纯属个人认识,有不对之处,还望指正。谢谢!