我正绞尽脑汁想弄明白这一点。我的启动配置很好,我可以用 show 命令查看它。我正在尝试将其复制到 tftp 服务器:
asa5505# copy startup-config tftp
Address or name of remote host []? ipaddress
Destination filename [startup-config]? t
!!
%Error writing tftp://ipaddress/t (Timed out attempting to connect)
在我的 TFTP 服务器(SolarWinds)上,我得到以下信息:
binary, PUT. Started file name: C:\TFTP-Root\t
binary, PUT. File Exists, C:\TFTP-Root\t
binary, PUT. Deleting Existing File.
binary, PUT. Interrupted by client, cause: The process cannot access the file 'C:\TFTP-Root\t' because it is being used by another process
我使用过 tftpd32,结果相同。我尝试过不同的服务器,甚至与 asa 位于同一网络上的服务器……结果相同。它会创建一个 0 字节文件,并且从不进行转储。发生了什么?除了这个之外,一切都正常。
答案1
零字节表示 cisco 向 tftp 端口 (69) 发送了 WRQ 命令。文件在此步骤创建。问题发生在此点之后。
服务器从不同的端口向 cisco 客户端 tftp 端口发出确认。然后,Cisco 将数据发送到这个不同的端口。
问题可能是 ack 未到达或被 cisco 拒绝,或者服务器拒绝来自 cisco 的第一个数据包。第一个问题通常是防火墙/acl 问题,而第二个问题也可能是 MTU 不匹配。如果您将巨型帧设置为开启,cisco 将使用它来处理其传出流量,包括 tftp。
答案2
看起来答案就在问题中:
binary, PUT. Interrupted by client, cause: The process cannot access the file 'C:\TFTP-Root\t' because it is being used by another process
这是 TFTP 服务器的问题。请在那里修复它。
答案3
没有使用过 Windows TFTP 服务器,但使用过 Debian 上的 tftpd-hpa 和 Mac OS X 上的内置 TFTP 服务器,我发现我必须先创建文件,使其可全世界写入,然后从 IOS 推送 tftp 文件。
然后它就起作用了。
答案4
你删除了吗
C:\TFTP-根目录\t
在 TFTP 复制之前?
看起来该文件已经存在并且被其他进程锁定,因此 TFTP 无法重写它。