News:

UNIX прост. Но надо быть гением, чтобы понять его простоту. Деннис Ритчи

Main Menu

Ретрансляция DHCP адресов в Debian, на шлюзе.

Started by Призрак, 28 May 2019, 09:15

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

Призрак

Имеется шлюз на Debian, с двумя сетевыми картами.

INTERNET enp1s0
XX.XXX.217.166
255.255.255.252
XX.XXX.217.165

LAN enp2s0
192.168.60.1
255.255.255.0

Также на сервере есть подключение по OpenVPN к сети 192.168.10.0, где есть контроллер домена (нет смысла создавать контроллер домена в сети 60.0, по следующей причине - там работает очень мало людей, в общежитии, за компьютерами - читальный зал, вахта, комендант общежития и заведующий общежития, студенты все в компетенции провайдера).

Также на сервере установлен isc-dhcp-server, который раздаёт адреса из диапазона 192.168.60.0, в том числе и DNS сервера, 192.168.10.12 и 192.168.10.13, это нужно для того, чтобы пользователи авторизовались в AD, имели доступ к внутренним ресурсам, а также получали почту (192.168.10.4 - server-gw-mail).

Мне это не совсем нравится, хотелось бы, чтобы из назначенного диапазона 60.0 получали клиенты адреса не с Debian, а с контроллера домена, то есть, чтобы при изменении имени компьютера обновлялись соответствующие DNS записи. Это позволило бы централизованно управлять антивирусными приложениями, и, наконец, навести порядок. Как я понял, на контроллере домена нужно создать дополнительную область, в DHCP, 60.0, но не приведёт ли это к отказу сети? Мне нужно, чтобы получали из диапазона 60.0 адреса только клиенты за шлюзом Debian, в общежитии!


Уваров А.С.

DHCP-relay решит эту проблему. Для Debian можно взять пакет isc-dhcp-relay.

Призрак

Так поясните, ретрансляцию мне надо на AD настраивать или на Debian всё - таки? Подсеть у клиентов будет 10 или 60? Так то мне важно, чтобы сеть не менялась, просто чтобы DHCP раздавал эти адреса от AD, а не от Debian.

Уваров А.С.

Кажется уже обсуждали этот вопрос, с подробными пояснениями: https://interface31.ru/forum/index.php?topic=186.0

Призрак

Это была тема про Windows. Какие пояснения? Я только начал радоваться, что мне помогают.

Уваров А.С.

Это была тема про DHCP-relay и пока вы не будете понимать что там написано, дальше идти не следует, потому как надо хоть немного представлять как это работает, прежде чем браться за внедрение. Хотя настроек у isc-dhcp-relay строки на три, но без понимания сути будет опять "ничего на работает, разработчики дураки, софт плохой".

Призрак

Вот я теперь по настоящему рассердился. Не надоело мне тыкать? Опять мы в теорию полезли. Я знаю, как работает DHCP. Мне непонятна лишь ретрансляция, как её нужно сделать, чтобы не положить всю сеть. То же самое меня беспокоит на микротике. Удивляют люди, которые читают километровые маны, чтобы что-то сделать. А работать когда?

Призрак

Тем более, я уже говорил в той теме, что если я добавлю ещё одну область, то я сломаю сеть! Сеть будет напоминать огромный нужник, вперемешку с 10 подсетью полезет 60. Мне оно надо, потом Авгиевы конюшни разгребать, если что-то пойдёт не так? Насчёт схемы, какая схема? Я уже описал всё как есть, мне нужна просто "дырка" на шлюзе Debian, через которую полезут адреса, что тут такого?

Уваров А.С.

Quote from: Призрак on 28 May 2019, 21:32Опять мы в теорию полезли.

Именно. Теория без практики - шаманские камлания с бубном.

Quote from: Призрак on 28 May 2019, 21:32Я знаю, как работает DHCP.

Не знаете, иначе бы знали что такое DHCP Relay и как он работает. Тем более мы этот вопрос уже обсуждали.

Quote from: Призрак on 28 May 2019, 21:32Мне непонятна лишь ретрансляция, как её нужно сделать, чтобы не положить всю сеть.

Поэтому и я говорю - начните с теории. DHCP Relay - штука простая, настроек там по пальцам одной руки пересчитать можно. Если вы будете понимать что это такое и как работает - то без труда настроите ее на любом устройстве, будь то Windows, Linux, Mikrotik или какой-нибудь роутер.

Quote from: Призрак on 28 May 2019, 21:32Удивляют люди, которые читают километровые маны, чтобы что-то сделать.

А меня удивляет, что это пишет человек, работающий в ВУЗе. Может и учиться тоже не надо? Зачем пять лет штаны протирать? Школа рабочей молодежи и к станку!

Если не хотите читать, то:

apt install isc-dhcp-relay
В конфиге ровно три опции, заполняем две, что туда писать указано английским по белому:

