Iptables - Разрешение только единственного dhcp (реле) клиента

Вы могли служить своим веб-сайтам от раздела, смонтированного в Linux с набором перевода имени файла к нечувствительному к регистру.

При использовании vfat (fat32) файловая система на Linux, можно смонтировать его следующим образом

$ mount -t vfat /dev/XXX /var/windows/websites

Любое имя файла внутри/var/windows/websites будут рассматривать тот же путь, как окна делают.

1
задан 27 October 2010 в 04:58
2 ответа

Так как это появляется это netfilter (iptables) не является эффективным для фильтрации широковещательных сообщений DHCP, попытайтесь использовать ebtables, инструмент Linux для фильтрации на более низком уровне, кадров Ethernet. У меня нет прямого опыта реального мира с ebtables, но краткое прочтение страницы справочника предполагает, что что-то как следующее может быть эффективным при Вашем случае:

ebtables -A INPUT --protocol ipv4 --ip-proto udp --ip-src \! 172.1.1.1 --ip-dport 67 -j DROP

Это должно заставить ядро Linux отбрасывать все кадры Ethernet, которые содержат IPv4 пакеты UDP, которые не являются от 172.1.1.1 и предназначены для порта 67.

1
ответ дан 4 December 2019 в 01:53
  • 1
    Спасибо, это выглядит довольно многообещающим! Я дам этому попытку через следующие несколько дней. –  Cory J 27 October 2010 в 23:17

Он не работает на чистом IP-уровне, нужно знать, как работает DHCP:

  • Сначала DHCP-клиент посылает пакет (DHCPDISCOVER) от 0. 0.0.0 - 255.255.255.255 (локальный широковещательный адрес)

  • DHCP сервер будет предлагать IP адрес (DHCPOFFER); в терминах iptables, это будет пакет с адреса DHCP сервера, а также направленный на локальный широковещательный адрес 255.255.255.255. Фрейм ethernet адресуется по MAC-адресу клиента DHCP.

  • Клиент DHCP выбирает из любых предложений, посланных по их MAC-адресу ethernet и посылает DHCPREQUEST на сервер DHCP; для iptables это еще один пакет из 0.0.0.0 и все еще нацеленный на локальный широковещательный адрес 255.255.255.

  • Сервер DHCP распознает назначение IP-адреса (DHCPACK). Результирующий IP-пакет получен с IP-адреса DHCP-сервера, IP-адрес назначения - еще раз 255.255.255.255, адрес кадра ethernet будет адресован MAC-адресу DHCP-клиента.

  • Когда DHCP-клиент хочет обновить аренду DHCP-аренды, он посылает другой DHCPREQUEST с 0.0.0.0 до 255.255.255.255 и запрашивает текущий IP-адрес. Он будет делать это до тех пор, пока DHCP-аренда не закончится, откуда снова начнётся DHCPDISCOVER.

Так что, скорее всего, вы ищете что-то подобное:

iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx:xx:xx -p udp --dport 67 -j ACCEPT iptables -A INPUT -p udp --dport 67 -j DROP

Это удалит все dhcp-запросы, направленные на ваш сервер, которые не исходят от указанного MAC.

Проблема также может быть решена на другом уровне: удалите пул IP-адресов с DHCP-сервера и назначьте статические маппинги только для ваших соответствующих MAC-адресов. Таким образом, DHCP сервер не будет отвечать никому из перечисленных и будет назначать IP адреса только известным хостам.

.
0
ответ дан 4 December 2019 в 01:53

Теги

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