LINUX.ORG.RU

В основную ветку разработки NetworkManager добавлена реализация CLAT

 464xlat, clat, ,


0

2

В основную ветку разработки NetworkManager добавлена реализация CLAT – компонента технологии 464XLAT (RFC 6877), обеспечивающий работу приложений, понимающих только IPv4, в сетях, работающих исключительно на IPv6.

Сам по себе CLAT не может работать самостоятельно. Для него необходим шлюз NAT64 (может быть как на стороне провайдера, так и в интернете или даже у вас на маршрутизаторе домашнем). В целом, для большинства приложений на современных ОС достаточно использовать DNS64 совместно с NAT64. Однако часть приложений отказывается работать, если на устройстве нет работающего IPv4-адреса. Это возникает или из-за использования устаревших методов работы с сетью, либо из-за использования литералов IPv4 (указание IPv4 напрямую, например, при поиске пиров по IPv4 адресу). Именно эту проблему и решает CLAT. На устройстве создаётся виртуальный IPv4 интерфейс, весь трафик с которого преобразуется и отправляется на шлюз NAT64.

Благодаря использованию CLAT на устройстве, оно может работать в сети, где используется только протокол IPv6 без каких либо ограничений доступа к ресурсам IPv4. Аналогичный механизм уже давно есть во всех современных мобильных ОС, например, в Android начиная с версии 4.3 (2013 г), а в iOs это произошло в 12 (2018 г.). В настоящее время отстающими были настольные ОС. Полноценная поддержка только есть в MacOS начиная с Ventura (13), которая вышла в 2022 году. В Linux для включения подобного функционала было необходимо устанавливать дополнительные пакеты (например, clatd). Поддержка CLAT в Windows также имелась только для WWAN соединений, однако в декабре 2025 года Microsoft также начала проводить тестирование собственной реализации CLAT для всех типов соединений у пользователей Windows 11.

Чтобы использовать CLAT в NetworkManager уже сегодня потребуется установить тестовую версию 1.57. Например, пользователи дистрибутива Fedora могут установить пакет NetworkManager из COPR с ежедневными сборками основной ветки main проекта. Сейчас автоматическая активация clat выключена и необходимо её включать вручную с помощью опции ipv4.clat=yes (позже, после проведения тестирования, планируется включать CLAT по умолчанию автоматически).

Данный функционал планируется добавить в версии NetworkManager 1.58. Актуальной версией сейчас является 1.54. Если судить по циклу выпуска релизов, версия 1.56 ожидается в ближайшие месяцы, а 1.58 должна будет выйти ближе к концу 2026 года.

>>> gitlab.freedesktop.org

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Я, конечно, с разной дичью встречался и встречаюсь регулярно, но вот сетей на чисто ipv6 не видел еще - ни разу. Ну, раз сделали - значит у кого-то есть…

DrRulez ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Просто у яндекса слишком много узлов и серой адресации IPv4 не хватает. А делать NAT - это куча головняков. Поэтому они просто внедрили IPv6 внутри своей сети.

Feonis ★★★
() автор топика
Ответ на: комментарий от MoldAndLimeHoney

Почему ЧСВ? Может, они на будущее, когда даже в рамках одного офиса не будет IPv4 хватать?

В прошлом считалось, что и 32-битного счётчика времени хватит всем, и что после 1999 года жизни не будет. Ну и к чему это в итоге привело?

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от DrRulez

Я, конечно, с разной дичью встречался и встречаюсь регулярно, но вот сетей на чисто ipv6 не видел еще - ни разу. Ну, раз сделали - значит у кого-то есть…

Эта штука как раз для того, чтобы можно было строить сети только на IPv6, но при этом клиенты с CLAT не видят никаких проблем с коммуникацией с узлами IPv4. Это именно костыль для перехода от IPv4 к IPv6. А сетей подобных нет именно потому, что данный костыль есть только на мобилках, т.е. нельзя просто так взять и отключить IPv4, отвалится часть сервисов (небольшая).

