Нужен ли NAT в мире IPv6

Стандарт IPv6 позволяет выделить личный адрес каждому устройству в подсети. Многие евангелисты и пуристы убеждены, что в таких условиях можно отказаться от механизмов трансляции адресов, усложняющих сетевую инфраструктуру.

Однако с утверждением согласны далеко не все, а дискуссии на эту тему идут уже не первый десяток лет.

За и против

В 2007 году представители IETF опубликовали RFC 4864. В документе приведены причины, почему для работы с IPv6 не нужна трансляция сетевых адресов. В частности, NAT — это один из механизмов экономии «айпишников». Однако в случае с протоколом нового поколения нет необходимости искусственно расширять адресное пространство, а вероятность адресных конфликтов стремится к нулю. В то же время IPv6 не нужен NAT, чтобы обеспечивать приватность подключений. Для этих целей существуют другие механизмы — например, RFC 4941.

Похожей точки зрения придерживаются некоторые пользователи Hacker News. Они также отмечают, что отказ от NAT повысит сетевую безопасность в целом. Еще четыре года назад APNIC отметили, что механизм трансляции адресов представляет собой дополнительный вектор для атак злоумышленников. Один из последних примеров — атака типа NAT slipstreaming, позволяющая удаленно подключиться к системе пользователя по любому порту UDP/TCP.

Однако среди представителей ИТ-индустрии есть и те, кто убежден, что трансляция адресов в формате IPv6-to-IPv6 (NAT66) может быть полезна в ряде нишевых кейсов. В частности, её можно использовать для поддержания симметрии маршрутов в сетях. Так, если в организации развернут пул дублирующих файрволов, то NAT66 может гарантировать, что входящий и исходящий трафик от одного узла будет поступать на один и тот же межсетевой экран.

Для похожих задач NAT66 может пригодиться компаниям, которым не удалось получить провайдеро-независимый блок IPv6. Они вынуждены работать с публичными адресами, которые получают от поставщика. Без NAT66 они попадают в ситуацию, которую можно описать как vendor lock-in.

В то же время резидент Hacker News отмечает, что у многих провайдеров «плавающий» префикс IPv6. В итоге адреса устройств в домашней сети регулярно меняются, что вызывает «головную боль» при администрировании. В теории NAT66 должен решить эту проблему.

NAT66 уже существует

Несмотря на полярные мнения касательно необходимости трансляции адресов в мире IPv6, реализации NAT66 все же существует (хоть и не в формате одобренного RFC стандарта). Их предлагают различные поставщики сетевого оборудования и программного обеспечения.

Так, еще в 2011 году появилась первая реализация IPv6 NAT для подсистемы фильтрации в Linux kernel. Соответствующую функциональность также внедрили разработчики OpenWRT и крупный американский поставщик коммутаторов.

К сожалению, продукты разных вендоров могут быть несовместимы друг с другом. Так будет продолжаться до тех пор, пока IETF не предложит единый стандарт NAT66. Хотя инженеры уже провели подготовительную работу — например, реализовали Port Control Protocol (PCP) в RFC 6887 для управления передачей пакетов в NAT — но будет ли реализована полноценная спецификация, сказать сложно.

Оцените статью