Резервирование ethrnet сетей и настройка active direcory под данные нужды

Started by Илья, 06 September 2020, 16:23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Илья

Добрый день. Спасибо за Ваш сайт. Многому можно научится.
Коротко о себе. Я работаю инженером/наладчиком по АСУ ТП (программирую PLC, SCADA, HMI и т.п.). С сетевыми «нано технологиями» в лице Active Directory, DHCP, DNS и прочим я пересекаюсь редко. Если вкратце, то для меня настройка локальных сетей — это получить IP адреса, затем установить их на весь зоопарк устройств, после пропинговать все это добро и на этом все.

Чаще всего встречается схема с тремя серверами (архивный, сервер приложений основной и резервный) и с десятком операторских компьютеров в технологической сети (см. рисунок 1). Технологическая (основная и резервная) и информационная сети всегда разделены посредством файрвола. Технологическая сеть — это сеть для промышленного оборудования без доступа к сети интернет. Информационная – это сеть для офисных сотрудников, бухгалтерии и т.п. с доступом к сети интернет.
Описание машин (см. рисунок 2).
AS01, AS02 – это физические серверы с серверной частью SCADA и серверами ввода/вывода.
LS01, LS02 – это виртуальные машины с серверами лицензий для SCADA, расположенные на физических серверах AS01 и AS02 соответственно.
DC01, DC02  это виртуальные машины с контроллерами домена, расположенные на физических серверах AS01 и AS02 соответственно.
HS01 (бывает еще и HS02) - это физический сервер с архивом SCADA и одновременно является шлюзом в информационную сеть.
GR01 - это виртуальная машина со средой разработки SCADA и репозиторием проектов.
IT01, IT02 - это физический АРМ с Runtime средой SCADA.

Мои возможности ограничены как опытом работы с сетевым оборудованием, так и проектными решениями, а именно:
 На обывательском уровне знаю для чего нужны и как работают Active Directory, DHCP, DNS, NTP.
 Убрать или добавить новое оборудование нельзя, т.к. закуплено все строго по проекту. Шаг в лево, шаг в право - расстрел.
 Из опыта работы я еще не видел работающего резервирования Ethernet сетей в АСУ ТП, а Заказчики требуют. Хочу это исправить.
 Современные SCADA все чаще строго требуют применения Active Directory, т.е. домена, но в своих мануалах про его настройку не говорят ни слова.
 Все промышленное оборудование имеет только статические IP-адреса.
 Из опыта отдельных VLANнов для АСУТП нету хотя бывают исключения.
 Из опыта локальные технологические сети в АСУ ТП состоят только из коммутаторов хотя бывают исключения.

Поэтому и обращаюсь к Вам. Это своего рода крик души. Извините может быть за глупые вопросы, а их много и некоторые не по теме, но все-таки.
1. Как грамотно построить резервирование технологической ethernet сети? Некоторые устройства будут только в основной сети на них можно не обращать внимания.
2. Teaming сетевых портов мне не подходит, т.к. в PLC можно настроить только разные IP. Либо это можно как-то по-другому обыграть? Основное условие это два раздельных сетевых подключения.
3. Будут ли работать на резервируемых ethernet сетях Active Directory, DNS и DHCP? Настроек с одним сетевым портом в интернете хватает. Про настройку с резервированием сетей очень мало, либо я искать не умею. Можете подсказать источники или вкратце обрисовать процесс настройки именно с двумя сетями (основная и резервная)?
4. Можно ли так поступить (чтобы не плодить ВМ), если на серверы AS01, AS02 установить виртуальные машины DC01 и DC02 и развернуть на них контроллер домена, DNS, DHCP основной и резервный соответственно? Не будет ли оно как-то конфликтовать между собой? Повторюсь железом ограничен и сеть должна быть основной и резервной и изолирована от информационной сети.
5. Правильна ли такая последовательность установки DC01 и DC02?
1) Операционные системы Windows Server 2016 и выше.
2) Выставляем статические IP-адреса для DC01 и DC02 по два на каждый (основная и резервная сети).
3) Настройка DC01.
  a. Устанавливаем статический IP адрес на DC01.
  b. Устанавливаем DNS.
  c. Устанавливаем Active Directory и повышаем до контроллера домена.
  d. Устанавливаем DHCP и производим его авторизацию. Настраиваем пулы адресов. IP-адреса от x.x.x.1 до x.x.x.9 не занимаем.
