はじまり
業務で使っているWindows10のマシンでは、いつもICSを使って検証機上にあるマシンに接続しているのですが...困ったことに突然使えなくなって焦ったのでその原因と対応についてここに書き留めます。
そもそもICSって
-
Internet Connection Sharing
の略です。
日本語でいうとインターネット共有。
Windows機と接続された他の機器に、Windows機のネットワークを共有して外との通信を可能にしますよという機能のことです。
何が起こったの
Windowsがアップデートした途端にICSできなくなった...何でだ...MS...
- 構成
WiFiで接続しているWindows機の有線LANポートに別マシンを接続してインターネットを共有するようにしてます。
WiFi接続 有線接続
[ Internet ] <------------> [ WindowsMachine ] <------------> [ Target ]
おそとに行くよ 今使ってるマシンだよ くっついてるやつ
- 普段
このような感じでIPが振られます。
[ Internet ] <------------> [ WindowsMachine ] <------------> [ Target ]
[WiFi]172.16.xxx.xxx | [eth]192.168.137.1
[WiFiがDHCPを振る] | [ICSのDHCPがIP振る]
- 起こったこと
どうやら、Windows機がDHCPでIPを割り振ってくれなくなってしまった...共有は有効になっているのに接続はできなくなってしまった。心当たりがあったのは、少し前に降ってきたWindowsUpdateしかない...
(ちなみに、自分の会社はシステム管理部門がGoサインを出さないとアップデートされないので少し古いアップデートをされたっぽい。)
[ Internet ] <------------> [ WindowsMachine ] <------------> [ Target ]
[WiFi]172.16.xxx.xxx | [eth]None...
[WiFiがDHCPでIP振る] | [ICSのDHCPがIP振ってくれない]
原因
Windows 10 Pro Version 1803にアップデートすると、ICSがストップしてしまう現象が起こる。
これについては、起こったことそのままにICSで動作しているDHCPが問題を起こしているっぽい...
※翌日再度確認してHyper-Vの仮想NICでWinNAT使ってるからそれの可能性もあるとわかりました。Hyper-Vを無効にできる人は仮想スイッチを全部落としてリトライしてください。Hyper-Vを使っていてそれができないなどの理由があれば、以下を試してみてください。
対応
MicrosoftのWindowsSupportで解決方法があったのでやってみたら、うまくいった。
この操作はレジストリを操作します。最悪Windowsが起動しなくなる恐れがあります。
この操作による損害については、責任を負いかねます。
To fix this issue, set the following registry subkey:
Path: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
Type: DWORD
Setting: EnableRebootPersistConnection
Value: 1
参照:Windows support ICS doesn't work...
-
レジストリエディタを立ち上げる
[Windowsキー]と[Rキー]を押して[ファイル名を指定して実行]ウィンドウを立ち上げ
名前:[regedit
] を入力して[OK]を押します。
(暗点して権限画面が出ますので許可してください) -
引用通りにパスを辿ります
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess -
EnableRebootPersistConnection
というパラメータはおそらくありませんので作成します。 -
マウス右クリック>新規(N)>DWORD(32ビット)値(D)の順に選択。
-
新しい値#1
と表示されたらEnableRebootPersistConnection
に書き換えて確定。 -
値のデータを16進表記を選択した状態で
1
とする。 -
[OK]を押して抜ける
-
後は再起動していつも通りにICSさせると...やっとIP振ってくれた...