Служба 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 |
|
1 |
|
После перезагрузки ПК в локалке пропадает общий доступ подключения к Интернету02.10.2016, 13:56. Показов 29818. Ответов 19
Здравствуйте! Добавлено через 14 часов 27 минут
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
02.10.2016, 13:56 |
19 |
Модератор 11411 / 6981 / 1899 Регистрация: 25.12.2012 Сообщений: 29,387 |
|
07.10.2016, 21:12 |
2 |
да обновление кривое скорее всего, откатись
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
07.10.2016, 22:52 [ТС] |
3 |
да обновление кривое скорее всего, откатись поставил с «нуля» 1607 -откатывать нечего
а после перезагрузки если перезапустить службу общего доступа к подключению к инету — инет появляется в локалке? нет
0 |
Модератор 11411 / 6981 / 1899 Регистрация: 25.12.2012 Сообщений: 29,387 |
|
07.10.2016, 23:02 |
4 |
нет а адрес на внутреннем интерфейсе остается таким же? 192.168.137.1?
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
08.10.2016, 09:47 [ТС] |
5 |
а адрес на внутреннем интерфейсе остается таким же? 192.168.137.1? проверил, при перезапуске ICS внутренний интерфейс не изменяется- 192.168.137.1
0 |
Модератор 11411 / 6981 / 1899 Регистрация: 25.12.2012 Сообщений: 29,387 |
|
08.10.2016, 10:19 |
6 |
при перезапуске ICS внутренний интерфейс не изменяется не при перезапуске службы, а после перезагрузки пк
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
08.10.2016, 11:54 [ТС] |
7 |
не при перезапуске службы, а после перезагрузки пк после перезагрузки ПК не слетает, остаётся 192.168.137.1
0 |
Модератор 11411 / 6981 / 1899 Регистрация: 25.12.2012 Сообщений: 29,387 |
|
08.10.2016, 12:57 |
8 |
баги 10ки и драйверов к ней для беспроводных адаптеров встречаются сплошь и рядом
0 |
0 / 0 / 0 Регистрация: 18.09.2016 Сообщений: 2 |
|
27.10.2016, 05:49 |
9 |
На англоязычных форумах такие же проблемы. И нет ответа. От себя добавлю, что баг этот исключительно 1607 (в 1511 было достаточно перезапускать службу ics для восстановления раздачи). Замечу так же, что после перезагрузки сбрасывается тип сети (даже если был назначен private всё равно будет public)
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
27.10.2016, 20:04 [ТС] |
10 |
Scram,
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
15.05.2017, 12:33 [ТС] |
11 |
Установил «с нуля» Windows 10 Creators (версия 1703).
0 |
195 / 13 / 4 Регистрация: 26.04.2011 Сообщений: 137 |
|
17.05.2018, 11:21 |
12 |
Здравствуйте.
1 |
0 / 0 / 0 Регистрация: 14.06.2016 Сообщений: 2 |
|
01.08.2018, 11:28 |
13 |
Дайте решение данной проблемы, уважаемые!
0 |
4707 / 2085 / 447 Регистрация: 17.10.2015 Сообщений: 8,957 |
|
01.08.2018, 14:17 |
14 |
то, что W10 еще сырая и не откатаная — все знают. То, что ее упорно Мелкомягкие проталкивают — это тоже понятно, маркетинговый ход, + контроль над всем и вся!
ничего с общим доступом в забагованной Windows 10 не поменялось к лучшему, только переприменить настройку общего доступа в свойствах сетевого адаптера помогает, снять чекбокс применить, поставить чекбокс и снова применить Если существует такая проблема, может с помощью «костыля» ее решить?
Дайте решение данной проблемы, уважаемые! Например. За включение отключение общего доступа наверняка отвечает какой-нибудь параметр в реестре, либо существует команда через CLI. Погуглить данные команды, создать *.cmd (bat-ник), кинуть куданить, создать расписание в шедулере на запуск данного файла по расписанию, либо создать правило контроля доступа к ресурсу и при пропаже пинга например, запуск данного файла.
0 |
0 / 0 / 0 Регистрация: 14.06.2016 Сообщений: 2 |
|
06.08.2018, 09:33 |
15 |
Такая же беда после последних обновлений на Windows 8
0 |
3 / 2 / 1 Регистрация: 08.08.2018 Сообщений: 1 |
|
08.08.2018, 19:36 |
16 |
Сообщение было отмечено Vorands как решение РешениеМне помогло решение описанное в этом видосе: Кликните здесь для просмотра всего текста Если кратко — создать параметр DWORD32 в реестре по пути: EnableRebootPersistConnection = 1 Win 10×64 установлена. Надеюсь и вам всем поможет. У меня по крайней мере заработало.
2 |
0 / 0 / 0 Регистрация: 24.02.2019 Сообщений: 1 |
|
24.02.2019, 23:28 |
17 |
Кому не помог метод в видео из сообщения выше, попробуйте ребутнуть биос. Можно путем извлечения и вставки на место какого-то контроллера на материнской плате(не помню, в инете есть. у себя не нашел), либо на 30-40 секунд вытащить батарейку на материнской плате. Сегодня копался в компе по другой причине. Пробовал разное, в том числе и этот метод. Не знаю точно, что именно мне помогло, но мне кажется, что как раз это.
0 |
0 / 0 / 0 Регистрация: 04.03.2019 Сообщений: 1 |
|
04.03.2019, 10:14 |
18 |
TwisteR_EN,
0 |
1 / 1 / 0 Регистрация: 01.10.2016 Сообщений: 7 |
|
03.10.2020, 10:20 [ТС] |
19 |
Всем спасибо! 1. Создать параметр DWORD32 (и для 64 bit) в реестре по пути: EnableRebootPersistConnection = 1 2.Службы Общий доступ к подключению к Интернету (ICS) 3. Перезагрузиться
1 |
0 / 0 / 0 Регистрация: 21.04.2021 Сообщений: 4 |
|
21.04.2021, 12:21 |
20 |
Вот скрип Код # 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 "Ethernet3" } $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) Вписать свои названия сетей — планировщик задач, и дальше как всегда.
0 |
- Remove From My Forums
-
Общие обсуждения
-
Доброго дня. Такая проблема:
есть компьютер, который раздает интернет во внутреннюю подсеть, штатными средствами вин10 (сетевые подключения, свойства соединения, разрешить другим пользователям ….).
Допустим, сделали. Хорошо, все получается, сетевой карте присваивается 192.168.137.1, работает как DHCP сервер, раздает IP, раздает интернет, все хорошо до
Следующий перезапуск (ребут, вкл-выкл), плановый-неплановый.
Все настройки (галочки, пункты) вроде и на месте. Но ни интернета, ни DHCP ниет.
СОбственно, как такое побороть?
Спасибо!
p.s. вопрос изначально задавался здесь, но подсказали, что здесь ответят бустрее
https://answers.microsoft.com/ru-ru/windows/forum/windows_10-networking/windows-10-%d0%be%d0%b1%d1%89%d0%b8%d0%b9/2cf11579-f5c9-48b9-a41f-88fef9ae92e3
p.p.s вопрос на англоязычных форумах так и не решили, или хитроскрипт. А хитромикрософт?
-
Изменено
18 декабря 2016 г. 20:06
-
Изменен тип
Anton Sashev Ivanov
5 января 2017 г. 10:11
Обсуждение
-
Изменено
Cneltyn
Знающий
- Сообщения
- 32
- Оценка реакций
- 3
-
#1
Всем привет! Такая проблема, что после перезагрузки фермы, общий доступ пропадает. Проблема решается снятием и постановкой галочки общего доступа обратно. Автоматически он запускать не хочет. Тематические форумы облазил уже, решения нет. Вся надежда на вас.
Интернет: usb 4G YOTA;
Сеть: 3 фермы через простой свитч; автонастройка IP;
Windows 10 Pro 1703
Последнее редактирование:
Polaform
Свой человек
- Сообщения
- 94
- Оценка реакций
- 9
-
#3
А если поставить программу которая имитирует нажатия и передвижения мышки? записать скрипт и поставить в автозагрузку к примеру через 1 минуту после старта
exI
Гений мысли
- Сообщения
- 6.533
- Оценка реакций
- 6.700
-
#4
Всем привет! Такая проблема, что после перезагрузки фермы, общий доступ пропадает. Проблема решается снятием и постановкой галочки общего доступа обратно. Автоматически он запускать не хочет. Тематические форумы облазил уже, решения нет. Вся надежда на вас.
Интернет: usb 4G YOTA;
Сеть: 3 фермы через простой свитч; автонастройка IP;
Windows 10 Pro 1703
Роутер поставьте и не мучайтесь, только обязательно с перезапуском питания на usb, а то yota виснуть любит
ZULI
Друг форума
- Сообщения
- 1.852
- Оценка реакций
- 1.187
-
#5
Это такая коварная штука, если стоит DHCP на винде, после каждого обновления роутера винда находит новую сеть.
neo3703
Бывалый
- Сообщения
- 392
- Оценка реакций
- 84
-
#6
Купи раз zyxel keenetic iii и не мучайся, он отлично работает с USB модемами и раздает инет. Сам использую как переключалку на резервный инет, потому как иногда может пропадать основная линия по кабелю.
Мик
Друг форума
- Сообщения
- 1.006
- Оценка реакций
- 1.064
Filko
Свой человек
- Сообщения
- 70
- Оценка реакций
- 57
-
#8
На прошлой неделе обновил Десятку. На танцы с общим доступом не повлияло. Но, вчера перегрузил и…доступ поднялся сам! Перегрузил сегодня раз, два, три…. всё вернулось на круги своя — запуск только с толкача Навеяло мысли: проблема носит не хронический характер и спровоцирована драйверами и/или конфликтами возникающими при последовательности загрузки драйверов и служб. Винда достаточно чистая. Возможно проблема в реализации безопасности, но отчёт ни о чём не говорит. Больше мыслям цепляться не за что… А воз и ныне там