Мені справді потрібно знати це для сервера Linux, але оскільки це стосується і клієнтських ОС, я зрозумів, що тут слід ставити питання замість помилки сервера.
Мені справді потрібно знати це для сервера Linux, але оскільки це стосується і клієнтських ОС, я зрозумів, що тут слід ставити питання замість помилки сервера.
Відповіді:
Відповідно до відповідей на це повідомлення до списку розсилки linux-net ,
Звичайно, прив'язка великої кількості псевдонімів до одного пристрою пред'явить вимоги до пам'яті та може мати наслідки для продуктивності, тому цілком можливо, що ваше обладнання може обмежити кількість псевдонімів, які ви можете додати, навіть якщо саме ядро цього не робить.
eth0:0
) чи ні, він все ще псевдонім. Зрозуміло, автори ip(8)
сторінки man вирішують не використовувати термін "псевдонім", оскільки він розглядає всі адреси як рівні, майже весь решта світу погоджується з тим, що присвоєння декількох адрес одному інтерфейсу називається "Псевдонім IP".
Більше, ніж вам коли-небудь може знадобитися. Використовуйте ip addr add
для додавання адрес до інтерфейсу.
Максимум - 4 294 967 294 IP-адреси (якщо ви говорите про IPV4, у вас достатньо оперативної пам’яті, і ми витягуємо одну для широкомовної адреси та одну для мережевої адреси).
Ядро Linux має функцію під назвою AnyIP, яка дозволяє відповідати за суміжний блок IPv4 або IPv6 адрес через ваш інтерфейс для зворотного зв’язку Linux за дуже невеликі витрати в DRAM / CPU.
Наприклад, припустимо, що я хочу, щоб моя машина Linux відповідала за будь-яку адресу в 10.7.0.0/16:
ip -4 route add local 10.7.0.0/16 dev lo
Вітаємо, тепер ви відповідаєте за величезну кількість адрес (понад 65 000 у цьому прикладі), і ваше споживання оперативної пам’яті практично нічого з цього вправи. Щодо масштабованості, це рішення набагато краще, ніж додавання окремих псевдонімів інтерфейсу на eth0 для всіх IP-адрес, на які ви хочете відповісти.
Немає обмежень на кількість адрес, за які можна відповісти.
ip addr add
може прив’язати адреси до одного пристрою.