背景与目的
Ping测试常被用于测试网络中两台主机之间是否互相连通,但是,大多数Windows操作系统(包括桌面版和服务器版)默认都是只允许ping其他主机而不允许其他主机ping自己。下面演示如何在Windows系统上开启基于ICMPv4协议的Ping.
操作环境
服务器1(进行防火墙配置的主机,使用图形化界面进行配置):操作系统:Windows 7专业版 64位 Service Pack 1, IP: 192.168.10.129
服务器2(进行防火墙配置的主机,使用命令行界面进行配置):操作系统:Windows Server 2008 R2 64位 Service Pack 1, IP: 192.168.10.133
客户机(发送Ping请求的主机):操作系统:Windows 10 家庭版 64位,IP: 10.195.222.16
不同操作系统的实际操作可能会略有不同,请以实际操作环境为准。
解决方案
图形化界面方式配置方案
搜索“防火墙”,打开“高级安全 Windows 防火墙”:
![图 1 打开“高级安全 Windows 防火墙”](https://documents.zhaokaifeng.com/uploads/2018/10/15/1f6667a42d9a84f5c1644c9039e0374503e2ba1a6d1947bc2684203c3e128c87.webp)
选中“入站规则”,找到使用”ICMPv4″的入站规则:
![图 2 找到ICMPv4入站规则](https://documents.zhaokaifeng.com/uploads/2018/10/15/2dfe511a4cfd9208c9ac36346b9d545204f5e00a9d7021b512c54f598f2657f5.webp)
选中右键,点击“属性”:
![图 3 打开入站规则的属性设置](https://documents.zhaokaifeng.com/uploads/2018/10/15/c6897bbf03177d42988c6cdcf755ec3b5308bddbf45d0b598bd9bd822f9c5afd.webp)
默认操作是“允许连接”,因此这里勾选“已启用”后点击“应用”:
![图 4 启用允许连接的ICMPv4入站规则](https://documents.zhaokaifeng.com/uploads/2018/10/15/10adb635be2d024a5ef741c10f88c7d1ed3e9ac51acf77b36df5eb904e02e283.webp)
关于ICMPv4的入站规则有两条,分别对应防火墙的“域”和“专用,公用”(关于防火墙的“域”和“专用,公用”见附 1),根据需要启用即可。我在操作过程中将这两条入站规则都启用了,启用完成后在客户机上ping服务器显示可以ping通:
![图 5 ping测试成功](https://documents.zhaokaifeng.com/uploads/2018/10/15/a05114ad56e1b2ef65b4c024fe8e75f8b1d73736b3126fafad1ff4d1f4bcf693.webp)
命令行界面配置方案
由于在Windows 7系统下setsh firewall 这个命令已经被弃用,因此,这里我使用Windows Server 2008进行操作。
允许被Ping, 命令:
netsh firewall set icmpsetting 8
禁止被Ping, 命令:
netsh firewall set icmpsetting 8 disable
附1:关于防火墙的“域”和“专用,公用”
- 域:一台或多台主机组成的局域网。
- 专用:只有本机可以使用。
- 公用:局域网内或者局域网外的其他主机也可以使用。