# What servers should the DHCP relay forward requests to? (адрес сервера)
SERVERS="192.168.x.x"

# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests? (интерфейс на котором обслуживаем DHCP-запросы)
INTERFACES="ethx"

# Additional options that are passed to the DHCP relay daemon?
OPTIONS=""

При понимании того, что вам надо, даже гуглить не придется. Пакет я вам написал еще в начале темы.

Уваров А.С.

Quote from: Призрак on 28 May 2019, 21:50Тем более, я уже говорил в той теме, что если я добавлю ещё одну область, то я сломаю сеть!

С чего бы вдруг?  Еще раз внимательно перечитайте https://interface31.ru/forum/index.php?topic=186.msg1400#msg1400
Там все написано и нарисовано.

Призрак

Я прочитал, "на маршрутизации настраиваем", имеется в виду оснастка маршрутизация и удалённый доступ? И почему это вы думаете, что я сеть не сломаю? Ведь на одном интерфейсе будут два пула. И да, то ли я опечатку сделал, то ли как - адрес основного сервера 192.168.10.12, а 192.168.10.1 это адрес шлюза.

Призрак

Не понял это видео.

https://www.youtube.com/watch?v=RbKpn_aOisY

У товарища всё через одно место. Если этот шлюз, то нахрена создавать область для wan? Ужас.

Уваров А.С.

Quote from: Призрак on 28 May 2019, 22:08Я прочитал, "на маршрутизации настраиваем", имеется в виду оснастка маршрутизация и удалённый доступ?

Имеется ввиду маршрутизатор - устройство которое маршрутизирует трафик в нужную сеть и имеет в ней физический интерфейс.

Quote from: Призрак on 28 May 2019, 22:08Ведь на одном интерфейсе будут два пула.

Да хоть десять. Главное чтобы на физическом интерфейсе у вас не было адресов из этих сетей. Там же написано как это работает и почему ничего не сломается.

Призрак

Quote from: Уваров А.С. on 28 May 2019, 22:23Да хоть десять. Главное чтобы на физическом интерфейсе у вас не было адресов из этих сетей. Там же написано как это работает и почему ничего не сломается.

У товарища в видео два интерфейса. И вы хотите сказать, что если у меня нет в этой сети, 192.168.10.0 адреса 192.168.60.0, на этом же шлюзе, то я могу быть спокоен, что ничего из этого не сломается? Что адреса из этого диапазона не будут выдаваться сети, которая имеет адреса 192.168.10.0?


Призрак

Ну хорошо, допустим я сделал следующее:

1. Создал в DHCP область, 192.168.60.0.

2. Настроил, как в видео, ретрансляцию на интерфейс (кстати, выбирать белый адрес или серый? Карту, которая смотрит в Интернет или внутрь? Я думаю, что ту, которая в Интернет? А вообще я запутался. Там же виртуальные ещё есть).

Дальше то что? Как сделать так, чтобы Debian подхватил эти адреса? Установить пакет isc-dhcp-relay и произвести его настройку? С указанием сервера?

Уваров А.С.

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

1. Создали, ОК.

2. Обслуживать запросы из интернета? Мда... Забудьте про "ретрансляцию" и прочие телодвижения на сервере. Не надо больше ничего делать.

3. Настроить isc-dhcp-relay, опций две, запутаться сложно.

Призрак

Я прошу прощения, но я искал информацию по dhcp-relay в интернете, мало что нашёл. Из всего я понял, что мне нужно сделать следующее:

1. На DHCP сервере создать зону, 192.168.60.0, настроить её. Это я уже сделал, сделав её пока неактивной. Хотел спросить, её без разницы на каком КД создавать? Я решил на том, который территориально ближе и находится в сети 192.168.30.0. При этом сервер OpenVPN находится в сети 192.168.10.0, который дальше.

2. Установить и настроить пакет, isc-dhcp-relay, указав две опции, как мне советовали.

2.1. DHCP сервер 192.168.30.2 (а можно ещё указать 192.168.30.3, если да, то как? Я собрался разделять зону между 30.2 и 30.3).

2.2. Интерфейс, через который будет происходить релей, в данном случае это enp2s0, то есть тот, который внутренний, 192.168.60.0

2.3. Здесь я слышал про какие - то опции, но так и не нашёл, что они значат. Это -a -D. Что вообще за опции?

А что-нибудь надо будет открывать в брандмауэре или нет?

Дело серьёзное, я боюсь ошибиться.

Уваров А.С.

1. Да

2.1 - 2.2 Да, через пробел

2.3 - это DHCP-опции, не знаете - не трогайте.

Quote from: Призрак on 08 June 2019, 21:50А что-нибудь надо будет открывать в брандмауэре или нет?

67 UDP


Призрак

Quote from: Уваров А.С. on 08 June 2019, 22:222.3 - это DHCP-опции, не знаете - не трогайте.

Я просто хочу узнать. Я, конечно, не буду трогать.



Призрак

