Chipmunk & Panda

-- 鼠熊部落格

All work and no play makes Jack a dull boy.

Windows 下端口不可用的可能情况解决

参考:(Windows)以一种访问权限不允许的方式做了一个访问套接字的尝试处理Windows 10 WINNAT and why your programs can’t listen on certain ports.

问题描述

源于使用 Docker 搭建了本地的 Jellyfin 服务,但是发现有时候无法访问(启动不成功,端口被“占用”)。

现象类似参考博客,实际使用 netstat -ano | findstr 8096 查看端口占用情况,发现端口并没有被占用。

问题解决

治标

使用 netsh interface ipv4 show excludedportrange protocol=tcp 可以查看被 ban 的端口范围,尚不清楚这个范围由什么规定,而且也不是每次都会被 ban。如果端口在这个范围内,则无法使用。

重启 winnat 服务(需要管理员权限)。

1
2
net stop winnat
net start winnat

重启后被 ban 清单就干净了,重启 Docker 中容器即可正常使用。

治本

待续,个人直接给容器换了个端口映射。