1.测试拓扑:

R2(20.1.1.2/24)--------------(20.1.1.1/24)R1 (10.1.1.1/25)-------(10.1.1.18)FTPServer
情况一:                              outside             inside
情况二:                               inside               outside
参考:http://wenku.baidu.com/view/0b0c0f0490c69ec3d5bb75b6.html
2.测试目的:
A.理解FTP的主动模式,被动模式
B.理解CBAC技术对FTP应用的处理
C.理解CBAC的基本配置方法
----CBAC在老的版本IOS才有,已经被ZBF所取代,本次测试2691平台上进行,没有配置NAT。
----CBAC相对ZBF来说配置起来要简单些,只需要在接口上配置,而不是像ZBF那样在不同zone之间配置
3.基本配置:
R1:
interface FastEthernet0/0
 ip address 20.1.1.1 255.255.255.0
 no shutdown
!
interface FastEthernet0/1
 ip address 10.1.1.1 255.255.255.0
 no shutdown

R2:
interface FastEthernet0/0
 ip address 20.1.1.2 255.255.255.0
 no shutdown
ip route 0.0.0.0 0.0.0.0 20.1.1.1
ip ftp username xll
ip ftp password 1234qwer

FTP Server:
IP:10.1.1.18/24
GW:10.1.1.1
4.FTP服务器在内网:
A.在R1的外口配置访问策略,只允许访问FTP服务器的tcp 21连接进入
access-list 101 permit tcp any host 10.1.1.18 eq ftp
interface FastEthernet0/0
 ip access-group 101 in
B.FTP访问测试:
①这时FTP访问主动模式和被动模式都不行,因为ACL只放行了TCP 21端口,其他数据通讯端口没放行
②在路由器内网口开启TCP审查,目的是让内网主动发起的访问,能正常返回,不是接口ACL控制
ip inspect name tcpinspect tcp
int f0/1
ip inspect tcpinspect in
③这时FTP主动模式是正常的:因为FTP客户端只主动访问FTP Server的tcp 21端口,数据通道是FTP Server主动发起的,不受ACL控制。
但是,FTP被动模式因为FTP客户端还需主动访问FTP服务器的数据通道端口,而ACL没有放行,所以失败。
④这时在R1外口对进入的流量进行FTP审查
ip inspect name ftpinspect ftp
interface f0/0
 ip inspect ftpinspect in
---开启ftp审查后,被动FTP也能正常工作
⑤如果这时FTP的端口修改为2121,这时因为默认FTP审查的是21端口,被动模式的FTP还是不能正常工作
此时需要在R1上面通过如下命令告诉路由器TCP 2121端口也是FTP的控制端口
ip port-map ftp port tcp 2121
通过如下命令可以看到自定义的FTP端口
R1#show ip port-map | in 21
Default mapping:  gtpv1                tcp port 2123                       system defined
Default mapping:  gtpv1                udp port 2123                       system defined
Default mapping:  sql-net              tcp port 1521,150                   system defined
Default mapping:  ipx                  udp port 213                        system defined
Default mapping:  ftp                  tcp port 21                         system defined
Default mapping:  ftp                  tcp port 2121                       user define
5.FTP服务器在外网网:
A.在R1的外口配置访问策略,禁止任何IP数据包进行
access-list 102 deny ip any any
int f0/1
ip access-group 102 in
B.在R1的内网口开启TCP审查
ip inspect name insideinspect tcp
int f0/0
 ip inspect insideinspect in
C.此时被动FTP所有的访问都是有内网发起,因为有TCP审查,能正常进行,
 但是主动FTP不能正常工作,需要内网流量的FTP应用审查
ip inspect name insideinspect ftp
D.如果FTP服务不是通常的21端口,同样需要修改ip port-map.