本文章用于记录自己所遇到问题,如有不正确的地方,欢迎指正
回归正题,WINDOWS系统由于安全考虑,当开启防火墙时,默认不允许外主机对其进行ping功能,即别的电脑ping不通本机。别的主机ping不通本机是因为本机的防火墙关闭了ICMP回显功能,只要把回显功能打开就行了。
具体做法分两种形式,分别为命令行模式和防火墙高级面板方式
方法1:命令行模式
以管理员身份运行CMD,输入以下命令
--开启ICMP回显:
netsh firewall set icmpsetting 8
注:
--开启ICMP回显:
netsh firewall set icmpsetting 8
--关闭ICMP回显:
netsh firewall set icmpsetting 8 disable
当运行以上命令时提示 "netsh firewall" 已弃用 (如下图)
其实,此消息表示 Tableau Server 正在使用较旧的命令与防火墙进行通信。这个消息本身只意味着通知开发人员较旧的
netsh firewall
命令已替换为较新的
netsh advfirewall firewall
命令。 但是,
netsh firewall
仍然是一个有效的命令。该消息可以放心地忽略,因为它指示命令成功完成,并不指示错误。当然,下面也列出了netsh advfirewall firewall命令的使用方法。
--开启ICMP回显
--IPV4
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
--IPV6
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=allow
同样道理,如果想禁止Ping,那运行如下命令即可实现:
--关闭ICMP回显
--IPV4
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=block
--IPV6
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=block
注意,当你使用
netsh advfirewall firewall
命令开启ICMP回显,并在开启后又使用
netsh advfirewall firewall
命令关闭了ICMP回显,可能会存在一个问题,
netsh advfirewall firewall
命令本质上是在windows防火墙中自定义了一条新的规则,而windows防火墙中的规则是存在优先级的,显式 **阻止规则 **将 **优先于 **任何冲突的 允许规则,也就是说当你定义了关闭ICMP回显的规则之后,即便你再次使用
netsh advfirewall firewall
命令添加了开启ICMP回显的规则,还是会出现ping不通的情况,原因就是关闭ICMP回显规则的优先级要高于开启ICMP回显规则的优先级,解决方法就是可以手动更改 禁用规则 或者删除 禁用规则,下面介绍一下更改 禁用规则 的命令
--将'关闭ICMP回显'规则更改为'开启ICMP回显'
--IPV4
netsh advfirewall firewall set rule name="ICMP Allow incoming V4 echo request" new action=allow
--IPV6
netsh advfirewall firewall set rule name="ICMP Allow incoming V6 echo request" new action=allow
如果想要再次禁用ping可以使用下面的命令
--将'开启ICMP回显'规则更改为'关闭ICMP回显'
--IPV4
netsh advfirewall firewall set rule name="ICMP Allow incoming V4 echo request" new action=block
--IPV6
netsh advfirewall firewall set rule name="ICMP Allow incoming V6 echo request" new action=block
方法2:防火墙高级面板方式
进入控制面板,选择Windows Defender防火墙
选择高级设置
点击入站规则 > 找到 网络 - 回显请求(ICMPv4-ln) > 选择启用规则(如果已经启用,则显示的是禁用规则)
如果用到IPV6。后面也有“文件和打印机共享(回显请求-ICMPv6-in)”同样启用规则就好。
还有一点要注意的是,在启用或禁用规则时,需要注意规则对应的网络类型,如果不确定自己的网络类型,可以将所有的ICMP回显请求规则全部启用或禁用即可
补充:
当使用了方式一后再次使用方式二,请先将通过方式一创建的规则删除哦
当然,如果你多次使用
netsh advfirewall firewall
命令启用或禁用ICMP回显,可能不止存在两条规则,需要将自己通过
netsh advfirewall firewall
创建的所有规则删除
以上就是开启和禁用ping的方法啦
版权归原作者 又闻银铃声 所有, 如有侵权,请联系我们删除。