【win】windows开启特定端口防火墙

使用vmware的NAT模式的时候,如果想让局域网内的其他主机能访问你的虚拟机端口,需要做两个操作

  • 在vmware的虚拟网络编辑器中,开启宿主机端口到虚拟机端口的端口映射,这部分在安装虚拟机的教程里面有,本文不赘述;
  • 在windows的防火墙里面,设置端口的出站和入站规则。注意,不建议直接关闭防火墙;

如何确定是防火墙的问题?如果你在另外一台主机上,能ping通当前主机,但是没有办法访问你映射到宿主机的端口时,那就是被windows的防火墙拦住了。

ssh: connect to host 192.168.0.115 port 22: Connection timed out

顺带一提,你可以在windows下用ipconfig命令查看当前主机的IP地址,在Linux系统中是使用ifconfig命令查看IP地址。

进入windows11的设置搜索防火墙,打开防火墙与网络防护。

image.png

一些教程会让你直接在这个页面关掉防火墙,不建议哦,我们只需要开启要用的端口就行了,关掉防火墙那就是100%裸奔了。不过家庭局域网一般也没有那么容易被入侵,问题也不算很大。但还是不建议完全关闭防火墙。

直接点高级设置

image.png

在控制面板中有入站和出战规则,我们两个规则都需要添加一下,这里以入站规则为例(设置界面一模一样),点击入站规则,点击新建规则

image.png

选择按端口号新建规则,协议按你需要的选,比如我需要SSH,选择TCP,设置为22
端口。

image.png

image.png

选择允许连接

image.png

这里会有网络类型,全勾上,因为windows下的网络类型就是一个薛定谔,哪怕是家庭局域网他可能也会认为是公用网络。

image.png

然后写个名称,点击确定就可以了。这样就配置好了。然后你还需要用相同的方式配置出站规则

配置好了之后,在另外一台电脑上用这个windows主机的ip来ssh试试,能登录上就是OK了。

<think>好的,我需要帮助用户检测Windows系统中某个端口是否被防火墙阻止。首先,我应该回忆一下Windows防火墙相关的操作步骤。用户提到想检查端口是否被阻止,可能需要通过防火墙设置来查看入站和出站规则。 首先,用户可能需要进入Windows Defender 防火墙的高级设置,这里可以找到入站和出站规则。在高级安全界面中,可以通过筛选器来查找特定端口的规则。例如,在入站规则中,可以筛选“本地端口”等于目标端口号,查看是否有阻止类型的规则存在。如果有,说明该端口可能被防火墙阻止了[^2]。 另外,用户可能还需要使用命令行工具来检查端口的状态。比如使用`netstat -ano`命令来查看端口是否处于监听状态,如果端口没有被监听,可能没有被应用程序使用,或者被防火墙拦截了。结合任务管理器的PID查找进程,可以确认是否有程序在使用该端口[^3]。 还有一种方法是使用`Test-NetConnection`这个PowerShell命令。指定端口号后,这个命令可以测试连接是否成功,如果被防火墙阻止,可能会显示失败。例如,`Test-NetConnection -ComputerName 127.0.0.1 -Port 8888`会返回连接结果,如果显示“TcpTestSucceeded : False”,则可能被阻止[^3]。 用户可能还想知道如何暂时关闭防火墙进行测试,但这存在安全风险,需要提醒用户谨慎操作。在防火墙设置中暂时关闭防火墙,然后测试端口连通性,如果此时可以连接,说明防火墙确实阻止了该端口。测试完成后,记得重新启用防火墙[^2]。 需要确保步骤清晰,分点说明不同的方法,并引用相关的参考资料。同时,生成相关问题时要围绕防火墙端口检测展开,比如如何添加允许规则、解决端口冲突等。</think>### Windows系统检查端口是否被防火墙阻止的方法 1. **通过“Windows Defender 防火墙”查看端口规则** - 打开**控制面板** > **系统和安全** > **Windows Defender 防火墙**。 - 点击左侧**高级设置**,进入“高级安全Windows Defender 防火墙”界面。 - 在**入站规则**或**出站规则**中,使用右侧“操作”栏的**筛选器**功能,输入目标端口号(如`8888`),筛选相关规则。若存在规则且操作为“阻止”,则说明该端口防火墙拦截[^2]。 2. **使用命令行工具`netsh`检查防火墙配置** - 以管理员身份运行命令提示符(CMD)或PowerShell。 - 输入以下命令查看当前防火墙规则: ```bash netsh advfirewall firewall show rule name=all | findstr "端口号" ``` - 若输出中包含`阻止`或`Block`,则表明该端口被限制。 3. **通过`Test-NetConnection`测试端口连通性** - 在PowerShell中执行: ```powershell Test-NetConnection -ComputerName 127.0.0.1 -Port 端口号 ``` - 若结果中`TcpTestSucceeded`为`False`,且排除应用程序未监听的情况,则可能是防火墙阻止了连接[^3]。 4. **临时关闭防火墙进行验证(谨慎操作)** - 在防火墙设置中**关闭防火墙**,再次测试端口连通性。 - 若关闭后连接成功,则需在防火墙中创建**允许规则**重新开放端口[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕雪华年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值