2

Я успешно использую ICS в течение многих лет, но теперь я ищу способ управления им с помощью чего - то другого, кроме графического интерфейса в Панели управления \ Сеть и Интернет \ Сетевые подключения -> Свойства подключения:

Я в основном хочу вручную сделать то, что делает этот флажок

Я хочу делать все, что делает окруженный флажок и многое другое, не касаясь какого-либо графического интерфейса. Это приводит меня к следующему вопросу:

Что делает флажок?
Microsoft не предоставляет конкретной информации, и самое полезное сообщение на форуме, которое я нашел, было написано в 2003 году. Предполагая, что некоторые рекомендации все еще действительны, я пришел к выводу, что ICS разбита на 6 частей, которые должны настраиваться индивидуально:

  1. служба sharedAccess
  2. настройки интерфейса
  3. правила брандмауэра
  4. статический маршрут
  5. dnsproxy
  6. autodhcp

Я уже узнал, что сервис можно запускать / останавливать с помощью команды net start / stop sharedAccess и что netsh является хорошим инструментом для изменения настроек интерфейса и правил брандмауэра. Но я не понимаю, как ICS обрабатывает маршрутизацию и DNS. Все хосты в моей сети настроены статически, поэтому меня не волнует autodhcp.

Спасибо за вашу помощь!


РЕДАКТИРОВАТЬ: Я провел день, следуя советам Рэндольфа Веста и проанализировал результаты в ProcMon. Я видел операции чтения и записи как в реестр, так и в файловую систему, и мне было слишком сложно понять, что именно это все означало, за исключением того, что вызывался API.

1 ответ1

2

Я решил покопаться в Windows API для решения и нашел этот интерфейс, который управляет кнопкой в окружении! Все остальное можно контролировать с помощью netsh. Я написал простую утилиту для C++, которая позволяет мне запускать / останавливать ICS между двумя сетевыми адаптерами, устанавливать область действия правила брандмауэра "DNS server IN" и устанавливать IP-адрес интерфейса LAN. Это все, что мне было нужно, и я не думаю, что есть другой способ сделать это.

Я загрузил свое решение в sourceforge: https://sourceforge.net/p/icsctrl/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .