Как-то, очередной раз настраивая роутер с LTE модемом, обратил внимание, что IP адрес оператором мне был выдан из сети 11.0.0.0/8. Уже не помню точно, что за оператор это был, да и не имеет это значения, но задумался: а как так-то? Ведь вряд ли сотовый оператор будет бесплатно раздавать динамические публичные IP адреса, а локальными с детства привычно использование адресов 10.0.0.0/8, 192.168.0.0/16 и 172.16.0.0/12. Так же есть сеть 100.64.0.0/10, но с ней тоже всё не просто. Полный список не маршрутизируемых адресов можно посмотреть, например, тут.

Проверил WHOIS - сеть публичная, и значится за некоей "DoD Network Information Center" с датой регистрации 1984-01-19.

Так зародилась данная статья. Не претендую на 100% точность и достоверность информации и не рекомендую использовать информацию из этой статьи. В чём‑то данная статья имеет схожесть с «Ищем свободные IPv4 в BGP full‑view», но она немного о другом.

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

Каковы достоверные причины использования данной сети 11.0.0.0/8 у сотового оператора мне не известно, но предполагаю, что причина простая - в минимизации пересечения адресного пространства с абонентскими устройствам. Но как же так, наверняка многие спросят, - сеть то публичная и есть не нулевая вероятность, что в этой сети будет какой-нибудь полезный или не очень ресурс.

Анализ

На этот счёт есть то, что может вероятно однозначно ответить, есть ли там что-то полезное или нет - это full-view BGP. К сожалению доступа к роутеру с BGP у меня на текущий момент нет, поэтому можно воспользоваться имеющимися данными с официального ресурса RIPE.

Можно брать информацию с http://rrc00.ripe.net, но там много лишней маршрутной информации, которая мне не нужна. Поэтому я решил использовать данные https://data.ris.ripe.net/rrc13/latest-bview.gz с сервера "rrc13.ripe.net at Moscow, Russia. Collects route updates announced by the MSK-IX members from Apr 2005."

Это файл, который в распакованном виде умеет читать утилита bgpdump.

Но что же я хочу получить? Анализировать пол миллиона маршрутов не хочется, да и зачем? Вспомним немного историю интернета, а точней её часть, где выдавали IP адреса компаниям в США. На заре интернета, несколько крупных американских компаний получило сети с маской /8, потому что тогда еще никто не понимал, к чему придёт современный интернет. Значит и анализировать BGP full-view будем по данной маске, да и это самое простое и не требующее никаких усилий.

Штош, приступим:

sudo apt install bgpdump
wget https://data.ris.ripe.net/rrc13/latest-bview.gz
gzip -d latest-bview.gz 
#следующая команда займёт несколько минут
bgpdump latest-bview |grep PREFIX|awk '{print $2}'|grep -E "^[0-9]{1,3}\."|sort -u > latest-bview-prefix-ipv4.txt
#анализируем
for x in `seq 1 255`; do echo -n "$x.0.0.0/8,"; cat latest-bview-prefix-ipv4.txt|grep -E "^$x\." -c ; done > routes.csv

Полный готовый результат можно посмотреть тут.

Оставлю тут самую интересную часть:

Подсеть

Число маршрутов

Организация из whois

4.0.0.0/8

20

Level 3 Parent, LLC

7.0.0.0/8

12

DoD Network Information Center

9.0.0.0/8

1

IBM

19.0.0.0/8

9

Ford Motor Company

21.0.0.0/8

5

DoD Network Information Center

25.0.0.0/8

4

UK Ministry of Defence

26.0.0.0/8

1

DoD Network Information Center

28.0.0.0/8

1

DoD Network Information Center

29.0.0.0/8

25

DoD Network Information Center

30.0.0.0/8

1

DoD Network Information Center

33.0.0.0/8

1

DoD Network Information Center

48.0.0.0/8

0

The Prudential Insurance Company of America

53.0.0.0/8

2

Mercedes-Benz Group AG

56.0.0.0/8

24

United States Postal Service. (USPS-3)

73.0.0.0/8

1

Comcast IP Services, L.L.C.

Это список /8 сетей, в которых имеется меньше 100 маршрутов в таблице BGP.

Сети 11.0.0.0/8, о которой я говорил в самом начале, нет в списке - поскольку в ней 285 маршрутов, что тоже не так много. Вообще интересных сетей больше 36 штук /8 с числом маршрутов в BGP меньше 1000 - но с ними сложней. Вы можете самостоятельно их изучить по ссылке выше или получить данные самостоятельно.

И что с этим делать?

Зачем же это всё надо и в чём отличие от статьи «Ищем свободные IPv4 в BGP full‑view»? В том, что я предлагаю немного использовать эти адреса для внутренних нужд локальной сетевой инфраструктуры. Хотя в той статье как раз было предположение, что эти сети сейчас вероятно уже используются этими организациями для внутренних нужд и так. Так же оставили комментарий, что на рабочем компьютере уже используются такие адреса.

Я по своей сфере деятельности довольно часто сталкиваюсь с пересечением маршрутов в локальной сети. Казалось бы, есть 3 сети (10.x, 192.168.x, 172.16.x), которые можно и нужно использовать для локальной сети и вроде там полно адресов, но по каким-то причинам всё же могут встречаться пересечения. Причина в основном банальная - отсутствие какой-то базы подсетей, выделение чрезмерных блоков для простых задач (например /24 для p2p стыка), чрезмерное планирование масштабов (например для VPN /16 сеть).

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

Некоторые для стыка используют 169.254.0.0/16, например, но для полноценного site-to-site это не подходит.

Еще есть сеть 100.64.0.0/10, цели которой по RFC я до конца не понял. Вроде как её цель - использоваться на абонентских устройствах на WAN интерфейсе, вместо динамического или статического публичного адреса или вместо адреса из стандартных локальных адресов. В целом некоторые российские ШПД операторы так эту сеть и используют. Но почему тогда сотовые операторы решили 11.x сеть использовать?

Я лично активно использую сеть 100.64.0.0/10 для внутренней адресации серверов в своей компании и пока проблем не было.

Итого

Подводя итоги, что касается вот этих вот сетей, я лично решил для себя потихоньку их использовать для своих внутренних нужд. Например, мне надо было временно сделать NAT сети 192.168.88.0/24 (что бы получать доступ к этой сети, но не добавлять маршрут конкретно на эту сеть, т.к. она слишком стандартная). Я взял сеть 48.99.88.0/24 и настроил 1в1 NAT этой сети в 192.168.88.0/24. Это лишь один из примеров использования. Можно использовать эти адреса в своём собственном VPN для своих личных доступов. Можно использовать эти адреса для стыков. Где-то по согласованию можно использовать для site2site.

Когда-то давно, я использовал сеть 172.32.x для локальной домашней сети - по WHOIS это "T-Mobile USA, Inc.". А для своих VPN до сих пор использую 172.12.x - это "AT&T Corp. (AC-3280)"

Минусы

Однако есть и минусы всего этого, про которые нельзя забывать:

  1. Это совсем не по RFC.

  2. По причине пункта 1, некоторые устройства не смогут нормально работать, используя эти сети. Их скорее всего немного, но они есть. Особенно совсем простые устройства с защитой от "дурака".

  3. Кроме того, что, выбирая сеть, нужно проверить по таблице BGP, не занята ли она, а если занята, то кем. В случае 172.32.x и 172.12.x мне было не важно, что они заняты операторами связи из США. Даже имея небольшой проект в РУ сегменте, меня не сильно беспокоило, что пользователи из этих сетей вероятно не смогут зайти на мой сайт.

  4. По причине пункта 1 и 3 и каким-то своим убеждениям, некоторые коллеги или партнёры могут не согласиться использовать эти сети, но для стыков, как мне кажется, можно использовать смело.

  5. Нужно в теории мониторить эти сети, не начнут ли из них раздавать адреса всем подряд.

  6. Если у вас крупный проект, а особенно международный, риск использования этих сетей для внутренних коммуникаций может многократно увеличиться, поскольку в случае внезапной раздачи адресов, например из блока 19.0.0.0/8, какие-то коммуникации могут сломаться. Вряд ли эти адреса будут раздавать под внешние адреса каких-то пользователей, скорее они будут использоваться для серверов, но всё же.

Заключение

На этом кажется всё. Я ни к чему не призываю, но считаю, что нужно иметь это ввиду. Если в чём-то сильно не прав - пишите. За нарушение RFC пока не штрафуют, однако в случае проекта с внешними пользователями, нужно использовать это с осторожностью, хоть и риск минимален. А в случае с 100.64.0.0/10 вообще рисков никаких нет, кроме того, что в теории могут быть проблемы с VPN у некоторых сотрудников, но они могут быть и в случае если провайдер сотрудника использует любую из локальных сетей.

Хотел еще добавить ссылки на историю выделения самых первых IPv4 адресов, но что-то пока не нашёл этой информации.

