В настоящее время у меня есть хорошая настройка с использованием частного адресного пространства IPv4 и восходящих каналов от двух интернет-провайдеров к Интернету. Благодаря NAT я могу просто отключить один из интерфейсов, и доступ в Интернет все еще есть.
Я вот думал, как продублировать эту конфигурацию в IPv6. Из того, что я прочитал, "NAT мертв", я очень рад этому, мне он не нравится (а иногда и прямо ненавижу), но он имеет свое применение.
В перспективе: это небольшая компания, 3 десятка компьютеров в сети, у нас нет бюджета на модные ссылки с поддержкой SLA и BGP. Так что я считать что наша собственная подсеть IPv6 от RIPE-NCC не будет работать.
С другой стороны, наличие двух независимых ссылок более чем полезно. Есть ли способ сделать NAT 1-к-1 в IPv6 (я использую Linux-машину в качестве маршрутизатора)? Как мне это сделать? Позволит ли это мне продолжать использовать двух интернет-провайдеров (при условии, что они оба поддерживают IPv6).
Когда я получаю подсеть от своего интернет-провайдера, мне нужно иметь IP-адрес, обращенный к Интернету (чтобы иметь возможность маршрутизировать пакеты к моему интернет-провайдеру), а второй - к моей локальной сети. В IPv6 оба должен быть маршрутизируемым. Разве это не означает, что я должен получить от своего провайдера как минимум 2 подсети? Или от интернет-провайдеров требуется предоставлять подсеть / 48, а не только две / 64 подсети? (И выделите первую подсеть / 64 для связи внутри маршрутизатора.) Что делать, если я получаю от интернет-провайдера только одну подсеть / 64?
Подвести итоги:
Вопросы
Без BGP и интернет-провайдеров «бизнес-класса» множественная адресация вам не подходит. Это является возможно сделать NAT 1-к-1 с IPv6. Однако я не знаю, как его настроить в Linux. Но есть и другой способ:
Вы получите префикс от обоих интернет-провайдеров. Наверное, а / 56 или а / 48. В этом случае не имеет особого значения, получает ли ссылка на ISP собственные адреса или нет. IPv6 может отлично работать с ненумерованными восходящими ссылками. Затем вы подключаете маршрутизатор от каждого интернет-провайдера к вашей локальной сети, и оба должны объявить / 64 от своего собственного интернет-провайдера в вашей локальной сети. Таким образом, все ваши системы получают (как минимум) два общедоступных IPv6-адреса: по одному от каждого провайдера. Вы можете дать рекламе вашего основного интернет-провайдера более высокий приоритет. Когда ссылка на ISP обрывается, соответствующий маршрутизатор должен отозвать свою рекламу, и ваши системы начнут использовать другую ссылку.
Единственный недостаток - это когда один интернет-провайдер не принимает пакеты с адресом источника от другого интернет-провайдера. В этом случае маршрутизаторы должны проверить адрес источника и перенаправить трафик с неправильным адресом источника на другой маршрутизатор.
Если у вас есть только один / 64 от вашего интернет-провайдера, вы можете использовать его в своей локальной сети. Но они должны дать вам больше, чем это. Раньше A / 48 был стандартом в течение многих лет, A / 56 становится все более нормальным в наши дни, но вы определенно должны получить больше, чем / 64.
Есть ли способ сделать NAT 1-к-1 в IPv6 (я использую Linux-машину в качестве маршрутизатора)?
Это известно как «преобразование сетевых префиксов», и да, Linux его поддерживает. Вы используете цели «SNPT» и «DNPT» в таблице «mangle» (таблица «nat» используется только для NAT с отслеживанием состояния).
Как мне это сделать?
Цель SNPT используется для изменения префикса источника исходящих пакетов, а цель DNPT - для изменения префикса назначения входящих пакетов. Поскольку он не имеет состояния, вы должны явно переводить в обоих направлениях.
Вы можете использовать адреса одного интернет-провайдера в своей локальной сети и переводить для другого интернет-провайдера, или вы можете использовать адреса ULA в своей локальной сети и переводить для обоих интернет-провайдеров.
Позволит ли это мне продолжать использовать двух интернет-провайдеров (при условии, что они оба поддерживают IPv6).
Да.
Очевидно, что, как и в случае с NAT V4, вы захотите убедиться, что маршрутизация достаточно стабильна, поскольку коммутатор ISP нарушит установленные соединения.
Я вот думал, как продублировать эту конфигурацию в IPv6. Из того, что я прочитал, что "NAT мертв"
Пуристам IPv6 это не нравится, но недавно Linux добавила реализацию NAT с отслеживанием состояния для IPv6. Таким образом, вы можете скрыть всю сеть за одним IP-адресом V6, если хотите.
Нужно ли мне получать как минимум две / 64 подсети для удобной настройки маршрутизации в локальной сети за межсетевым экраном?
Если вы размещаете общедоступные IP-адреса на машинах или используете NPT, вам понадобятся подсети для этого.
Как правило, типичный сценарий для IPV6 на потребителях / интернет-провайдерах малого бизнеса заключается в том, что они выделяют один адрес для внутренней стороны маршрутизатора CPE. Затем они используют делегирование префикса DHCPv6, чтобы выделить префикс для использования клиентом в своих сетях. Обычно каждому покупателю выделяется по / 56.
К сожалению, по крайней мере один провайдер, о котором я знаю, настаивает на том, чтобы вы использовали предоставленный провайдером маршрутизатор CPE, который в настоящее время не поддерживает делегирование префиксов. Так что, если вы хотите поставить свой собственный брандмауэр за их маршрутизатор, вы как бы застряли :(
Решение такое же, как и для IPv4 - вам нужно скрыть частную сеть за NAT с двумя каналами WAN.
Уникальные локальные адреса (ULA) - это «Частные сети для IPv6». Трансляция сетевых префиксов (NPt) - «NAT для IPv6». Назначьте внутренний уникальный локальный адрес IPv6 для вашей сети. Хотя этого не требуется (вероятность столкновения ULA намного меньше, чем столкновения подсетей IPv4, если сеть должна объединиться с другой частной сетью), есть, по крайней мере, теоретическая выгода от регистрации ULA. Включите NPt на каждом интерфейсе WAN, указав для вашего внутреннего ULA и префикса IPv6 каждого провайдера значение NPt. Ваша собственная подсеть IPv6 от RIPE-NCC не будет работать по тем же причинам, что и ваша собственная подсеть IPv4 (отсутствие у вас бюджета на поддержку BGP).
NPt сработал для меня довольно хорошо. Мое намерение состояло только в том, чтобы обеспечить независимость между моей внутренней схемой адресации IPv6 и схемой адресации моего интернет-провайдера, чтобы при смене провайдера нужно было менять только префиксы провайдера, а не всю конфигурацию моей сети. Теоретически он столкнется с теми же проблемами, что и IPv4 NAT, если протокол отправит немаршрутизируемый адрес на удаленный компьютер, который затем попытается подключиться обратно.