先说明下我的环境信息:
Windows10中利用hyper-v创建了一个虚拟机,虚拟机系统也是Windows10的。
虚拟机的虚拟交换机选择的是默认开关。
通过防火墙日志发现,虚拟机走的是公用网络,且有明显的记录表示,虚拟机的请求被DROP了。
程序是用Visual Studio启动的,使用了9000端口。
只要我关掉防火墙,下述描述的问题就不存在。
问题描述:
我需要本机开放9000这个端口,于是我在防火墙中添加了一条入站规则。
但是远程访问9000端口时,却无法连接。直接关闭防火墙是可以连接到9000端口的。
下图是我本机连接9000端口,和远程访问9000端口的图片。
我测试了几条内置的规则,图片里面展示的是启用ICMP,是能正常ping通的。
不知道还需要进行其他什么操作才能让那条9000端口的入站规则生效?
在打开防火墙日志后发现,请求被DROP掉了。
下面是加上字段后的日志。
date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path
2018-06-19 21:48:57 DROP TCP 172.31.204.237 172.31.204.225 53333 9000 48 S 2347351784 0 65535 - - - RECEIVE
如果只是为了解决问题的话,打开那条防火墙规则的属性,把属性->程序和服务->程序从“所有符合指定条件的程序”改成“此程序”,指定虚拟机/服务器,就可以解决问题。