Добавляя блок / 64 ipv6, работает только первый [ duplicate]

На этот вопрос уже есть ответ здесь:

У меня есть сервер Ubuntu 16.04.2 с блоком / 64 IPv6.

Если я добавляю блок, например:

ip addr add 2001:41d0:xxx:yyy::/64 dev eth2 

работает только первый:

$ curl -g http://[2001:41d0:xxx:yyy::]/
<!DOCTYPE html>...
$ curl -g http://[2001:41d0:xxx:yyy::1]/
curl: (7) Failed to connect to 2001:41d0:xxx:yyy::1 port 80: Connection timed out

Если я добавляю остальные по одному, они работают:

ip addr add 2001:41d0:xxx:yyy::1/128 dev eth2 

Что я делаю не так?


Блок также находится в / etc / network / interfaces:

iface eth2 inet6 static
    address 2001:41d0:xxx:yyy::
    netmask 64
2
задан 18 July 2017 в 20:10
2 ответа

Адрес интерфейса - это единственный адрес, хотя вы можете назначить интерфейсу несколько адресов IPv6, поэтому вы действительно добавляете 2001: 41d0: xxx: yyy :: в сети 2001: 41d0: xxx: yyy :: / 64 к интерфейсу.

IPv6 фактически позволяет использовать каждый адрес в сети в качестве адреса хоста, в отличие от IPv4, где сетевой адрес не может использоваться в качестве адреса хоста, но RFC 2373, Архитектура адресации IP версии 6 определяет произвольный адрес подсети маршрутизатора как адрес со всеми нулями для сети.

2.6.1 Требуемый произвольный адрес. Адрес

Предопределенный произвольный адрес подсети-маршрутизатора. Его формат такой следует:

 |  n бит |  128-n бит |
 + ------------------------------------------------ +  ---------------- +
 |  префикс подсети |  00000000000000 |
 + ------------------------------------------------ +  ---------------- +
 

«Префикс подсети» в произвольном адресе - это префикс, который определяет конкретную ссылку. Этот произвольный адрес синтаксически является то же самое, что и одноадресный адрес для интерфейса на ссылке с идентификатор интерфейса установлен в ноль.

Пакеты, отправленные на произвольный адрес подсети-маршрутизатора, будут доставлены на один роутер в подсети. Все маршрутизаторы должны поддерживать Адреса подсети-маршрутизатора для подсетей, которые у них есть интерфейсы.

4
ответ дан 3 December 2019 в 08:52

@Ron_Maupin дает правильный ответ, но я чувствовал, что он будет дополнен более простым:

/ 64 не означает, что весь блок назначен интерфейсу. Он назначил интерфейсу один адрес и сообщает ему, что в локальной сети есть блок / 64. Это почти всегда то, что вам нужно для интерфейса Ethernet.

/ 128 - это почти никогда то, что вам нужно для интерфейса Ethernet. Эти адреса будут недоступны из LAN.

4
ответ дан 3 December 2019 в 08:52

Теги

Похожие вопросы