Підмережа IPv6 a / 64 - що зламається та як обходити її?


27

У IPv6 вам не слід підмережу на щось менше, ніж на a / 64 (RFC 5375). Крім усього іншого, SLAAC не працює з меншими підмережами, і, мабуть, також будуть порушені деякі інші функції.

Які шляхи вирішення для ситуацій, коли Інтернет-провайдери дають вам єдину / 64, але вам потрібно кілька підмереж всередині? Загальна порада, здається, просто знайти іншого провайдера, який видасть / 56 чи / 48. У деяких частинах світу це може працювати, але в нашій місцевості (США) це неможливо через відсутність конкуренції. Більшість моїх клієнтів пощастило, якщо у них є один провайдер, який обслуговує їхню територію. Багато людей тут досі перебувають на комунікаціях.

Мої клієнти не можуть претендувати на власні / 48 від ARIN.


9
Я б не намагався розгорнути IPv6 за цим сценарієм. Продовжуйте натискати на провайдера, щоб забезпечити належне підключення. Зробіть свої помилки добре видимими та публічними, якщо це необхідно. Quote розділ і вірш з RFC 6177. Звичайно, ви повинні переконатися , що це їхня помилка, і що ваше обладнання запитує велику сіть.
Майкл Хемптон

5
Це теж погана порада. Враховуючи всі його переваги, більшість людей повинні розгорнути IPv6 за першої доступної можливості. На жаль, багато провайдерів влаштували повноцінний сніданок собаки за свою службу IPv6, що робить його нерозумним для використання.
Майкл Хемптон

2
Ми можемо цілий день сперечатися, чи це провайдери, які роблять з нього сніданок для собак (що вони, безумовно, робили!), Або ж дизайнери IPv6 виявилися нереальними у своїх припущеннях, що провайдери цього не робитимуть. Звичайно, я не кажу своїм клієнтам залишатися подалі від IPv6 назавжди, тільки поки пил не осідає. Я впевнений, що через п'ять років, а то й раніше, з'явиться SLAAC 2.0, який підтримує менші підмережі, поряд з NAT (багато маршрутизатори це вже реалізують), і все інше, необхідне для того, щоб IPv6 працював на тлі небезпеки. Хоча я більше шукав рішення зараз.
Кевін Кін

4
Не розраховуйте на безлад IPv4, як NAT, щоб правильно працювати з IPv6. NAT був хак, а не особливість ...
Sander Steffann

3
@KevinKeane NAT завжди був хаком і завжди буде. Кожна проблема, яку люди намагалися вирішити за допомогою NAT, має справжнє рішення, яке не передбачає NAT - але, швидше за все, це стосується IPv6. Переважна більшість зривів, про які ви говорите, можуть бути віднесені до NAT або неповного розгортання IPv6.
kasperd

Відповіді:


28

Якщо провайдер не дасть вам більше, ніж / 64, то цей провайдер відмовляється. Якщо це якесь полегшення, я можу вам сказати, що мені доводиться мати справу з Інтернет-провайдерами, які смоктають ще більше. Тут цілком нормально відбирати публічні IPv4 адреси від клієнтів і поміщати їх за CGN. І якщо ви запитаєте їх про адреси IPv6, вони скажуть вам, що вони не пропонують IPv6, оскільки IPv4-адреси ще не бракує, і поки існують сервери без підтримки IPv6, вони не запропонують IPv6, оскільки це неможливо клієнт з двома стеками для підключення до сервера, призначеного лише для IPv4.

Якщо будь-який провайдер дасть мені те, що у вас є, я б взяв це, тому що це менше, ніж те, що я міг отримати досі.

Просуваючись вперед, є два підходи, які я рекомендую вам проводити паралельно.

Натисніть на провайдера

Надайте якомога більше тиску на провайдера. Це включає контакт з іншими провайдерами послуг і, можливо, перемикання, якщо будь-який інший провайдер може запропонувати вам вигіднішу угоду.

Переконайтесь, що ви протестуєте те, що відбувається, якщо ваш маршрутизатор запросить делегованих / 48, / 52, / 56 або / 60 через DHCPv6 в WAN. Я перевірив би всі чотири довжини префікса на випадок, якщо сервер DHCPv6 чомусь видасть лише конкретну довжину префікса та ігнорує запити на інші довжини префікса.

Зробіть найкраще з того, що у вас є