Релей настроил, всё работает, адреса добавляются. Но почему - то они в DNS не обновляются, когда как пользователи в Active Directory, они входят под доменными учётными записями. Должны обновляться?

Уваров А.С.

Quote from: Призрак on 09 June 2019, 22:55Но почему - то они в DNS не обновляются, когда как пользователи в Active Directory, они входят под доменными учётными записями.

А причем здесь пользователи? Смотрите настройки динамического обновления на DNS-сервере.

Призрак

Нет, не работает. Порт  открыл, выключал уже брандмауэры, антивирусы, всё к бестолку. В арендованных на Windows не появляется, в логах пусто, с той и с другой стороны. На Дебиан пробую ввести команду, один фиг, не работает. Придётся вернуться к старой схеме, к сожалению. Дома на полигоне придётся опять мучить. Всё видится, всё резолвится, вручную адрес назначаю, есть подключение. Как релей включаю, нет, к бестолку всё. Дико бесит.

Уваров А.С.

А не беситься надо, возьмите в руки любой анализатор трафика, тот же Wireshark, на Дебиане есть tcpdump и посмотрите что там у вас происходит. Протокол DHCP очень простой.

Призрак

Ну включил наблюдение. Рябит в глазах, мелькает, ничего не ясно. Сейчас посмотрю как 67 порт посмотреть открыт или нет.

Уваров А.С.

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

Призрак

Хорошо, я подумаю, как. Учитывая то, что там тысяча и одна строчка мелькает на экране.

Призрак

Всё посмотрел, не вижу, чтобы что-то шло. Какой - то идиотский трафик идёт, в основном, по видеонаблюдению, а с dhcp не идёт вообще связь, хоть что делай. Порты уже открыл, 67, как вы посоветовали. Злит то, что в интернете есть связка linux-linux, а linux-windows нет.

ival

tcpdump -i enp2s0 host <ip адрес машины из сети> and portrange 67-68 >> /tmp/dhcpDMP
Дайте посмотреть

Уваров А.С.

А на хосте при записи дампа выполнить:

ipconfig /release
ipconfig /renew

чтобы точно запросы были

Призрак

Так как пока на боевом сервере опасно что либо настраивать, я создал там простой DHCP. Но это пока. Я развернул вновь виртуальный полигон дома на VMWare Workstation. Схему могу нарисовать позже, конфигурацию OpenVPN приводить не буду, это лишнее, думаю, в этой теме. Контроллера домена нет, обязательно должен быть, для релея? Если да, то создам.

OpenVpnServer (на нём же область DHCP для релея 192.168.1.0)

internet 192.168.12.21 gate 192.168.12.1 dns 192.168.12.1 (виртуальная сеть bridged)

lan 192.168.0.1 (виртуальная сеть vmnet3 192.168.0.0)

OpenVPN 10.8.0.1


OpenGate1Linux (на нем же релей со следующими настройками - сервер 192.168.0.1 карта ens34)

ens33 192.168.12.22 gate 192.168.12.1 dns 192.168.12.1 (виртуальная сеть bridged)

ens34 192.168.1.1 (виртуальная сеть vmnet4 192.168.1.0)

OpenVPN 10.8.0.2


Client

lan по идее ставлю изначально 192.168.1.5 gate 192.168.1.1 dns 192.168.12.1 (виртуальная сеть vmnet4 192.168.1.0)

Все адреса прекрасно пингуются между собой, везде и отовсюду, клиент выходит в Интернет. Основа (сеть 192.168.12.0) микротик.

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


Quote from: ival on 13 June 2019, 14:39tcpdump -i enp2s0 host <ip адрес машины из сети> and portrange 67-68 >> /tmp/dhcpDMP
Дайте посмотреть

В данном случае я пытаюсь ввести команду, для интерфейса

tcpdump -i ens34 host <ip адрес машины из сети> and portrange 67-68 >> /tmp/dhcpDMP
Пробовал и для 192.168.0.1 и для 192.168.1.1 бесполезно, пакетов 0, дамп пустой.

Может надо на микротике что прописывать? Или, на боевом сервере, на шлюзе? Брандмауэры пока отключил, в том числе на микротике, бесполезно. Пакеты не идут, релей не работает. Статус службы релея на linux active.


Уваров А.С.

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

Призрак

А, то есть через OpenVPN в другую подсеть релея нету? Ну, если это так, так бы и сказали сразу, а то вот, наворотил. Навортил то наворотил, но работает всё, кроме релея. Можете убедиться сами, собрав полигон. Придётся, видимо, пытаться dhcp и dns на линуксе авторизовывать в ad и раздавать так.

Уваров А.С.

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

Призрак

Хорошо, не поленился, собрал больше информации. Какие ещё нужны доказательства? Везде маршруты работают, везде всё отзывается. Я даже по RDP могу подключиться с клиента к серверу. То есть, протоколы работают. Я ещё портов добавил в брандмауэр, не помогает.