Служба Internet Connection Sharing (ICS) в операционной системе Windows 10 позволяет делиться интернет-соединением вашего компьютера с другими устройствами в локальной сети через Wi-Fi или Ethernet. Это удобно, если вы хотите создать точку доступа Wi-Fi с помощью мобильного интернета или предоставить доступ к сети через кабельное, спутниковое, PPPoE или VPN-подключение. Компьютер с двумя сетевыми адаптерами (один подключен к Интернету, другой к локальной сети) выступает в роли шлюза, обеспечивая маршрутизацию трафика.
Служба ICS выполняет следующие функции:
— Трансляция адресов (NAT) для преобразования IP-адресов между сетями.
— Работа в качестве DHCP-сервера для автоматического назначения IP-адресов устройствам в локальной сети.
Чтобы активировать общий доступ, перейдите в свойства сетевого адаптера, через который компьютер подключен к Интернету:
1. Откройте «Сетевые подключения».
2. Щелкните правой кнопкой мыши по адаптеру, выберите «Свойства».
3. На вкладке «Доступ» установите галочку «Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера».
Проблема: пропадает доступ к Интернету после перезагрузки
В последних сборках Windows 10 есть известная проблема: после перезагрузки компьютера, предоставляющего общий доступ к Интернету, устройства в локальной сети (LAN или Wi-Fi) теряют доступ к сети. Причина в том, что служба ICS автоматически отключается, если в течение 4 минут через общее подключение не проходит трафик. После этого она не перезапускается самостоятельно.
Для восстановления доступа приходится вручную снимать и заново устанавливать галочку «Разрешить другим пользователям…» в настройках адаптера. Это неудобно, особенно если компьютер перезагружается часто. К счастью, проблему можно устранить с помощью изменений в реестре и настройки автоматического запуска службы.
Решение 1: Настройка реестра для сохранения ICS после перезагрузки
Чтобы служба ICS автоматически активировалась после перезагрузки, необходимо создать параметр реестра EnableRebootPersistConnection. Выполните следующие шаги:
1. Откройте PowerShell от имени администратора.
2. Выполните команду для создания параметра:
New-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\SharedAccess -Name EnableRebootPersistConnection -Value 1 -PropertyType dword
Эта команда добавляет в ветку реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess параметр типа DWORD с именем EnableRebootPersistConnection и значением 1.
Решение 2: Автоматический запуск службы ICS
Для стабильной работы ICS необходимо настроить автоматический запуск службы SharedAccess. Это можно сделать через графический интерфейс или PowerShell:
Через консоль:
1. Нажмите Win + R, введите services.msc и нажмите Enter.
2. Найдите службу «Общий доступ к подключению к Интернету (ICS)».
3. Щелкните правой кнопкой мыши, выберите «Свойства».
4. Установите «Тип запуска» на «Автоматически».
5. Нажмите «Запустить», если служба не активна.
Через PowerShell:
1. Откройте PowerShell от имени администратора.
2. Выполните команды:
Set-Service SharedAccess –StartupType Automatic –PassThru
Start-Service SharedAccess
Эти команды устанавливают автоматический запуск службы SharedAccess и активируют её.
Решение 3: Автоматизация с помощью PowerShell-скрипта
Если настройка реестра и службы не решает проблему полностью, вы можете использовать PowerShell-скрипт, который автоматически перезапускает общий доступ к Интернету после загрузки системы. Скрипт выполняет следующие действия:
— Находит все сетевые подключения с активным общим доступом.
— Отключает общий доступ.
— Через секунду включает его заново.
Код скрипта:
$NetShareObject = New-Object -ComObject HNetCfg.HNetShare
$list = New-Object System.Collections.Generic.List[System.Object] foreach( $connection in $NetShareObject.EnumEveryConnection ){
$config = $NetShareObject.INetSharingConfigurationForINetConnection( $connection )
if( $config.SharingEnabled -eq 1 ){
$type = $config.SharingConnectionType
$list.Add( @($type,$config) )
$config.DisableSharing( )
}
}
Start-Sleep 1
foreach( $array in $list ){
$array[1].EnableSharing($array[0])
}
Чтобы скрипт выполнялся автоматически при загрузке:
1. Сохраните его в файл с расширением .ps1(например, ics_restart.ps1).
2. Откройте «Планировщик заданий» (Win + R, введите taskschd.msc).
3. Создайте новую задачу:
– Установите выполнение при запуске системы.
– В действиях укажите запуск PowerShell с аргументом `-File «путь_к_скрипту.ps1″`.
4. Сохраните задачу, указав учетную запись администратора.
Дополнительные рекомендации
– Проверяйте, чтобы сетевой адаптер, через который предоставляется доступ к Интернету, был активен и не отключался системой для экономии энергии.
– Если вы используете Wi-Fi для раздачи Интернета, убедитесь, что драйверы беспроводного адаптера обновлены.
– При использовании VPN или PPPoE убедитесь, что подключение автоматически восстанавливается после перезагрузки.
Эти шаги помогут обеспечить стабильную работу общего доступа к Интернету в Windows 10, избавив вас от необходимости вручную включать ICS после каждой перезагрузки.