![]() |
Проблема с DHCP (корпоративная сеть)
Настроили Windows Server 2012 R2 — DHCP (ver. 6.3), на котором создали два пула: 192.168.2.0 и 192.168.3.0
В сети у нас есть два вилана. Во втором вилане — сеть 192.168.2.0, в третьем — 192.168.3.0, соответственно. В каждой сети настроен DHCP-relay. Во втором вилане ip-адрес DHCP-релея — 192.168.2.1, в третьем — 192.168.3.1. При включении компьютера в сеть 192.168.2.0, DHCP-клиент запрашивает ip-адрес и идет процесс DHCPDISCOVER - DHCPOFFER - DHCPREQUEST - DHCPACK. DHCP-сервер в поле GIADDR видит, что запрос пришел от DHCP-релея 192.168.2.1 и выдает ip-адрес из соответствующего пула, то есть компьютер получает ip-адрес 192.168.2.2. Далее, если мы подключаем этот же компьютер в сеть 192.168.3.0, то при включении компьютер в запросе DHCPREQUEST потребует свой предыдущий ip-адрес — 192.168.2.2. DHCP-сервер при этом, получив запрос, не смотрит от какого DHCP-релея он пришел, то есть проигнорирует поле GIADDR и сразу отдаст требуемый ip. То есть компьютер, находясь в сети 192.168.3.0 получит ip 192.168.2.2. Если при этом в командной строке компьютера последовательно прописать ipconfig /release, ipconfig /renew, то компьютер начнет цепочку получения ip-адреса, с DHCPDISCOVER, но при этом в option 50 запросит опять все тот же 192.168.2.2. DHCP-сервер так же проигнорирует GIADDR и выдаст требуемый, неверный для этой подсети ip-адрес. Если до того, как компьютер станет запрашивать 192.168.2.2 забиндим этот адрес на DHCP-сервере, то сервак, поняв, что этот ip он предоставить не может, по всей видимости, задастся вопросом, а из какого пула собственно выдавать новый ip, тогда он проверит поле GIADDR и увидит там 192.168.3.1, найдет пул 192.168.3.0 и выдаст 192.168.3.2 Решение проблемы видится в исправлении логики работы DHCP-сервера, либо в принуждении его игнорировать option 50. Как это можно реализовать? |
Время: 00:47. |
Время: 00:47.
© OSzone.net 2001-