4) Настройка DC02.
  a. Устанавливаем статический IP адрес на DC02.
  b. Устанавливаем DNS.
  c. Устанавливаем Active Directory. Подключаемся к существующему домену. Имя домена будет вида wsp.mycompany.by.
  d. Устанавливаем DHCP и производим его авторизацию.
5) В сетевых настройках устанавливаем основные DNS крест на крест. На резервные ставим 127.0.01.
6) На DC01 настраиваем DHCP-failover на DC02 с режимом балансировки 80/20.
7) Все промышленное оборудование (PLC, HMI, преобразователи интерфейсов и т.п.) будут иметь статические IP-адреса. Данные адреса будут исключены из раздачи DHCP.
6. На HS01 устанавливаю NTP сервер и всех к нему подключаю. С заделом, что будет возможность синхронизации времени из информационной сети или из специального для данных целей оборудования. Если такой возможности нет, то можно NTP установить на DC01 и DC02 как основной и резервный?
7. Можете объяснить, что за галочка «Register this connections address in DNS («Зарегистрировать это соединение в DNS»)» в сетевых настройках? Когда ее нужно убирать, а когда не нужно?
8. Если у меня нет маршрутизатора в сети, а только коммутаторы, то нужно ли в сетевых настройках указывать шлюз? Если да, то по какому принципу его брать? В другие сети выходить не нужно.
9. Для работы SCADA требуется шлюз для основного сервера брать IP-адрес AS02, а для резервного сервера IP-адрес AS01, но это только для основной сети. Для резервной сети шлюзы уже написать нельзя, т.к. Windows ругается, что шлюз уже есть в основной сети, но при этом дает возможно вписать. Если я напишу по два шлюза (основная и резервные сети) на каждом сервере AS01 и AS02 – это не нарушит работу сетевых компонентов Windows или чего-то другого?
10. Где-то читал, что если изменить сетевой профиль подключения, например из privаte в public, то отключаются все правила (исключения) в брандмауэре Windows. Так ли это?

Даже не ожидал, что такая поэма получится. Буду благодарен любому из ответов и критике. Заранее спасибо.

Уваров А.С.

1. Если ваши устройства не поддерживают расширенные сетевые конфигурации, то остается только подключить их к двум сетям с разными диапазонами IP-адресов.

2. См. выше

3. Будут, почему нет. Заводите на сервера по две сети и все будет работать. В DHCP создаете две области, каждая будет обслуживать тот интерфейс, адрес которого совпадает с диапазоном области.

4. Можно, почему нет.

5. В общем и целом верно, только DNS устанавливать не надо, он сам подтянется при повышении сервера до контроллера домена.

6. Источником времени в AD является сервер с FSMO-ролью Эмулятор PDC, все остальные контроллеры синхронизируются с него, остальные члены домена подводят время с любого контроллера. В дополнительных NTP в домене нет смысла. Если вы используете NTP для машин не входящих в домен, то следует обеспечить его синхронизацию с PDC или общим с ним источником времени.

7. Для автоматического создания A и PTR записей на DNS, снимать не рекомендуется, может привести к различным сбоям, вплоть до BSOD.

8. Если не нужно ходить за пределы сети - то нет и шлюза.

9. В каждой сети может быть один основной шлюз (нулевой маршрут), ничего вы этим не нарушите. И все таки я бы порекомендовал поставить маршрутизатор. Так как может получиться так, что узел находящийся только в одной сети получит от DNS адрес из другой сети и не сможет соединиться. А DNS по умолчанию будет выдавать адреса по принципу round robin, т.е. по кругу из обоих сетей. При наличии маршрутизатора, который указан везде в качестве шлюза, пакет улетит к нему и будет доставлен куда надо. Наружу выводить его не обязательно.

10. Нет, но набор правил будет изменен. Можете сами посмотреть, каждое правило имеет список областей применения (Домен, Частная и Публичная сети).

Это если вкратце. Теперь о слабых местах. Если оба контроллера в виртуальной среде и оба узла также являются членами домена, то при одновременном их выключении вы можете оказаться в ситуации когда некому обработать вход в систему. Поэтому рекомендуется хотя бы один контроллер держать на железе.

Если добавить железо нельзя, то я бы смотрел в сторону HS01, на него ставим бесплатный Hyper-V сервер без ввода в домен, там в виртуалках создаем архивный сервер, контроллер домена и GR1. В этом случае данный гипервизор всегда запустится и у вас будет рабочий КД.

