Win7 FTP服务器设置防火墙,就是放行TCP 21控制端口和被动模式数据端口范围,并在Windows防火墙中允许FTP服务程序入站。 只要端口和程序规则对齐,局域网和外网访问都能稳定跑起来。
win7 ftp服务器怎么设置防火墙?先分清主动与被动模式
FTP和普通网站不一样,它用两个连接:一个控制连接,一个数据连接,防火墙如果只放行21端口,登录可能成功,但列目录、传文件会卡住,问题多半出在数据连接上。
主动模式与被动模式对防火墙的影响
- 主动模式:服务器从20端口主动连接客户端随机端口,客户端防火墙容易拦截,服务器端出站规则通常默认允许。
- 被动模式:客户端连接服务器指定的数据端口范围,服务器防火墙必须放行这些入站端口,否则数据连接建不起来。
据微软官方文档,Windows防火墙默认阻止未经允许的入站连接,所以被动模式下,只开21远远不够。
| 模式 | 连接发起方 | 服务器需开放端口 | 客户端防火墙影响 | Win7防火墙重点 |
|---|---|---|---|---|
| 主动 | 服务器连客户端 | 21,出站20 | 客户端可能拦截 | 出站规则默认允许 |
| 被动 | 客户端连服务器 | 21,入站数据端口范围 | 服务器需放行 | 入站规则放行端口范围 |
搭建FTP服务器前的准备工作
Win7默认没装FTP服务,先打开:控制面板 -> 程序和功能 -> 打开或关闭Windows功能 -> Internet信息服务 -> 勾选FTP服务器、FTP服务、IIS管理控制台。
装完后,管理工具 -> Internet信息服务(IIS)管理器 -> 网站 -> 添加FTP站点,端口默认21,绑定本机IP,如果只在内网用,填内网地址;如果要外网访问,绑0.0.0.0或具体公网映射IP。
win7 ftp服务器局域网访问设置:绑定IP与授权规则
在IIS里添加FTP站点时,绑定内网IP和端口21,身份验证选基本,授权规则允许指定用户读取或读写,NTFS权限也要给对应文件夹,防火墙放行后,局域网客户端用 ftp://192.168.1.100 访问,局域网都不通,先查FTP Publishing Service是否启动,再查防火墙规则是否启用。
win7 ftp服务器防火墙设置方法:控制面板与高级安全两种路径
Win7防火墙有图形界面和高级安全两种入口,日常放行用控制面板够用,精细控制用高级安全。
通过控制面板允许FTP程序穿越防火墙
- 打开控制面板 -> 系统和安全 -> Windows防火墙。
- 点“允许程序或功能通过Windows防火墙” -> 更改设置。
- 列表里找FTP服务器和FTP服务器安全,勾选“专用”和“公用”。
- 如果找不到,点“允许其他应用”,浏览到
C:WindowsSystem32inetsrvinetinfo.exe,添加进去。
inetinfo.exe是IIS核心进程,允许它入站后,FTP服务程序就能通过防火墙。
在高级安全Windows防火墙中创建入站规则
按Win+R,输入 wf.msc,回车,点“入站规则” -> “新建规则”。
- 选“端口” -> “TCP” -> “特定本地端口”,输入21。
- 下一步选“允许连接”。
- 配置文件勾选域、专用、公用。
- 命名“Win7 FTP控制端口”。
再建一条端口规则,输入被动端口范围,比如50000-50100,命名“Win7 FTP被动端口”。
也可以用命令,以管理员身份运行cmd:
netsh advfirewall firewall add rule name="FTP控制端口" dir=in action=allow protocol=TCP localport=21
netsh advfirewall firewall add rule name="FTP被动端口" dir=in action=allow protocol=TCP localport=50000-50100
netsh命令在Win7可用,localport范围写法有效,执行后可以在 wf.msc 里看到规则。
win7 ftp服务器被动模式端口设置与防火墙同步
被动模式需要告诉服务器用哪些端口,打开IIS管理器 -> 展开网站 -> 点击FTP站点 -> 右侧“FTP防火墙支持”。
- 数据通道端口范围填50000-50100。
- 外部IP地址:内网访问留空;公网访问且路由器做了端口映射,填公网IP。
- 点应用。
业内专家指出,FTP被动模式在NAT和防火墙环境下更容易成功,因为数据连接由客户端发起,服务器只需放行固定端口范围,防火墙里的端口范围必须和这里一致,否则客户端能登录,但列目录、传文件会卡住。
win7 ftp服务器无法访问怎么解决?局域网与公网场景排查
FTP不通,先分清是局域网还是公网,两种情况排查方向不同。
局域网内Win7 FTP服务器访问失败排查
- 检查防火墙规则是否启用:
wf.msc-> 入站规则,找到刚建的规则,确认“已启用”。 - 检查网络位置:Win7把网络分为家庭/工作(专用)和公用,公用配置更严格,如果网络位置是公用,而规则只勾了专用,就会挡。
- 检查FTP服务是否运行:
services.msc-> FTP Publishing Service,确保启动。 - 检查端口监听:cmd输入
netstat -ano | findstr :21,看到LISTENING。 - 检查FTP站点绑定:IIS管理器 -> FTP站点 -> 绑定,看IP和端口。
据统计,多数FTP连接问题与防火墙或NAT配置有关,局域网内先排除防火墙,再查服务。
公网访问Win7 FTP服务器的端口映射与防火墙
公网访问要过三关:Windows防火墙、路由器端口映射、宽带运营商是否封端口。
- 路由器里把21端口和被动端口范围映射到Win7内网IP,比如内网IP 192.168.1.100,映射TCP 21和50000-50100。
- 在FTP防火墙支持里填公网IP,如果公网IP是动态的,可以用动态域名。
- 运营商可能封21端口,可以换成2121等非标准端口,换端口后,Windows防火墙规则、IIS绑定、路由器映射都要同步改。
行业共识认为,FTP主动模式在公网NAT后经常失败,所以优先用被动模式,安全方面,不要用简单密码,限制访问IP,能启用FTP over TLS就启用。
常见错误与验证命令
- 登录失败,提示“连接被拒绝”:用
telnet 127.0.0.1 21测试,不通就是防火墙或服务问题,Win7默认没装telnet客户端,可以在“打开或关闭Windows功能”里勾选。 - 能登录但列目录失败:多半是被动端口没放行,用FTP客户端切到主动模式测试,主动能列目录、被动不行,就是端口范围问题。
- 查看防火墙日志:控制面板 -> Windows防火墙 -> 高级设置 -> 属性 -> 公用配置文件 -> 日志 -> 自定义,默认路径
C:WindowsSystem32LogFilesFirewallpfirewall.log,能看到被丢弃的包。
win7 ftp服务器防火墙设置常见问题解答
win7 ftp服务器怎么设置防火墙才能让外网访问?
放行TCP 21和被动端口范围,路由器映射这些端口,IIS里FTP防火墙支持填公网IP,网络位置如果是公用,规则要勾选公用,如果运营商封21,换端口并同步修改防火墙、IIS和路由器。
win7 ftp服务器防火墙关闭后能访问,开启就不能,怎么办?
说明Windows防火墙规则没匹配上,先检查入站规则是否启用,配置文件是否包含当前网络类型,然后检查程序规则是否指向inetinfo.exe,最后检查被动端口范围是否和IIS设置一致,把这三处对齐,通常就能通。
win7 ftp服务器被动模式需要开放多少端口?可以只开21吗?
只开21,在主动模式下可能可用,但客户端防火墙容易拦截服务器的主动连接,被动模式必须开放数据通道端口范围,比如50000-50100,端口数量根据并发用户数决定,范围太小可能导致连接排队或失败,IIS的FTP防火墙支持里设置的范围必须和Windows防火墙入站规则完全一致。
Win7 FTP服务器防火墙设置并不复杂,核心是放行21和被动端口范围,并让IIS、Windows防火墙、路由器三处配置保持一致,按这个思路排查,局域网和公网访问问题大多能定位。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/758097.html





