Назад | Перейти на главную страницу

Может ли DHCP-сервер Windows обслуживать область, в которую он не входит?

Ситуация

У меня есть коробка Windows SBS 2008, работающая как DC / DNS / DHCP / Exchange / File Server в сети на 192.168.1.0/24. Достаточно сказать, что IP-адрес SBS-бокса неизменен. В какой-то момент в прошлом мой предшественник здесь пытался запустить 2 сетевых адаптера с 2 IP-адресами на нем (что очень не поддерживается), и с тех пор попытка изменить любое из свойств сети приводит к синему экрану при запросе перезапуска - нам приходилось восстанавливать из снимков, когда это происходит, похоже, нет никакого способа обойти это.

Недавно мы начали проект по избавлению от SBS и построению настоящего домена 2008/2012 (tbd) с 2 контроллерами домена, отдельной виртуальной машиной для Exchange, одной для общих файловых ресурсов и т.д. и т.д. (ура!), Но предварительным условием является переход на новый IP Scope (мы будем использовать VPN с головным офисом, что позволит нам перенести многие из этих сервисов в их сеть).

Это оставляет меня в некотором роде липкой ситуации - мне нужно получить маршрутизаторы, рабочие станции, терминалы ... почти все в сети, ЗА ИСКЛЮЧЕНИЕМ DC / DNS / DHCP / Exchange / файлового сервера, в другую область, сохраняя при этом соединение с ними. службы, работающие на SBS, который должен оставаться на 192.168.1.0/24.

Еще одна сложность в этом вопросе - у нас здесь 2 шлюза. Один используется SBS, другой ... почти все остальное - это позволяет трафику SMTP и HTTPS извне попадать в него.

План

Хорошо, вот что я планирую сделать - я установил виртуальную машину с минимальной установкой Ubuntu 12.04 и сетевой картой в каждой области сети. У него есть статические маршруты, настроенные для доступа к каждой сети на соответствующем интерфейсе, и я планирую протолкнуть другой маршрут через DHCP, позволяя клиентам в разных областях связываться друг с другом путем маршрутизации через окно Linux.

Так, например, у меня есть маршруты:

Клиент на 10.0.0.20

destination 192.168.1.0 mask 255.255.255.0 gateway 10.0.0.10 interface 10.0.0.20

Маршрутизатор Linux с версиями 10.0.0.10 и 192.168.1.10

destination 192.168.1.0 mask 255.255.255.0 gateway 0.0.0.0 interface 192.168.1.10

destination 10.0.0.0 mask 255.255.255.0 gateway 0.0.0.0 interface 10.0.0.10

DC в 192.168.1.200

destination 10.0.0.0 mask 255.255.255.0 gateway 192.168.1.10 interface 192.168.1.200

В то же время я перенесу интернет-шлюз, который в настоящее время используется всеми (а не тот, который настроен для DC), в сеть 10.0.0.0/24, поэтому клиенты 10.0.0.0/24 имеют шлюз по умолчанию в своей области, а Клиенты 192.168.1.0/24 (на самом деле только DC) имеют в своей области шлюз по умолчанию (на данный момент единственные оставшиеся вещи в сети 192.168.1.0/24 - это DC и его шлюз).

Вопрос

Да, я собираюсь кое-что спросить! Я хочу подтвердить, может ли DC обслуживать этих клиентов DHCP, находясь в другой области. Исследования привели меня Вот, который, кажется, предполагает, что в одном случае это невозможно без DHCP-сервера ретрансляции (при условии, что я правильно анализирую «сетевой сегмент» как достаточно аналогичный подсети), но также упоминает Super Scope, что звучит так, как будто это МОЖЕТ решить проблему (поскольку он назначает адрес любым устройствам за пределами других областей ... я думаю).

Мне кажется, что когда клиент запрашивает адрес, у него все равно нет адреса, так как же он может определить, находится ли он в том же «сегменте сети», что и DC?

Чтобы уточнить в формате TL; DR - могу ли я обслуживать адреса 10.0.0.0/24, а также другие сетевые свойства, такие как статические маршруты, DNS и шлюзы по умолчанию, клиентам с DHCP-сервера, расположенного по адресу 192.168.1.200/24? Нужно ли мне для этого использовать Superscope?

Также, если вы видите другие проблемы с моим планом, пожалуйста, не молчите!

Дополнение

Используя инструмент DHCP-helper, предложенный @ HopelessN00b, я смог добиться этого довольно гладко! Несколько вещей были проблемными -

@ us10610 хотел узнать конфигурацию, которую я использовал в Linux для DHCP-Helper - это было ужасно просто - /etc/default/dhcp-helper содержит одну строку, которую я изменил по умолчанию: DHCPHELPER_OPTS="-b eth1"

eth1 сетевой адаптер, который разделяет подсеть с DHCP-сервером. Затем он с радостью принял DHCP UDP от другого сетевого адаптера и транслировал их на eth1

Вы можете абсолютно использовать DHCP-сервер для обслуживания области, в которую он не входит, если трафик может течь между двумя подсетями.

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

И я проверил, прежде чем ответить; это возможно в системах Linux (и Ubuntu), используемых в качестве коммутаторов или маршрутизаторов, хотя я не уверен в точном синтаксисе и / или в том, какие дополнительные пакеты вам могут понадобиться для этого. Тем не менее, я нашел эту страницу, на которой предлагается программа и способы ее использования, так что это может быть хорошим местом для вас.

В сети с несколькими сегментами вы используете «IP-помощник» для реализации направленной трансляции на DHCP-сервер. «Помощник» реализован на границе уровня 3 (маршрутизатор, SVI ...) и требуется для каждого отдельного сегмента.

Я не уверен в синтаксисе на маршрутизаторе Linux, но на многоуровневом коммутаторе или маршрутизаторе Cisco это будет;

Interface vlan 1099

ip address 10.10.99.1 255.255.255.0

ip helper address 10.10.1.254 (*dhcp server address)

Удачи и, пожалуйста, опубликуйте синтаксис linux, поскольку я хотел бы знать, как он работает :)