Назначить всю подсеть IPV6 локальному хосту

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

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

2 ответа

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

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

Короче, вам нужно три вещи:

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