Илья

Большое спасибо за оперативный ответ.
Правильно ли я понял некоторые моменты?
6. Другими словами я должен NTP server устанавливать только на КД? Я могу установить NTP server одновременно на DC01 и DC02. И все машины в домене будут синхронизировать время с DC01 или DC02. Как в таком случае будет синхронизироваться время между DC01 и DC02?
9. За идею с маршрутизатором и нюансе DNS огромное спасибо, буду стараться выбивать/доказывать его нужду.
  Если все же нету коммутатора.
  Я могу смело написать один шлюз для основной сети и другой шлюз для резервной сети? Например см. рисунок 1. вариант 1.
  Или я должен написать один шлюз для основной сети и такой же шлюз для резервной сети? Например см. рисунок 1. вариант 2.

QuoteЭто если вкратце. Теперь о слабых местах. Если оба контроллера в виртуальной среде и оба узла также являются членами домена, то при одновременном их выключении вы можете оказаться в ситуации когда некому обработать вход в систему. Поэтому рекомендуется хотя бы один контроллер держать на железе.
Если добавить железо нельзя, то я бы смотрел в сторону HS01, на него ставим бесплатный Hyper-V сервер без ввода в домен, там в виртуалках создаем архивный сервер, контроллер домена и GR1. В этом случае данный гипервизор всегда запустится и у вас будет рабочий КД.
Правильно ли я понял, что если DC01 и DC02 будут на виртуалках, которое крутятся на AS01 (входит в домен) и AS02 (входит в домен) - это очень плохо. В таком случае при одновременном отключении AS01 и AS02 я не смогу включить AS01 и AS02, т.к. КД на DC01 и DC02 будут отключены, а также я сам не смогу запустить виртуальные DC01 и DC02, т.к. у меня не будет прав.

На счет идеи HS01 и Hyper-V, КД спасибо. Буду рассматривать такой вариант.

Уваров А.С.

По вопросу времени читайте здесь: https://interface31.ru/tech_it/2020/05/sinhronizaciya-vremeni-active-directory-s-vneshnim-istochnikom.html

Коротко: NTP-сервер в домене не нужен. Вы можете сверять часы с любым контроллером или PDC. Если у вас есть отдельный NTP для недоменных устройств, то его нужно синхронизировать с PDC.

Quote from: Илья on 07 September 2020, 12:44Если все же нету коммутатора.
  Я могу смело написать один шлюз для основной сети и другой шлюз для резервной сети? Например см. рисунок 1. вариант 1.

Прописать то вы можете, а толку? Шлюз по умолчанию - это нулевой маршрут сети, т.е. узел которому будут отправляться все пакеты с адресом назначения не принадлежащим сети. DNS при ответе в основную сеть запросто может отдать адрес из резервной - и все, связи не будет. Если не дают денег на железный маршрутизатор, то можно сделать программный, на Linux, в виртуалке. Ничего сложного нет, настраиваете два сетевых интерфейса и разрешаете маршрутизацию. Пакеты из сети в сеть ходить будут.


Quote from: Илья on 07 September 2020, 12:44Или я должен написать один шлюз для основной сети и такой же шлюз для резервной сети?

Нет, шлюз должен располагаться в адресном пространстве сети. Т.е. у каждой сети свой шлюз. Если у вас все устройства будут обязательно в основной сети, а часть из них в основной и резервной, то можно сделать проще. Шлюз указываем только для основной сети.

Если узел является участником обоих сетей, то любой адрес доступен ему непосредственно, с того или иного интерфейса. Если он участник только основной сети, то получив адрес из резервной он пошлет пакет шлюзу и получит доступ. Но шлюз при этом должен быть (читай - маршрутизатор).


Quote from: Илья on 07 September 2020, 12:44Правильно ли я понял, что если DC01 и DC02 будут на виртуалках, которое крутятся на AS01 (входит в домен) и AS02 (входит в домен) - это очень плохо.

Да нет, на практике гипервизор обычно взлетает и без домена, но такая конфигурация является нерекомендуемой самими MS.

Поэтому лучше иметь один контроллер на железе или на виртуалке, гипервизор которой не входит в домен.

Илья

Огромное спасибо за комментарии к моим вопросам.
На данный момент тему можно закрыть.
Возможно вернусь к ней когда придут "полевые" работы, но уже с более практическими вопросами.