Назад | Перейти на главную страницу

/ 32 подсети в Ethernet через DHCP

Можно ли назначить хосту Ethernet через DHCP маску подсети только самого хоста, например 192.168.1.123/32? Поддерживают ли обычные операционные системы такую ​​конфигурацию?

Я бы хотел, чтобы хосты отправляли весь свой трафик на маршрутизатор (а не напрямую на какой-либо другой хост в том же сегменте), но все же чтобы они могли связываться (так что никакой «изоляции клиента»); эффективное создание связи точка-точка, но без какой-либо конфигурации на стороне клиента.

Обновление: я намерен настроить домашний маршрутизатор с dd-wrt так, чтобы весь трафик проходил через стек IP на маршрутизаторе, чтобы его можно было фильтровать с помощью некоторых правил ipfilter. Я надеялся на общее решение, какой-то стандартный способ реализации двухточечных соединений Ethernet, которые по-прежнему могут быть автоматически настроены DHCP для всех обычных операционных систем.

Судя по полученным до сих пор ответам, это не кажется таким простым; Я прочитаю еще о VLAN, а затем пересмотрю свои планы.

Во-первых, для создания связи точка-точка вам нужно как минимум 4 адреса, поэтому вам придется использовать маску / 30. Например: 192.168.1.0/30

  • Сетевой адрес: 192.168.1.0/30
  • Адрес 1-й точки: 192.168.1.1/30
  • Адрес 2-й точки: 192.168.1.2/30
  • Адрес трансляции: 192.168.1.3/30

Вам нужно будет разместить каждый хост в отдельной подсети / 30 и реализовать маршрутизацию между подсетями на своем шлюзе.

Изменить: вы не слишком много пишете о своей инфраструктуре или масштабируемости, которую хотите достичь с помощью этой конфигурации. Я полагаю, ваш роутер поддерживает использование субинтерфейсов.

Кроме того, не потребуется дополнительная настройка на стороне клиента, если вы используете DHCP-сервер для распространения схемы адресации.

Использование сетевой маски / 32 (статической или предоставляемой через DHCP) является распространенной конфигурацией по умолчанию, применяемой поставщиками облачного хостинга для виртуальных частных серверов Linux.

Это делают, например, Google Compute, Rackspace Cloud, CheapVPS, 1 & 1 и Strato.

Конфигурация имеет преимущество, заключающееся в том, что она уменьшает трафик с востока на запад и широковещательный трафик, не требуя дополнительных IP-адресов инфраструктуры. Он накладывает определенные требования на «шлюз» следующего перехода, такие как отключение фильтрации обратного пути, чтобы разрешить трафику между виртуальными машинами для устройств в том же сегменте сети или хосте возвращаться обратно из входящего интерфейса.

Ручная настройка хоста Linux в стиле Debian выглядит так.

/ и т.д. / сеть / интерфейсы:

auto eth0
iface eth0 inet static
  address 123.123.82.130
  netmask 255.255.255.255
  broadcast 123.123.82.130
  up route add 123.123.92.171/32 dev eth0
  up route add default gw 123.123.92.171

Экземпляры Google Compute назначают ту же конфигурацию через DHCP, предоставляя статический маршрут хоста к шлюзу вне подсети с помощью опции 121.

Поддержка такой конфигурации зависит от сетевых сценариев дистрибутива.

Это широко распространенная поддержка (например, NetworkManager), и такая поддержка демонстрируется следующей фиксацией вездесущего инструмента сборки Dracut initramfs:

https://github.com/haraldh/dracut/commit/99ccbc30dff9fa51dd3187dc10f8f632e5e54e4b

Можно назначить все, но я сомневаюсь, что это сработает - особенно с клиентами Windows. Подход, основанный на здравом смысле, который работает с Linux, выглядит следующим образом:

  1. настроить интерфейс с адресом и правильной маской подсети
  2. удалить маршрут локальной сети
  3. добавить явный маршрут к шлюзу через интерфейс
  4. добавить маршрут по умолчанию через шлюз

Обычно требуется либо ручная настройка, либо создание сценариев на стороне DHCP-клиента, чтобы сделать все после 1.

Вы также должны убедиться, что ваш шлюз не будет отправлять Сообщения перенаправления ICMP к хостам - обычно это делается при обнаружении, что хост пытается достичь другого хоста в той же сети через шлюз (информация получается из комбинации адреса / маски подсети локального интерфейса маршрутизатора, обращенного к хосту).

Наименьший префикс IPv4, который вы можете использовать для связи с другим устройством в двухточечном канале, - это /31 префикс. Это было определено в RFC 3021, Использование 31-битных префиксов в двухточечных каналах IPv4.

Точно так же вы можете использовать /127 Сеть IPv6 для соединений точка-точка. Видеть RFC 6164, Использование 127-битных префиксов IPv6 на межмаршрутизаторных каналах.