Windows Server下仅在VPN连接激活时允许公网IP被Ping的配置方法咨询
Windows Server下仅在VPN连接激活时允许公网IP被Ping的配置方法咨询
嗨,我来帮你搞定这个问题!要实现只有当VPN连接激活时,你的服务器公网IP才响应Ping请求,核心思路是先默认阻止所有ICMP回显请求,再创建仅针对VPN连接场景的允许规则,具体操作如下:
一、禁用默认的Ping允许规则
首先要关掉系统默认允许Ping的规则,确保平时公网IP不会响应Ping:
- 打开「Windows Defender 防火墙高级设置」(可以通过控制面板搜索或者运行
wf.msc打开) - 在左侧导航栏选择「入站规则」,在右侧找到以下两条规则(如果启用的话):
- 文件和打印机共享(回显请求 - ICMPv4-In)
- 文件和打印机共享(回显请求 - ICMPv6-In)(如果使用IPv6的话)
- 右键点击这些规则,选择「禁用规则」
二、创建仅VPN连接激活时允许Ping的入站规则
接下来创建一个自定义规则,只在有活跃VPN连接时允许Ping请求:
- 在「入站规则」界面点击右侧的「新建规则」,选择「自定义」,点击「下一步」
- 规则类型选择「所有程序」,点击「下一步」
- 协议和端口设置:
- 协议类型选择「ICMPv4」(如果需要支持IPv6就选ICMPv6)
- 点击「自定义」按钮,在弹出的窗口选择「特定ICMP类型」,勾选「回显请求」,点击「确定」后继续「下一步」
- 作用域设置:
- 本地IP地址:选择「特定IP地址」,点击「添加」输入你的服务器公网IP,点击「确定」
- 远程IP地址:可以选择「任何IP地址」(允许任何设备在VPN激活时Ping),或者如果你只想允许VPN客户端(即你的地址池40.30.0.1-40.30.0.6)Ping,就选择「特定IP地址」并添加这个地址段,完成后点击「下一步」
- 操作设置:选择「允许连接」,点击「下一步」
- 配置文件设置:取消勾选「域」和「专用」,只勾选「公网」(因为你的公网IP属于公网配置文件场景),点击「下一步」
- 高级条件设置:这是关键一步!点击「自定义」按钮,在「连接类型」选项卡中,勾选「远程访问(VPN)」,这样规则只会在有活跃VPN连接时生效
- 给规则起个直观的名字,比如「仅VPN激活时允许公网IP Ping」,点击「完成」
三、验证效果
- 断开所有VPN连接,从外部Ping你的公网IP,应该无法收到响应
- 建立VPN连接后,再次Ping公网IP,应该能正常收到回复
另外,如果你使用RRAS自带的防火墙而非Windows Defender防火墙,也可以在RRAS的「IPv4」节点下找到「NAT」,右键点击公网接口选择「属性」,在「服务和端口」选项卡禁用ICMP相关服务,再在VPN连接的接口上启用ICMP回显请求。不过更推荐用Windows Defender防火墙的规则,因为配置更灵活、可控性更强。
备注:内容来源于stack exchange,提问作者Harsh