З огляду на те, що вам, мабуть, доведеться жити з деякими хаками, що рухаються вперед, ви повинні запитати себе, хто менше забирає IPv4 з хаками або IPv6 з хаками.

Ви можете скористатися кількома хаками, щоб розтягнути один / 64 на безліч хостів.

Перетворення префікса посилання в маршрутизований префікс

Якщо у вас є один / 64 на посиланні WAN, але префікс не перенаправлений до вашої локальної мережі, ви можете перетворити цей / 64 в маршрутизований префікс за допомогою декількох кроків. Налаштуйте інтерфейс WAN на маршрутизаторі як / 126, а не як / 64. Встановіть на роутер маршрутизатор демон-сусіда (наприклад, ndppd), щоб рекламувати власну MAC-адресу для кожної адреси в / 64, за винятком 4-х адрес у / 126. За допомогою цих двох кроків у вас буде маршрутизований / 64, який ви можете використовувати у своїй локальній мережі за винятком 4-х адрес, використовуваних для WAN-посилання.

Модифікована версія цього хака може надавати спільну доступність посиланням / 64 на кілька маршрутизаторів. Префікс посилання повинен буде бути трохи коротшим, ніж / 126 для розміщення IP-адреси кожного маршрутизатора, a / 120 буде досить коротким, щоб забезпечити до 254 маршрутизаторів.

Кожен маршрутизатор, очевидно, отримає лише префікс, який буде довше / 64. Я рекомендую вам зробити префікс для кожного маршрутизатора, поки ви можете мати ще достатньо IP-адрес для локальної мережі на цьому маршрутизаторі. A / 112 або / 120 для кожного маршрутизатора, ймовірно, підходить. Кожен маршрутизатор відповідає за власною MAC-адресою для виявлення сусідом нічого в префіксі маршрутизатора.

У цьому варіанті кожен маршрутизатор матиме однакові префікси, сконфігуровані на їхній стороні WAN, і буде відповідати на запити на відкриття сусідів для префікса, призначеного для їхньої локальної мережі. Очевидно, жоден з префіксів локальної мережі не може перекривати один одного, і жоден з них не може перекривати префікс, який ви налаштували на стороні WAN.

Отже, якщо маршрутизатор ISP, який діє як ваш шлюз, знаходиться за адресою 2001: db8 :: 1/64, то ви можете використовувати 2001: db8 :: / 120 як свою WAN, і ви можете призначити 2001: db8 :: 1: 0/112 до перший маршрутизатор, 2001: db8 :: 2: 0/112 до другого маршрутизатора тощо.

У локальній мережі ви можете розтягнути a / 64 на безліч хостів або підмережею, або мостом. Вам доведеться розібратися, хто з двох найкраще підходить для вас.

Підмережа

Якщо ви зробите підмережу / 64, ви також можете перейти до найдовших префіксів, у яких ще достатньо адрес для хостів, які вам потрібні. Не підмережу в / 80 префіксів, скоріше перейдіть з / 116, / 120 або / 124 на підмережу. Речі, які порушуються, якщо ви не використовуєте / 64, навряд чи піклуються, і, перейшовши з / 116 або довше, ви зменшите вплив певних сусідських атак на виявлення сусідів (якщо вони є в будь-якій з ваших систем).

У такій конфігурації підмережі ви зламаєте SLAAC, тому вам потрібен сервер DHCPv6 для відповіді на кожен сегмент та статичні адреси IPv6, налаштовані на всіх пристроях без підтримки DHCPv6.

З’єднання мостів

Бридж - це інша альтернатива. Це по суті означає, що ви не підмережу, а запускаєте всю свою локальну мережу як єдиний сегмент IPv6 з префіксом / 64. (Якщо вам потрібно, що / 64 може охоплювати і локальну мережу, і WAN.)

IPv6 розроблений таким чином, щоб мости могли розпізнати, до якої з мостових мереж потрібно переадресувати всі адреси будь-якої пошти. Таким чином ви уникаєте трансляції пакетів через кожне фізичне посилання у вашій локальній мережі.

Мости також можуть застосовувати брандмауери та захищати від виявлення сусідами виявлення в локальній мережі.

При достатньому інтелекті по мостах, в принципі, немає обмежень, скільки комутаторів ви зможете перетинати один / 64 поперек.


