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

Назначьте всю подсеть IPV6 для localhost

У меня есть подсеть типа 2001: face: feed: beef :: / 64. Я хочу назначить их все своему серверу, не назначая вручную каждый адрес, например 2001: face: feed: beef :: [123456789abcdef] ...

В ipv4 мы можем использовать DNAT для этого, но он не имеет концепции NAT в ipv6, поэтому я хочу знать, работает ли это и есть ли какие-то обходные пути.

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

Ответил в 209203 и 236626.

Короче говоря, вам понадобятся три вещи:

  1. Статический маршрут к вашей машине (он не отвечает на NDP)
  2. Внутренний маршрут, чтобы машина знала, что она должна обрабатывать трафик.
  3. Если вы хотите иметь возможность прослушивать любой из этих адресов, вы также должны установить sysctl net.ipv6.ip_nonlocal_bind=1 (Ядро Linux> = 4.3)