Feonis ★★★
() автор топика
Последнее исправление: Feonis (всего исправлений: 1)

Отличная штука. В IPv6, если я ничего не путаю, есть зарезервированный диапазон для трансляции в IPv4, она его и использует, да?

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

есть зарезервированный диапазон для трансляции в IPv4, она его и использует, да?

Диапазон есть. Но его необязательно использовать. Подойдёт любая стандартная сеть IPv6, т.к. внутри сети 64 битная адресация, что с лихвой хватает, чтобы вписать всю адресацию интернета, хоть 4 миллиарда раз. Стандартный диапазон обычно используется в локальных сетях. Но никто не мешает сделать свой NAT64 испрользуя публичные GUA адреса IPv6.

Feonis ★★★
() автор топика
Ответ на: комментарий от DrRulez

Я, конечно, с разной дичью встречался и встречаюсь регулярно, но вот сетей на чисто ipv6 не видел еще - ни разу. Ну, раз сделали - значит у кого-то есть…

У меня не совсем сеть полностью IPv6. Но настроена таким образом, что устройства в сети могут отказаться получать IPv4 и при этом иметь доступ ко всем ресурсам. Больше половины устройств работают исключительно на IPv6. Можно такое вручную отключить IPv4 ничего не потеряв совсем, при наличии CLAT на устройстве. CLAT даёт совсем немного. В частности, у меня он чинит только доступ к торрент пирам по IPv4 и помогает Steam увидеть сеть. Остальное работает и без этого костыля.

Feonis ★★★
() автор топика

Полноценная поддержка только есть в MacOS начиная с Ventura (13)

Чукча - не читатель, чукча - писатель.

для включения подобного функционала

Данный функционал планируется добавить

Механизма. Оставьте уже функционал математикам.

Radjah ★★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Почему ЧСВ? Может, они на будущее, когда даже в рамках одного офиса не будет IPv4 хватать?

Яндекс угрожает превратиться в Распухандекс? ;))

Somebody ★★★★
()

Круто, когда-нибудь я себе точно сделаю v6-only с nat64, которая потом будет транслироваться обратно в v4, потому что провайдеров с ipv6 не существует на сотни километров вокруг.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

провайдеров с ipv6 не существует на сотни километров вокруг.

Я тоже так думал, но потом оказалось что они провайдер-монополист даёт IPv6. Только их поддержка говорит, что у них нет. Ну и ладно, лишь бы работало. Самое обидное, что нет постоянного префикса. После переподключения адресация меняется. RIPE NCC не рекомендует так делать… но увы, провайдер же не поддерживает IPv6, а значит и исправлять не будет.

Feonis ★★★
() автор топика

Не понимаю почему такая нелюбовь к IPv6. Слышал от очень продвинутых людей, что IPv4 достаточно для всего на свете. Каждому IPv4 адресу соответствует адрес в сети IPv6. Видимо, на этом и построена концепция этой разработки. А сам NetworkManager обычно сношу сразу, так как жрет ресурсы как не в себя, а новых компьютеров не покупал уже очень давно, поэтому сеть стараюсь настраивать ручками.

poshat ★★★
()
Ответ на: комментарий от Feonis

Здесь провайдер-монополист не выдаёт. Инфраструктура не такая, как в других регионах, наследие 90-х когда монополист был распилен на несколько контор, которые жили сами по себе.

Khnazile ★★★★★
()
Ответ на: комментарий от poshat

Не понимаю почему такая нелюбовь к IPv6

Оно плохо документировано. Не в части rfc, а в части настройки реального оборудования. И еще разное оборудование реализует разные кусочки rfc, и сраститить его, так как тебе нужно бывает непросто, если вообще возможно.
Т.е. в теории ipv6 предоставляет много всяких интересных фич, а на практике это работает далеко не везде.

