Задать вопрос
@BadAI

Можно ли настроить на linux одновременно DHCP сервер и клиент на одном физическом интерфейсе?

Есть Linux на ARM плате с одной сетевухой и свич.
Можно ли в линуксе настроить одновременно dhcp-сервер и dhcp-клиент?
Чтобы, если плата подключается к роутеру через свич, то она была клиентом. Необходимо для периодического соединения с интернетом.
Так же через тот же свич к плате должно подключаться несколько клиентов. Чтобы в этом случае linux раздавал им ip-адреса.
  • Вопрос задан
  • 4305 просмотров
Подписаться 2 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 4
@Isealine
Без проблем. Работают в разных подсетях и не мешают друг другу. Практически все домашние и недорогие роутеры представляют из себя маршрутизатор на ножке (или как зовут матёрые сетевики - гавно на палочке). Там один управляемый сетевой интерфейс и простенький свитч:
Так же через тот же свич к плате должно подключаться несколько клиентов. Чтобы в этом случае linux раздавал им ip-адреса.
Ответ написан
@lightmanua
Ну выходит что в одноранговой сети будет 2 dhcp сервера. Если каждый их них будет выдавать только статику - проблем не будет. Если же они должны будут работать с незнакомыми устройствами - проблемы не заставят себя ждать.
Ответ написан
Комментировать
@BadAI Автор вопроса
Самое простое решение: всем дать статический ip (и arm плате, и клиентам, подключаемым к ней). В таком случае и с роутером и без роутера всё будет работать.
Ответ написан
Комментировать
@NoShock
Ошибка, судя по всему, в вопросе: выход в интернет происходит через шлюз. В Вашем случае это, как Вы назвали, "свич". Комбо-устройство, объединяющее в себе функции коммутатора (свича, соединителя портов по установленным правилам), шлюза (межсетевого экрана), маршрутизатора (роутера).
Для выхода в интернет важен адрес шлюза (gateway), указанный в настройках устройств. Эти настройки в случае dhcp-клиента получаются от dhcp-сервера (не важно, на каком из устройств он реализован). Важен адрес шлюза.
Поэтому, адрес шлюза ("свича") в локалке ОБЯЗАТЕЛЬНО делаете статичным (можете указать его ручками, можете в таблице dhcp-сервера) и указываете этот адрес в поле "gateway" (/шлюз) настроек dhcp-сервера, а также устройств с ручным вводом настроек.

Теперь по поводу двух dhcp-серверов в одной локалке.
В описанном Вами варианте, если у обоих серверов одноранговая сеть будет общая и диапазон назначаемых IP-адресов будет общий, Вы получите бесконечные конфликты устройств с одинаковым IP, назначенным разными серверами.
Если диапазоны назначаемых IP-адресов будут разными, то возможны два варианта: назначение двух разных диапазонов адресов в границах одной сети (например, 192.168.0.1/24 (где "/24" - оно же "маска подсети 255.255.255.0) подразумевает 254 ip-адреса. Можно их разделить между двумя серверами.) Клиенты будут цепляться к любому по принципу "кто первый встал...". Второй, каждый сервер создаёт свою сеть (например, 192.168.0.1/24 и 192.168.1.1/24), шлюз (IP-адрес "свича") указываем один и тот же (он же у вас один). В этом вариант хаотичный принцип "тапки первого" сохраняется, но клиенты двух сетей не видят друг друга. Если первый ещё можно притянуть за уши "в целях отказоустойчивости", то второй (в случае хаоса) бессмысленный.
Итого: в настройках "свича" прописываем статику внутри диапазона одноранговой сети сервера, dhcp-сервер один (хотите на ARM, делайте на нем), в его настройках поле "gateway" (или "шлюз") указываем адрес "свича".
Пример: адрес "свича" - 192.168.67.1, маска подсети /24 (или 255.255.255.0), настройки dhcp-сервера на ARM-плате: диапазон адресов 192.168.67.21-192.168.67.254 (первые 20 оставим под статику), маска подсети -/24, gateway - 192.168.67.1

Сценарий поинтереснее:
Шлюзом указываем малинку, на нее ставим DNS-сервер (есть статьи на эту тему), DNS-сервером тоже указываем малинку, для малины шлюзом указываем "свич".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы