Как заблокировать трафик DHCP с помощью iptables

Сначала позвольте мне описать свою среду:

  • Существует VM (CentOS) действующий как шлюз
  • Шлюз VM имеет к NICs, eth0 подключения к сети общего пользования, eth1 подключения к частной сети
  • eth0 получают IP от сервера DHCP сети общего пользования
  • Шлюз содержит сервер DHCP, который предлагает IP частной сети через eth1
  • Так как частная сеть должна получить доступ к сети общего пользования, NAT включен на шлюзе, VM, и таким образом ip_forward установлен на 1 на шлюзе VM.

Теперь проблема, с которой я сталкиваюсь, когда я развертываю новый VM в сети общего пользования, VM получает IP от VM's шлюза сервер DHCP. Но сервер DHCP шлюза должен только предложить IP частной сети.

Как препятствовать тому, чтобы сервер DHCP шлюза предложил IP сети общего пользования?

0
задан 4 June 2015 в 10:13
2 ответа

Если вы перезапустили свой DHCP-сервер уже после DHCPDARGS = eth1, но проблема все еще существует, вам нужно что-то сделать, чтобы найти причину проблемы.

  1. Проверьте, действительно ли DHCP работает на eth0. Например, с помощью netstat -tulpn. Если он все еще работает на eth0 - проблема с настройкой DHCP-сервера.

  2. Если нет, проверьте виртуальную машину, откуда он получает IP. Например:

    меньше /var/lib/dhcp3/dhclient.leases

    https://unix.stackexchange.com/q/44376/40594

Как писал fukawi2, возможно, ваша конфигурация DHCP в порядке, это подключены / соединены только ваши общедоступные и частные сети?

Опять же, сколько хостов у вас в "общедоступной" сети? Их конфигурация теперь тоже испорчена, так как у вас там 2 DHCP-сервера? Если одна виртуальная машина получает IP-адрес от неправильного DHCP, у других узлов должна быть аналогичная проблема.

1
ответ дан 4 December 2019 в 11:48

DHCP использует широковещательный трафик для процесса обнаружения. Маршрутизаторы НЕ пересылают широковещательный трафик.

Если ваша виртуальная машина на «внутренней» стороне / eth1 вашего маршрутизатора получает аренду от вашего модема / маршрутизатора на «внешней» стороне / eth0, то у вас есть мост где-то между двумя сетями. ; либо ваш «маршрутизатор» на самом деле является мостом (у вас есть интерфейс с именем br0 или аналогичный на маршрутизаторе?), либо вы используете тот же коммутатор, что-то исправлено неправильно и т. д.

EDIT : Я только что перечитал ваш вопрос и, возможно, неправильно понял. Вы хотите, чтобы клиенты в «общедоступной» сети не получали аренду от DHCP-сервера в этой сети, но этот сервер НЕ является вашим сервером «шлюза»?

3
ответ дан 4 December 2019 в 11:48

Теги

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