Мой любимый пример: в ipv6 есть разные типы адресов: link-local, site-local, global, temporary и т.д. Но firewalld не умеет назначать зоны в зависимости от типа адреса на интерфейсе. Т.е. я бы хотел, например, чтобы порт ssh был открыт на link-local, но не на глобальном адресе, но простого способа так сделать нет.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Оно плохо документировано. Не в части rfc, а в части настройки реального оборудования.

Понятно. Т.е. внедрять капитально пока не хотят.

типы адресов: link-local, site-local, global, temporary

Насколько помню это базовые вещи протокола. Если они не реализованы в какой-то разработке, то это их косяк. Тут скорее люди не видят реальных перспектив в его реализации, поэтому и внедряют спустя рукава.

У меня на выделенке была поддержка IPv6. Помню настроил всё и был на седьмом небе. Можно было открывать локальный сайт извне без костылей. Но потом притащили GPON, но уже без IPv6, к сожалению, а делать IPv6 через VPN - это уже извращение.

А ведь с другой стороны интернет на этом IPv4 реально уже почти превратился в каталог локальный закрытых сеток и лезть в другую надо через VPN. Т.е. кризис у нас в головах, как обычно.

poshat ★★★
()
Последнее исправление: poshat (всего исправлений: 1)
Ответ на: комментарий от poshat

А ведь с другой стороны интернет на этом IPv4 реально уже почти превратился в каталог локальный закрытых сеток и лезть в другую надо через VPN. Т.е. кризис у нас в головах, как обычно.

Не знаю про что конкретно ты говоришь. Но я могу сказать про сети организаций. На IPv6 вряд ли кто массово начнет внутренню сеть наружу выставлять. Все так же и будет, для доступа к ресурсам компании нужен впн. А вот дома IPv6 точно не нужен. Так как для простого пользователя сложнне в понимании, но не дает никаких преимуществ.

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

но не дает никаких преимуществ

Даёт, просто они не моментальные. Сквозная адресация и живой мультикаст гипотетически дают возможность вытащить p2p-технологии на новый уровень. Всякие бессерверные средства связи, илираспределенные «облака» целиком на конечных устройствах пользователей. Но чтобы это случилось нужно еще соблюсти много условий и реально стандартизировать массу вещей. А так, конечно, сложно оценить полезность технологий, которые даже не смогли родиться, т.к. сетевые условия не позволяют.

Khnazile ★★★★★
()
Ответ на: комментарий от Behem0th

Не знаю про что конкретно ты говоришь.

Вообще имел в виду регионализацию и закрытие целых стран от внешней информации и прочих опасностей.

А вот дома IPv6 точно не нужен. Так как для простого пользователя сложнне в понимании, но не дает никаких преимуществ

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

Так нет же нам нужно сначала поспекулировать на этой теме, что все пропадет, всё украдут и вынесут мошенники, поэтому покупайте только устройства со знакомым голосом в умной колонке. И вот из-за таких подходов весь глобальный интернет сегментируется, из-за чего экономика стагнирует, т.к. базовые направления развития (уже определенные) не могут двигаться. Может должно сначала произойти что-то страшное, или хотя бы все должны представить, что оно произошло и потом все начнут двигаться дальше и внедрять новые технологии.

poshat ★★★
()
Ответ на: комментарий от Somebody

Я думаю как: среди главных яндекса ведь не ходят мысли «Ну мы через пару лет закрываемся» или «Расти дальше мы не будем. Конкуренты пусть растут, а мы – не». Так что могли в этом плане сразу на рост заложиться, раз технология уже есть.

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Так что могли

Так много кто и чего «мог»...

Somebody ★★★★
()
Ответ на: комментарий от Khnazile

Идеи что ты озвучил интересные. Это впервые когда я слышу что то интересное про IPv6.

Behem0th ★★★★★
()
Ответ на: комментарий от poshat

регионализацию и закрытие целых стран от внешней информации и прочих опасностей

Так от такого не какие технические средства не спасут. Тут проблема не в недостатках ипв4.

А как же утюги, чайники и пылесосы.

Миллионы устройств на китайской закрытой прошивке, с неизвестно какими версиями сервисов, которая не когда не обновится. Да с белым ип да в интернет.

