Служба Internet Connection Sharing (ICS) в Windows позволяет предоставить общий доступ к интернет подключению на вашем компьютере другим компьютерам в локальной сети (через Wi-Fi или Ethernet). Благодаря этому все компьютеры в локальной сети могут выходить в Интернет через интернет подключение на одном компьютере (компьютер может быть подключен к интернету: через 4G/LTE модем, прямое кабельное подключение через второй сетевой адаптер, спутниковое подключение, PPPoE, VPN подключение и т.д.). В этом случае данный компьютер Windows с двумя сетевыми интерфейсами, подключенными к разным сетям, будет выступать в качестве шлюза для доступа в Интернет других компьютеров. Служба ICS при этом выполняет функции трансляции адресов (NAT) и DHCP сервера.
Общий доступ к сетевому подключению в Windows включается в свойствах сетевого адаптера на вкладке Доступ -> Общий доступ к подключению к Интернету -> Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера (Allow other network users to connect through this computer’s Internet connection).
В современных билдах Windows 10 есть один неприятный недостаток – после перезагрузки компьютера с общим сетевым подключением, у других компьютеров в локальной LAN/Wi-Fi сети пропадает доступ в Интернет.
Дело в том, что в современных билдах Windows 10, если через общее сетевое подключение не идет трафик, то служба Internet Connection Sharing отключается через 4 минуты, и не перезапускается автоматически.Чтобы восстановить общий доступ к Интернету, нужно снять и еще повторно включить галку общего доступа в свойства сетевого адаптера, через который Windows подключена к Интернету.
Чтобы служба общего доступа к интернету автоматически включалась после перезагрузки Windows 10, нужно включить специальный параметр реестра EnableRebootPersistConnection типа DWORD в ветке HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess и значением 1.
Проще всего создать параметр реестра следующей командой PowerShell:
New-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\SharedAccess -Name EnableRebootPersistConnection -Value 1 -PropertyType dword
Затем нужно установить автоматический запуск для службы Internet Connection Sharing (
SharedAccess
). Можно изменить тип запуска службы с Manual на Automatic через консоль services.msc или с помощью PowerShell:
Set-Service SharedAccess –startuptype automatic –passthru
Запустите службу:
Start-Service SharedAccess
Также вы можете использовать следующий 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])
}
Этот PowerShell скрипт можно запускать автоматически через задание планировщика Windows при загрузке компьютера.
Допустим есть онлайн касса, которая подключается по USB к компьютеру и работает в режиме RNDIS, т.е. должна подключаться к интернету через виртуальный сетевой адаптер. Для этого нужно или объединить адаптеры в бридж, или открыть общий доступ к подключению к интернету в свойствах основного подключения на компьютере. Первый способ после обновления 10-ки до версии 1803 работать перестал — при создании бриджа на компьютере пропадает интернет (если кто-то знает решение — прошу отписаться).
Рассмотрим второй способ. Заходим в свойства основного физического адаптера на компьютере, вкладка Доступ, ставим галочку «Разрешить другим пользователям сети …».
Затем нажимаем «Настройка», и добавляем службу, которая должна быть доступна на нашей онлайн-кассе например если к ней нужно обращаться с сервера. В нашем случае это порт 7778, внутренний IP кассы мы установили заранее через драйвер самой кассы — это адрес 192.168.137.111.
В свойствах виртуального сетевого адаптера нужно установить ip-адрес 192.168.137.1 (если он автоматически не установится при открытии общего доступа).
Прописываем всё это, закрываем — вроде всё работает, телнетом можем проверить подключение с сервера к кассе на порт 7778 через IP адрес компьютера:
telnet 192.168.215.158 7778
где 192.168.215.158 — ip компьютера в локальной сети.
Однако при перезагрузке общий доступ пропадает, и если зайти в сетевые подключения, на виртуальном адаптере видим «Неопознанная сеть». Помогает снятие и установка галочки доступа, которую мы ставили на первом шаге при настройке. Делать это вручную при каждой перезагрузке совсем неудобно, поэтому можно создать powershell скрипт для автоматического запуска.
Вот текст скрипта:
# Register the HNetCfg library (once) regsvr32 hnetcfg.dll $m = New-Object -ComObject HNetCfg.HNetShare $m.EnumEveryConnection |% { $m.NetConnectionProps.Invoke($_) } $c1 = $m.EnumEveryConnection |? { $m.NetConnectionProps.Invoke($_).Name -eq "Ethernet" } $c2 = $m.EnumEveryConnection |? { $m.NetConnectionProps.Invoke($_).Name -eq "Ethernet 2" } $config1 = $m.INetSharingConfigurationForINetConnection.Invoke($c1) $config2 = $m.INetSharingConfigurationForINetConnection.Invoke($c2) $config1.DisableSharing() $config2.DisableSharing() # argument: 0 - public, 1 - private $config1.EnableSharing(0) $config2.EnableSharing(1)
Здесь Ethernet — название основного физического адаптера, Ethernet 2 — виртуальный адаптер, который должен получить доступ в интернет через компьютер.
В последних строчках скрипта запрещается и снова разрешается общий доступ для обоих адаптеров. Если это сделать только для одного (основного), то у меня возникала ошибка 0x80040201. А в этом случае ошибки нет.
А тут я описал как этот скрипт можно запускать при включении компьютера.
Это костыль, однако вариантов решения проблем с созданием бриджа и пропаданием интернета я пока не нашёл.
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
После перезагрузки ПК в локалке пропадает общий доступ подключения к Интернету02.10.2016, 13:56. Показов 32576. Ответов 19 Здравствуйте! Добавлено через 14 часов 27 минут
0 |
Programming Эксперт 39485 / 9562 / 3019 Регистрация: 12.04.2006 Сообщений: 41,671 Блог |
02.10.2016, 13:56 |
Ответы с готовыми решениями: Пропадает общий доступ, когда пропадает интернет Общий доступ к интернету общий доступ к интернету 19 |
11436 / 7005 / 1903 Регистрация: 25.12.2012 Сообщений: 29,398 |
|
07.10.2016, 21:12 |
|
да обновление кривое скорее всего, откатись
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
07.10.2016, 22:52 [ТС] |
|
Сообщение от insect_87 да обновление кривое скорее всего, откатись поставил с «нуля» 1607 -откатывать нечего Сообщение от insect_87 а после перезагрузки если перезапустить службу общего доступа к подключению к инету — инет появляется в локалке? нет
0 |
11436 / 7005 / 1903 Регистрация: 25.12.2012 Сообщений: 29,398 |
|
07.10.2016, 23:02 |
|
Сообщение от Vorands нет а адрес на внутреннем интерфейсе остается таким же? 192.168.137.1?
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
08.10.2016, 09:47 [ТС] |
|
Сообщение от insect_87 а адрес на внутреннем интерфейсе остается таким же? 192.168.137.1? проверил, при перезапуске ICS внутренний интерфейс не изменяется- 192.168.137.1
0 |
11436 / 7005 / 1903 Регистрация: 25.12.2012 Сообщений: 29,398 |
|
08.10.2016, 10:19 |
|
Сообщение от Vorands при перезапуске ICS внутренний интерфейс не изменяется не при перезапуске службы, а после перезагрузки пк
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
08.10.2016, 11:54 [ТС] |
|
Сообщение от insect_87 не при перезапуске службы, а после перезагрузки пк после перезагрузки ПК не слетает, остаётся 192.168.137.1
0 |
11436 / 7005 / 1903 Регистрация: 25.12.2012 Сообщений: 29,398 |
|
08.10.2016, 12:57 |
|
баги 10ки и драйверов к ней для беспроводных адаптеров встречаются сплошь и рядом
0 |
0 / 0 / 0 Регистрация: 18.09.2016 Сообщений: 2 |
|
27.10.2016, 05:49 |
|
На англоязычных форумах такие же проблемы. И нет ответа. От себя добавлю, что баг этот исключительно 1607 (в 1511 было достаточно перезапускать службу ics для восстановления раздачи). Замечу так же, что после перезагрузки сбрасывается тип сети (даже если был назначен private всё равно будет public)
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
27.10.2016, 20:04 [ТС] |
|
Scram,
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
15.05.2017, 12:33 [ТС] |
|
Установил «с нуля» Windows 10 Creators (версия 1703).
0 |
195 / 13 / 4 Регистрация: 26.04.2011 Сообщений: 137 |
|
17.05.2018, 11:21 |
|
Здравствуйте.
1 |
0 / 0 / 0 Регистрация: 14.06.2016 Сообщений: 2 |
|
01.08.2018, 11:28 |
|
Дайте решение данной проблемы, уважаемые!
0 |
5335 / 2203 / 470 Регистрация: 17.10.2015 Сообщений: 9,355 |
|
01.08.2018, 14:17 |
|
то, что W10 еще сырая и не откатаная — все знают. То, что ее упорно Мелкомягкие проталкивают — это тоже понятно, маркетинговый ход, + контроль над всем и вся! Сообщение от enzo_brn ничего с общим доступом в забагованной Windows 10 не поменялось к лучшему, только переприменить настройку общего доступа в свойствах сетевого адаптера помогает, снять чекбокс применить, поставить чекбокс и снова применить Если существует такая проблема, может с помощью «костыля» ее решить? Сообщение от saddam16kw Дайте решение данной проблемы, уважаемые! Например. За включение отключение общего доступа наверняка отвечает какой-нибудь параметр в реестре, либо существует команда через CLI. Погуглить данные команды, создать *.cmd (bat-ник), кинуть куданить, создать расписание в шедулере на запуск данного файла по расписанию, либо создать правило контроля доступа к ресурсу и при пропаже пинга например, запуск данного файла.
0 |
0 / 0 / 0 Регистрация: 14.06.2016 Сообщений: 2 |
|
06.08.2018, 09:33 |
|
Такая же беда после последних обновлений на Windows 8
0 |
3 / 2 / 1 Регистрация: 08.08.2018 Сообщений: 1 |
|
08.08.2018, 19:36 |
|
Сообщение было отмечено Vorands как решение РешениеМне помогло решение описанное в этом видосе: Кликните здесь для просмотра всего текста Если кратко — создать параметр DWORD32 в реестре по пути: EnableRebootPersistConnection = 1 Win 10×64 установлена. Надеюсь и вам всем поможет. У меня по крайней мере заработало.
2 |
0 / 0 / 0 Регистрация: 24.02.2019 Сообщений: 1 |
|
24.02.2019, 23:28 |
|
Кому не помог метод в видео из сообщения выше, попробуйте ребутнуть биос. Можно путем извлечения и вставки на место какого-то контроллера на материнской плате(не помню, в инете есть. у себя не нашел), либо на 30-40 секунд вытащить батарейку на материнской плате. Сегодня копался в компе по другой причине. Пробовал разное, в том числе и этот метод. Не знаю точно, что именно мне помогло, но мне кажется, что как раз это.
0 |
0 / 0 / 0 Регистрация: 04.03.2019 Сообщений: 1 |
|
04.03.2019, 10:14 |
|
TwisteR_EN,
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
03.10.2020, 10:20 [ТС] |
|
Всем спасибо! 1. Создать параметр DWORD32 (и для 64 bit) в реестре по пути: EnableRebootPersistConnection = 1 2.Службы Общий доступ к подключению к Интернету (ICS) 3. Перезагрузиться
1 |
Kiru71 0 / 0 / 0 Регистрация: 21.04.2021 Сообщений: 4 |
||||
21.04.2021, 12:21 |
||||
Вот скрип
Вписать свои названия сетей — планировщик задач, и дальше как всегда.
0 |
Cneltyn
Знающий
- Сообщения
- 32
- Оценка реакций
- 3
-
#1
Всем привет! Такая проблема, что после перезагрузки фермы, общий доступ пропадает. Проблема решается снятием и постановкой галочки общего доступа обратно. Автоматически он запускать не хочет. Тематические форумы облазил уже, решения нет. Вся надежда на вас.
Интернет: usb 4G YOTA;
Сеть: 3 фермы через простой свитч; автонастройка IP;
Windows 10 Pro 1703
Последнее редактирование:
Polaform
Свой человек
- Сообщения
- 94
- Оценка реакций
- 9
-
#3
А если поставить программу которая имитирует нажатия и передвижения мышки? записать скрипт и поставить в автозагрузку к примеру через 1 минуту после старта
exI
Гений мысли
- Сообщения
- 6.749
- Оценка реакций
- 7.238
-
#4
Всем привет! Такая проблема, что после перезагрузки фермы, общий доступ пропадает. Проблема решается снятием и постановкой галочки общего доступа обратно. Автоматически он запускать не хочет. Тематические форумы облазил уже, решения нет. Вся надежда на вас.
Интернет: usb 4G YOTA;
Сеть: 3 фермы через простой свитч; автонастройка IP;
Windows 10 Pro 1703
Роутер поставьте и не мучайтесь, только обязательно с перезапуском питания на usb, а то yota виснуть любит
ZULI
Друг форума
- Сообщения
- 1.852
- Оценка реакций
- 1.188
-
#5
Это такая коварная штука, если стоит DHCP на винде, после каждого обновления роутера винда находит новую сеть.
neo3703
Бывалый
- Сообщения
- 392
- Оценка реакций
- 84
-
#6
Купи раз zyxel keenetic iii и не мучайся, он отлично работает с USB модемами и раздает инет. Сам использую как переключалку на резервный инет, потому как иногда может пропадать основная линия по кабелю.
Мик
Друг форума
- Сообщения
- 1.010
- Оценка реакций
- 1.068
Filko
Свой человек
- Сообщения
- 70
- Оценка реакций
- 57
-
#8
На прошлой неделе обновил Десятку. На танцы с общим доступом не повлияло. Но, вчера перегрузил и…доступ поднялся сам! Перегрузил сегодня раз, два, три…. всё вернулось на круги своя — запуск только с толкача Навеяло мысли: проблема носит не хронический характер и спровоцирована драйверами и/или конфликтами возникающими при последовательности загрузки драйверов и служб. Винда достаточно чистая. Возможно проблема в реализации безопасности, но отчёт ни о чём не говорит. Больше мыслям цепляться не за что… А воз и ныне там
Все способы:
- Способ 1: Решение проблем с драйверами
- Способ 2: Сброс сетевых настроек
- Способ 3: Встроенное средство устранения неполадок
- Способ 4: Перезапуск Winsock
- Способ 5: Откат системы до точки восстановления
- Вопросы и ответы: 3
Способ 1: Решение проблем с драйверами
Если в Windows 10 пропали сетевые подключения, то в первую очередь проверьте состояние драйвера для адаптеров, отвечающего за доступ к сети. В большинстве случаев программное обеспечение лучше переустановить.
Практически все сетевые адаптеры, использующиеся на ПК или ноутбуке, успешно определяются системой, которая, в свою очередь, устанавливает подходящие драйверы с собственных серверов. Этого должно хватить для выхода в интернет и скачивания актуального фирменного ПО (то есть драйвер от Майкрософт, установленный автоматически, не всегда является полноценной заменой). Именно поэтому начинать лучше со стандартной переустановки драйверов:
- Откройте «Диспетчер устройств», кликнув по «Пуску» правой кнопкой мыши и выбрав соответствующий пункт из отобразившегося меню.
- Разверните список «Сетевые адаптеры» и найдите сетевую карту (LAN). Обычно в названии устройства есть слово «Realtek» или «Qualcomm», что говорит о производителе компонента. Если таких адаптеров несколько, то выбирайте тот, где есть слова «PCIe», «PCI-E» или «Ethernet». Щелкните по названию устройства правой кнопкой мыши и воспользуйтесь пунктом «Удалить устройство».
- Во всплывающем системном окне подтвердите действие.
Если в «Диспетчере устройств» сетевая карта не отображается, то, вероятно, проблема носит аппаратный характер, например компонент поврежден или неисправен. Если это подозрение подтвердится, потребуется заменить комплектующее.
Когда программное обеспечение для сетевого адаптера будет полностью удалено вручную, перезагрузите систему. При следующем запуске Windows 10 самостоятельно установит ПО для карты. Если это не помогло, то воспользуйтесь инструкциями из нашего отдельного материала о способах установки драйверов для сетевой карты.
Подробнее: Инсталляция программного обеспечения для сетевого адаптера в Windows 10
Вместо переустановки можете попробовать обратный вариант: откат состояния программного обеспечения сетевого драйвера. Дело в том, что при его автоматической попытке обновления или из-за ошибок в работе самой системы какие-то файлы могли оказаться повреждены. В этом случае может помочь восстановление предыдущей версии, при которой не было проблем. Однако сразу же отметим, такая возможность имеется не всегда.
Для этого в «Диспетчере устройств» дважды кликните по названию сетевого адаптера, чтобы открыть окно с его свойствами. На вкладке «Драйвер» нажмите на кнопку «Откатить». Если она доступна, значит, восстановление состояния ПО возможно.
Способ 2: Сброс сетевых настроек
Сброс сетевых настроек может помочь в ситуации, когда все подключения пропали. Таким образом, все параметры вернутся к установленным по умолчанию, ведь именно из-за стороннего вмешательства (пользователя или вирусного ПО) сбиваются настройки сетевых подключений. Процедура выполняется довольно просто:
- Щелкните по кнопке «Пуск» и выберите значок в виде шестеренки, чтобы открыть системные «Параметры».
- Перейдите в раздел «Сеть и Интернет».
- Далее, оставаясь на вкладке «Состояние», пролистайте основную часть окна вниз и щелкните по строке «Сброс сети».
- В следующем окне выберите кнопку «Сбросить сейчас».
После того как все сетевые настройки вернутся к тем, которые были по умолчанию, переходите в раздел «Панели управления» и проверяйте, появились ли сетевые подключения.
Способ 3: Встроенное средство устранения неполадок
Для проверки сетевых подключений (а также других компонентов системы) в Windows 10 предусмотрено встроенное средство, которое позволяет быстро отыскать неисправности и устранить их по возможности. Использовать инструмент можно и в случае сетевых сбоев:
- Перейдите в «Параметры» так же, как и в предыдущем способе, но после откройте раздел «Обновление и безопасность».
- На панели слева нажмите на «Устранение неполадок», затем по ссылке «Дополнительные средства устранения неполадок».
- В списке компонентов отыщите «Подключения к Интернету». Щелкните по строке ЛКМ, затем нажмите на кнопку запуска средства.
Останется дождаться, пока средство проверит систему на наличие проблем, связанных с сетевыми подключениями, например ошибки, из-за которой они не отображаются.
Способ 4: Перезапуск Winsock
Winsock, или Windows Socket, – это программный интерфейс, который решает, каким программам можно подключаться к интернету через стандарт TCP/IP. В некоторых случаях его перезапуск решает проблему с корректным отображением сетевых настроек. Для этого используется специальный файл «winsock.dll», связывающий штатные утилиты и подключение TCP/IP. Перезапуск интерфейса можно проделать через «Командную строку»:
- Откройте консоль от имени администратора: в строке поиска введите «cmd» и выберите соответствующий пункт в окне справа.
- Введите следующие команды, выполняя каждую нажатием клавиши «Enter»:
netsh winsock reset catalog
netsh winsock reset
netsh int ip reset
Таким образом, будет сброшена конфигурация сетевых подключений, включая программный интерфейс Winsock, после чего произойдет перезапуск параметров.
Читайте также: Запуск «Командной строки» от имени администратора в Windows 10
Способ 5: Откат системы до точки восстановления
Если ни один метод не помог, попробуйте откатить состояние системы до того момента, когда таких проблем не наблюдалось. Вероятно, сетевые подключения пропали из-за недавно инсталлированных программ или из-за некорректных настроек, которые пользователь случайно внес сам. Если создание контрольной точки в Windows 10 активно, то восстановить ОС вручную несложно. Более подробно об этом читайте в нашем отдельном пошаговом руководстве.
Подробнее: Откат к точке восстановления в Windows 10
Наша группа в TelegramПолезные советы и помощь