Наглядный инструмент для проверки: https://radar.qrator.dev/search?query=9.0.0.0%2F8

Случай, когда использование "пустых" сетей, привёл к проблемам: https://habr.com/ru/articles/146382/

Комментарии (14)


  1. altshifter
    12.10.2023 08:00
    +2

    кек, випнеты по этому поводу не парятся с 1991 года)


  1. YellowPage
    12.10.2023 08:00

    А для чего? Кажется, что для крупных организаций риски слишком велики, а для мелких/средних хватит и RFC1918.


    1. altshifter
      12.10.2023 08:00

      когда есть куча присоединённых LAN сетей которые захватывают всю серую адресацию. И например для впнов(опять таки випнет:)) некоторые юзают что попало

      но я лично осуждаю


  1. net_racoon
    12.10.2023 08:00

    А что будет когда этот блок появится в BGP, а вы его уже заюзали в сети?

    Не знаю зачем оператор сделал такой костыль. Если опасаются пересечения внутри сети пользователя, то можно взять не самый популярный диапазон, как на том же микроте 88ой. Ну либо можно взять 10ку, с роутером домохозяйки оно не пересечется, а если вы юзаете модем в корпоративной сети- то значит админ перенастроит этот модем и все.


  1. Tinkz
    12.10.2023 08:00

    предположу что нужно было состыковать какие-то большие инфраструктуры и чтобы не париться с пересечением адресов просто взяли 11.х.х.х


    1. baldr
      12.10.2023 08:00

      "Не нужно пытаться искать здравый смысл там, где можно объяснить это глупостью". (Бритва Хэнлона)


  1. multipassport
    12.10.2023 08:00
    +4

    100.64.0.0/10 выделен IANA (https://datatracker.ietf.org/doc/html/rfc6598) как раз для того, чтобы оператор мог назначать клиентам адреса из этого блока, которые не пересекутся с теми, что используется клиентами, то есть приватными. Большинство крупных операторов в РФ, если не все, используют сейчас эту адресацию. И уже эти адреса транслируются в дефицитные публичные (CG-NAT). Это мера используется, чтобы дотянуть до повсеместного внедрения IPv6. Так что эти адреса не следует использовать в своих целях, чтобы потом переделывать не пришлось. Так же, как и использовать публичные адреса в своих сетях. И обратите внимание, что RFC это стандарты и их надо соблюдать, несмотря на их интеллигентное название. Если каждый будет делать, как ему нравится, то результат очевиден.


    1. mafet Автор
      12.10.2023 08:00

      А будет ли повсеместный и бесповоротный переход на ipv6?... Ну про соблюдение RFC я написал. К чему приведёт не соблюдение RFC покажет только время.


      1. multipassport
        12.10.2023 08:00
        +1

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


        1. mafet Автор
          12.10.2023 08:00

          Да, с поддержкой оборудованием есть вопросы. Очень неспешно это всё внедряется. Но наверное рано или поздно внедрится.

          Правда у меня до сих пор остаётся чувство, что что-то в ipv6 не так. Например с самого начала я недоумеваю, зачем нужно /64 выделять на пользователя и будто бы, если давать меньше, то даже устройства с поддержкой ipv6 будут работать не так, как нужно. Это к статье конечно совсем не относится, хоть я там и писал про "выделение чрезмерных блоков для простых задач", но кажется, что это не правильно.

          "Несоблюдение стандартов в своей профессиональной области много говорит о специалисте. " - интересное мнение, но тут тоже не всё так просто. Можно не знать стандартов и не соблюдать. Можно знать и не соблюдать бездумно, не думая о последствиях. А есть смешная третья опция.


        1. vm03
          12.10.2023 08:00

          Будет.

          А мы доживём до этого? За последние пару лет обшался с 10ю домашними провайдерами в Москве и области. Из них только один выдает IPv6. Остальные девять нет и говорили ,что и в планах нет...


          1. multipassport
            12.10.2023 08:00

            У крупных будет, а потом и мелкие подтянутся, если их не скупят всех. Если не скупят, то маркетологи крупных быстро в конкурентное преимущество наличие публичного IPv6 превратят.


  1. qw1
    12.10.2023 08:00
    +1

    Похоже на давнюю историю, когда софт для создания игровых локалок (hamachi) взял себе "неиспользуемый" диапазон 5.0.0.0/8, а потом адреса из этой сети стали выдаваться как публичные абонентам ЭрТелекома...


    1. mafet Автор
      12.10.2023 08:00

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

      добавил этот случай в статью, спасибо!