У меня аж в глазах потемнело от удовольствия.

Behem0th ★★★★★
()
Ответ на: комментарий от Khnazile

Но firewalld не умеет назначать зоны в зависимости от типа адреса на интерфейсе. Т.е. я бы хотел, например, чтобы порт ssh был открыт на link-local, но не на глобальном адресе, но простого способа так сделать нет.

Вероятно это ограничения firewalld. У link-local адресация чётко fe80::/10. У GUA в текущее время 2000::/3. Т.е. я уже указал сейчас для чего разрешить, а для чего запретить. Есть ещё fc00::/7 - это ULA адресация.

С другой стороны, у меня хоть и firewalld, мне нет нужны ограничивать порт ssh. Не важно какой тип адреса, они все недоступны из интернета, поскольку сеть закрывает свой файервол на маршрутизаторе. И пока я там не укажу ему пропускать порт 22 к моему GUA адресу, доступа к нему из интернета не будет, будет только из локалки.

IPv6 сейчас уже готов к использованию в интернете (и готов с 6 июня 2012 года - с момента глобального запуска). Вопрос только в качественной поддержке ПО. Но если посмотреть, во времена ADSL модемов у IPv4 тоже были проблемы. Сколько открытых админок светилось в интернет по умолчанию. Ничего, софт допилили и сейчас большинство маршрутизаторов по умолчанию довольно безопасно настроены. Также и с IPv6, просто нужно допиливать софт. Та же OpenWrt отлично настроена по дефолту и никаких сложнойстей с настройкой на том же Ростелекоме с ним нет, у тебя сразу раздаётся IPv6 в локалку и она защищена.

Feonis ★★★
() автор топика
Ответ на: комментарий от Feonis

во времена ADSL модемов у IPv4 тоже были проблемы. Сколько открытых админок светилось в интернет по умолчанию.

Но это были вовсе не «проблемы IPv4»...

Somebody ★★★★
()
Ответ на: комментарий от Feonis

Да, это ограничение firewalld. Но вместе с тем, я не знаю, как фильтровать подключения по типу адреса, скажем, в iptables.

Вот другой пример: скажем, на машине есть временные и постоянные адреса. Как разрешить входящие подключения на постоянных адресах, при этом запретив на временных? Предположим, что при этом они используют один префикс.
Firewall на маршрутизаторе это хорошо, но полагаться на его наличие и адекватную работу нельзя.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

я не знаю, как фильтровать подключения по типу адреса, скажем, в iptables

Не оно?

addrtype

Данный модуль тестирует пакеты по типу адреса. Точное определение конкретного «типа адреса» зависит от соответствующего протокола третьего уровня.

Я уже так давно с этим не имел дела, что можно сказать, никогда...

Не помню ничего...

Somebody ★★★★
()
Ответ на: комментарий от Somebody

Не оно. Во всяком случае, в man ip6tables данный модуль не описан.
Возможно, nft умеет, без понятия. Нигде не находил информацию о том, как фильтровать пакеты по типу v6-адреса.
ip addr же как-то показывает временные адреса.

Khnazile ★★★★★
()
Ответ на: комментарий от Behem0th

Тупо тормозить развитие ради безопасности тоже самое как стрелять из пушки по воробьям. Раньше как-то 2g все пользовались, а сейчас уже 5g внедряют. Расстояние и отклик между хопами у ipv6 будет меньше гораздо, значит надо в этом направлении двигаться. а не списывать все на возможные проблемы с безопасностью и прочими происками. Всё равно всё к этому придет, но лучше делать всё вовремя, чем с опозданием.

poshat ★★★
()
Ответ на: комментарий от poshat

Развитие куда? Про какое развитие ты говоришь? Почему это эфемерное развитие важнее безопасности? Какой и кому вообще плюс от того что все эти миллионы интернет вещей или андроид приставки, телевизоры получат белые маршрутизипуемые адреса?

Причем здесь 2г и 5г? 5г даёт явные преимущества перед 2г.