Дякую! Саме такий тип відповіді я шукав! Особливо мені подобається ваша ідея перетворення / 64 на перекручений префікс. Чи можете ви трохи розібратися в цьому? По-перше, я не розумію, чому ви пропонуєте / 126, а не / 127? Які IP-адреси використовуються де? По-друге, у одного з моїх клієнтів у мене фактично є три окремі внутрішні маршрутизатори. У IPv4 вони мають три різних публічних IP-адреси в / 29, наданому провайдером. Чи все-таки ваша схема працюватиме з цими маршрутизаторами?
Кевін Кін

Також я не знаю, як встановити Neembor Advertising Daemon на будь-який з маршрутизаторів. Один маршрутизатор - Fortigate, один - Belkin, і я думаю, що третій - Linksys.
Кевін Кін

@KevinKeane Причина, яку я пропоную / 126, полягає в тому, що вам часто знадобиться принаймні три адреси в префіксі. На стороні провайдера маршрутизатор може мати префікс, налаштований як 2001: db8 :: 1/64, що означає 2001: db8 :: є спеціальним, а 2001: db8 :: 1 використовується маршрутизатором ISP. Ваш власний роутер зазвичай буде налаштований з 2001: db8 :: 2, а значить, тоді ви використали три адреси, а / 127 не буде достатньо. A / 127 міг би спрацювати, якби ви не використовували хак з різною довжиною префікса, налаштований на двох кінцях посилання.
kasperd

дякую за пояснення! Отже, коли у мене є три маршрутизатори, які обслуговують три різні внутрішні мережі, я повинен використовувати / 125, і кожен маршрутизатор рекламує через сусідню рекламу власний MAC лише для тих IP-адрес у відповідній підмережі?
Кевін Кін

1
Існує Інформаційна RFC, RFC 7421, Аналіз 64-бітової межі в IPv6 Адресуванні , яка має повне обговорення /64підмережі, і що я можу помилитися, коли не використовую її.
Рон Мопін

10

Так, бажаним варіантом є натискання на провайдера, щоб не смоктати. Політика розподілу RIR передбачає, що провайдер надає кожному клієнту / 48; є абсолютно нульова причина, щоб провайдер цього не робив.

IPv6 не є прихильником менших підмереж, проте єдине, що я повинен зламати, про що я знаю, - це SLAAC. У вас виникнуть проблеми з помилками та припущеннями в деяких стеках IPv6, які просто сліпо припускають "/ 64 == підмережу", але це помилка, а не особливість, і ви можете виправити постачальника, щоб виправити це. Незалежно від того, чи буде виправлено це, перш ніж ваш Інтернет-провайдер дає вам / 48, з іншого боку ...


Я думаю, що деякі частини протоколу виявлення сусіда також мають бути порушені. RFC 5375 містить цілий список інших речей, але я не знаю практичних наслідків. Тільки отримання / 64 іноді просто може бути справою грошей. Ваш Інтернет-провайдер може надавати домашнім користувачам лише a / 64 та надавати / 48s лише для ділових акаунтів. Просто тому, що ви хочете відокремити свій домашній офіс або WiFi від решти будинку, або тому, що ви хочете, щоб окрема підмережа використовувалася для віртуальних машин? Вибачте за рент - тут я намагаюся вирішити проблему, не намагаючись змінити речі, якими я не можу керувати.
Кевін Кін

2
Якщо ваш Інтернет-провайдер хотів бути загальним для роботи, він роздав / 128 для кожного абонента. Я здогадуюсь, що ви можете помахати RFC 5375 в провайдері і сказати їм, щоб вони вам дали IPv6, а не IPv5.5 ...
Утроби

Власне кажучи, щонайменше один провайдер, про який я знаю, робить це (Verizon Wireless). Це одна з причин, що я стверджую, що NAT все ще потрібен в IPv6. Але це, звичайно, від мого питання.
Кевін Кін

1
Рекомендація / 48 від RFC 3177 більше не діє, більшість RIR тепер рекомендують / 56 для кінцевих сайтів, як описано в RFC 6177: tools.ietf.org/html/rfc6177
скорочення

@skrause Не в тому, що це все одно має значення. Є достатньо / 48 років, що вони не збираються закінчитися. Навіть при співвідношенні 80% високої чіткості знадобиться 2 ^ 36 виділених / 48 секунд, перш ніж IANA спожив би всі 2000 :: / 3. І якщо ваш кінцевий сайт не є основним центром обробки даних, то в / 56 є достатньо підмереж для вашого кінцевого сайту.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.