由于工作中我是使用Windows共享网络来给笔记本上网, 但是我发现每次 重启过机器后, 共享网络就会断掉, 需要取消共享后再重新共享网络,.每天早上 做一下这个操作实在太繁琐了, 今天终于找到了解决方案, 也与大家分享一下, 希望帮助后来人.

Windowss下共享网络的配置请查看另一篇文章: 我的办公环境设置

遇到的问题

我先来描述一下自己遇到的问题, 以下现象出现在每次重启Win10机器后:

我的笔记本中的现象:

  1. 无法正常的上网, baidu.com都打不开.
  2. ping 192.168.137.1正常.
  3. 使用wireshark抓取相关网卡的数据包, 所有的DNS请求没有得到应答, 所有ICMP 请求均返回.
  4. 使用telnet 192.168.137.1 3389正常, 3389为远程桌面的端口, 远程桌面也可以 正常使用

在Win10机器中的现象:

  1. 所有网络访问均正常
  2. USBTP这个网络接口一直显示未识别的网络, 但是IP配置正常(192.168.137.1)
  3. 使用wireshark抓取USBTP网卡的流量, 所有DNS请求与不应答, 所有ICMP 请求进行了应答.

总结一下上述现象: 只有ICMP包, 以及直接访问Win10 TCP请求得到应答了, 其他的所有请求 应该是丢失了. 或者说Win10机器不去处理这些请求(我猜想可能是路由表设置有问题).

基础解决方案

以上出现的问题, 在我取消共享网络, 再重新共享网络后, 得到了解决. 但是, 我的Win10电脑每天就要重启一遍, 我需要在每次重启结束之后连上Win10电脑做这样的操作, 实在令人觉得烦恼.

根本解决办法

我搜索了如下关键词windows 10 ics not working after reboot, 然后置顶的 就是这位老哥的ICS stops working after a reboot. 发布日期为2018-12-29, 看样子还很新.

ICS: Internet Connection Sharing, 这个词我找了service.tsc中的许多服务才发现.

其中介绍了两种方式解决问题:

  1. powershell脚本, 重启共享网络, 就是将我之前的操作脚本化
  2. 修改注册表:
    1
    2
    3
    4
    5
    > Path: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
    > Type: DWORD
    > Setting: EnableRebootPersistConnection
    > Value: 1
    >

拖他的福, 我也看到了微软官方的博客ICS doesn’t work after computer or service restart on Windows 10

修改完成后, 图片如下

重启电脑, 你会发现一切都那么美好.