Почему у ипв6 будет короче расстояние и отклик между хопами? Причем значительно. Как это вообще связано?

Что за агитброшурку ты цитируеш, что за лозунги?

но лучше делать всё вовремя, чем с опозданием.

Джейсон Стейтем (с)

Behem0th ★★★★★
()
Последнее исправление: Behem0th (всего исправлений: 2)
Ответ на: комментарий от yandrey

в целом, да)) двойные двоеточия некрасиво смотрятся.

я например не понимаю почему нельзя было сделать расширение адресов ipv4 по типу просто добавления пятой цифры. типа 2.127.0.0.1.

было бы постепенное расширение и всем было бы удобно, как utf8 для адресов такой)

а ещё link-local какие-то дурацкие, которые вообще не понятно куда прислонить…

vitalif ★★★★★
()
Ответ на: комментарий от Behem0th

Что за агитброшурку ты цитируеш, что за лозунги?

Нет никакой брошюры, просто поток сознания. Мне иногда кажется, что айтишники - самые лютые государственники, которые пропагандируют постепенное объединение разных подходов и принятие более общих для всех решений. В этом и заключается суть прогресса: в поиске общих решений. А до этого момента давайте обезопасимся от всего потенциально опасного, а то придут черти из соседнего двора и…

Защитить сетку или устройства внутри разве такая сложная задача, что надо отказываться от внедрения ipv6? Думаю, что при желании можно сделать, что пользователю нужно будет просто поставить галочку, чтобы пустить и отклонить запросы к определенному устройству, как сейчас даем разрешения приложениям отправлять уведомления или нет.

Почему у ипв6 будет короче расстояние и отклик между хопами?

У протокола ipv6 есть разные, более продвинутые варианты маршрутизации, а не бесконечные костыли, как у ipv4.

poshat ★★★
()
Ответ на: комментарий от poshat

просто поток сознания

Я так и понял.

У протокола ipv6 есть разные, более продвинутые варианты маршрутизации, а не бесконечные костыли, как у ipv4.

Примеры не затруднит привести? Чтоб было понятно почему маршрутизация в 6 более продвинутая чем в 4 и чтоб понять как она уменьшит расстояние и отклик между хопами?

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

Примеры не затруднит привести? IPv6:

  1. Быстрее обработка данных:
  2. Меньшая нагрузка на маршрутизаторы:
  3. Снижение сетевых задержек:
  4. Стабильность и масштабируемость

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

poshat ★★★
()
Ответ на: комментарий от poshat

Я как будто с чатгпт общаюсь. Что это за нейрослоп?

Почему обработка данных ускорится и нагрузка уменьшится если количество маршрутизируемых адресов возрастет, а так же увеличится размер адреса?

Почему уменьшатся сетевые задержки? Из-за чего?

Стабильность и масштабируемость чего? Что станет более стабильный и масштабируемым и почему?

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

Я как будто с чатгпт общаюсь. Что это за нейрослоп?

Откуда эти нейронки свои данные берут, оттуда и я брал. Можно и спросить иногда дипсик, к примеру. В ipv6 маршрутизация по другому работает и сами адреса более функциональны. Задержки уменьшатся за счет оптимизации маршрутов. Стабильность сети, потому что оптимизируем маршруты. Ну и т.д.

А вы мне тоже ответьте: зачем оставаться на ipv4. Только без банальщины типа «как можно оставлять форточку дома открытой».

poshat ★★★
()

Что-то какая-то чушь. Впрочем, как и большинство идей ip6-адептов. Вместо того чтобы просто послать своему гейту ip4-пакет со своего серого ip4-адреса, мы будем слать его с некоего «виртуального» ip4-адреса и инкапсулировать в ip6-туннель (или не туннель а просто маппинг 4 на 6? не суть) до гейта чтобы на том же самом гейте всё так же натить его внешним ip4-адресом.

firkax ★★★★★
()
Ответ на: комментарий от poshat

А как же утюги, чайники и пылесосы. В теории чтобы их превратить в умные устройства нужна копеечная микруха и всё

