我有一台 Windows 2003 Web 服务器,位于 Cisco Pix 515 防火墙后面。HTTP 访问正常,但我无法进行 FTP 访问。
我正在尝试的配置:
fixup protocol ftp 20
static (inside,outside) <external-IP> <internal-IP> netmask 255.255.255.255 0 0
conduit permit tcp host <external-IP> eq www any
conduit permit tcp host <external-IP> eq ftp-data any
conduit permit tcp host <external-IP> eq ftp any
我还尝试了“fixup protocol ftp 21”和“no fixup protocol 20”;由于它们不起作用,所以我将它们删除了。
连接成功,我输入用户名和密码没问题。当我尝试任何命令时,我得到:
C:\>ftp <server-name>
Connected to <server-name>.
220 Microsoft FTP Service
User (<server-name>:(none)): <username>
331 Password required for <username>.
Password:
230 User <username> logged in.
ftp> dir
500 Invalid PORT Command.
150 Opening ASCII mode data connection for /bin/ls.
它永远都呆在那里。我可以在 eventvwr 上看到,在达到我配置的超时时间后,服务器会断开连接。
如果我尝试从 Internet Explorer 中获取信息,我会得到一个消息框:
200 Type set to A
500 Invalid PORT command
500 'LPRT 6,16,0,0,0,0,0,0,0,0,9,4,0,0,0,0,34,113,2,6,71': command not understood
从我的 LAN 内部通过 FTP 访问该服务器工作正常。
有人能帮帮我吗?非常感谢!
答案1
消除:
fixup protocol ftp 20
并添加:
fixup protocol ftp
没有端口号。不需要端口号。除此之外,您可能需要发出 clear xlate 才能立即生效...但是,这会断开任何/所有活动连接(并可能导致其他问题)。
编辑后添加:
正如 Zephyr 在上面的评论中所问的那样,了解您正在运行的 PIX 软件的版本非常重要,因为 Cisco 用 inspect 替换了 fixup。