Какое максимальное количество IP-адресов может быть назначено данному компьютеру?


13

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

Ответы:


16

Согласно ответам на этот пост в список рассылки linux-net ,

  • В какой-то момент ядро ​​Linux имело ограничение в 255 псевдонимов на каждое физическое интерфейсное устройство.
  • Начиная с версии ядра Linux 2.2 (практического) ограничения нет, второй ответ ссылается на личный опыт, связанный с добавлением более 5000 адресов к одной сетевой карте Ethernet.

Конечно, привязка большого количества псевдонимов к одному устройству налагает требования к памяти и может влиять на производительность, поэтому вполне возможно, что ваше оборудование может ограничить количество псевдонимов, которые вы можете добавить, даже если само ядро ​​этого не делает.


Для этого не нужно создавать псевдонимы; ip addr addможно привязать адреса к одному устройству.
Игнасио Васкес-Абрамс

3
Да, и это делается путем наложения дополнительных адресов на том же устройстве. Независимо от того, назван ли псевдоним ( eth0:0) или нет, это все равно псевдоним. Конечно, авторы ip(8)справочной страницы решили не использовать термин «псевдоним», поскольку он рассматривает все адреса как равные, в значительной степени весь остальной мир согласен с тем, что присвоение нескольких адресов одному интерфейсу называется «псевдонимом IP».
Дейв Шерохман

1
В какой-то момент мне потребовалось назначить множество адресов IPv6 одному узлу, и как только я достиг около 4000 адресов, обнаружение соседей прервалось. Точное количество адресов, необходимых для взлома обнаружения соседей, несколько варьировалось между экспериментами, но всегда было достаточно близко к 4000.
kasperd


3

Максимальный размер - 4 294 967 294 IP-адреса (если вы говорите о IPV4, у вас достаточно ОЗУ, и мы берем один для широковещательного и один для сетевого адреса).


0

Ядро Linux имеет функцию под названием AnyIP которая позволяет вам отвечать за непрерывный блок адресов IPv4 или IPv6 через интерфейс обратной связи linux за очень небольшую стоимость в DRAM / CPU.

Например, предположим, что я хочу, чтобы моя машина linux отвечала на любой адрес в 10.7.0.0/16:

  • В системе Linux добавьте локальный маршрут: ip -4 route add local 10.7.0.0/16 dev lo
  • Попросите сетевых инженеров объявить маршрут для 10.7.0.0/16, указывающий на адрес eth0 машины, с которой вы это сделали.

Поздравляем, теперь вы отвечаете за огромное количество адресов (более 65 000 в этом примере), и ваше потребление ОЗУ практически не зависит от этого упражнения. С точки зрения масштабируемости это решение намного лучше, чем добавление индивидуальных псевдонимов интерфейса на eth0 для всех IP-адресов, за которые вы хотите отвечать.

Нет ограничений на количество адресов, на которые вы можете ответить, как это.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.