Нет, нужно ещё отсутствие мозгов чтобы согласиться на эту затею.

И вот из-за таких подходов весь глобальный интернет сегментируется

Нет, интернет сегментируется потому что политики так хотят (и политики тут - не конкретные люди, а роль в обществе). А если твои устройства будут мешать сегментации - их просто запретят или заблокируют.

firkax ★★★★★
()
Ответ на: комментарий от firkax

чтобы на том же самом гейте всё так же натить его внешним ip4-адресом

Ну, это «до поры, до времени», «на переходный период»...

Развитие-то идёт, и когда-то отпадёт нужда обеспечивать «работу приложений, понимающих только IPv4, в сетях, работающих исключительно на IPv6»: просто «отвалятся"такие приложения и останутся „работающие исключительно на IPv6“... :)

Somebody ★★★★
()
Последнее исправление: Somebody (всего исправлений: 2)
Ответ на: комментарий от Somebody

Речь не про «потом» (хотя твою точку зрения на «потом» я отвергаю) а про «сейчас». Эта штука ничего не даёт по сравнению с тем что уже было. Пакет точно так же шлётся по тем же ethernet-ам или чему там, только зачем-то временно сконвертированный в имитирующий ip6 формат.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от Somebody

Ну, это «до поры, до времени»

Барнаул, Алтайский край


Это я к тому, что Русь-матушку, это не касается. У Третьего Рима свой путь, ип6 в нём нет.

mamina_radost
()
Ответ на: комментарий от firkax

Речь не про «потом» (хотя твою точку зрения на «потом» я отвергаю)

Да и ради бага!.. Имеешь полное право... :))

а про «сейчас».

Именно. Я потому и дополнил, что «на переходный период».

зачем-то временно сконвертированный в имитирующий ip6 формат

«Если звёзды зажигают — значит — это кому-нибудь нужно?» — Владимир Маяковский, «Послушайте!». :)

Раз это делается — значит, есть уже где-то на нашем «шарике» ( булыжнике, на самом деле ;) ) такая потребность. Да, пока что это не для нас, как и IPv4 когда-то, но пройдёт время, и ... ;))

Somebody ★★★★
()
Ответ на: комментарий от mamina_radost

Это я к тому, что Русь-матушку, это не касается

Да коснётся ещё! Но попозже... :)

У Третьего Рима свой путь, ип6 в нём нет

Но будет, если ещё нет.

Somebody ★★★★
()
Ответ на: комментарий от Somebody

Раз это делается — значит, есть уже где-то на нашем «шарике» ( булыжнике, на самом деле ;) ) такая потребность

Думаю что эта самая потребность - скорее всего просто графоманское недержание у авторов networkmanager-а.

firkax ★★★★★
()
Ответ на: комментарий от vitalif

я например не понимаю почему нельзя было сделать расширение адресов ipv4 по типу просто добавления пятой цифры. типа 2.127.0.0.1.1

было бы постепенное расширение и всем было бы удобно, как utf8 для адресов такой)

В IPv6 адресация 128 бит. А это 4 раза по 4 разряда. Т.е. адрес будет что-то вроде 127.0.0.0.0.0.0.0.0.0.0.0.127.0.0.1. По мне так немного неудобно. Была и своя реализация с динамической длиной адреса (IPv9). Но там были проблемы с производительностью, поэтому решили не использовать. А 128 бит гораздо компактнее в HEX форме записывается. Да и такую запись легко можно найти в дампах сетевого трафика. Их прямо видно там, потому что для отображения тоже используется HEX.

а ещё link-local какие-то дурацкие, которые вообще не понятно куда прислонить…

А вы и не смотрите на них. Это технические адреса. Их не нужно где-то использовать. А там, где они нужны, они используются автоматически. Для вас ULA и GUA. Первые аналогично 192.168.х.х, 10.х.х.х, 172.16.х.х-172.31-х.х, вторые как «белые» IPv4.

Feonis ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.