Category: авто

Category was added automatically. Read all entries about "авто".

Cat-angry

Juniper + IPSec + MTU = баги

Хотите еще багов ждунипера? Их есть у меня. Наступил на очередную пачку. Причём, практически на ровном месте.

Вводные следующие.

Есть IPSec-тоннель с шифрованием AES256GCM. Для семейства шифров со счётчиком Галуа (GCM) не требуется подпись пакета, поэтому при MTU физического линка равному 1500, overhead будет составлять всего 54 байта: 20 на новый IP-заголовок ("обёртка"), 8 на заголовок ESP, 16 на Initialization Vector и 10 на всякую служебную информацию для ESP. Таким образом, MTU для виртуального ST-интерфейса при таком выборе шифра может быть вплоть до 1446 байт.

Ну ок, не подозревая дурного, настраивают примерно так.

... и нихрена не работает. По симптомам, типичная проблема поломки механизма Path MTU Discovery: мелкие пинги бегают, большие теряются, HTTPS не работает.

Лезу проверять. Так и есть. Juniper SRX вот ни разу не удосуживается вернуть Fragmentation Needed (ICMP type=3 code=4) хосту из локальной сети, который пытается послать через тоннель пакетик общей длиной 1500 байт. Ну охренеть. Продолжаю экспериментировать.

Сперва просто убираю директиву "mtu" из настроек ST-интерфейса. Всё работает. Почему? Да он просто начинает втихаря фрагментировать ESP-пакеты, которые потом так же молча собираются с другой стороны. Ну охренеть два раза. Почему тогда в первом случае не стал фрагментировать так же втихаря?

Ладно. Копаюсь дальше. Включаю в настройках "security ipsec vpn" директиву "df-bit copy". Вау, работает! Немного странновато, правда (об этом ниже). Но во всяком случае, Fragmentation Needed уже возвращается. Хотя судя по документации, эта настройка вообще не про то.

Дальше веселее. У меня дома в качестве роутера установлен старенький SRX100H2 с 12-й версией прошивки (свежее для него просто не существует). Там работает всё как надо. То есть я не выставляю никаких "df-bit copy", железко чётко соблюдает MTU и возвращает Fragmentation Needed. А вот Juniper SRX-345 с прошивкой 15.1 ведёт себя вот так вот по-свински. Видать, в новых версиях устранили старые неработающие баги и добавили новых работающих. На более свежих прошивках пока что нет возможности проверить. Хотя, говорят, в офис уже притащили "лабораторный" SRX. Если лапки дойдут, посмотрю как на нём.

Но это только первый баг. Есть ещё и второй.

SRX как-то очень загадочно считает MTU для интерфейса внутри тоннеля. Я выше упоминал, что для таких шифров он должен быть 1446 байт. Сам Juniper же почему-то настаивает на значении 1438 байт. Во всяком сучае, именно столько он присылает в ICMP type 3. Но и это ещё не всё.

Если одновременно включить "df-bit copy" и "mtu 1446", то Juniper в ICMP type 3 присылает уже 1428 байт! Можжевельник, я вот не понял. Если ты типа умнее меня и лучше меня умеешь считать оверхеды, то какого хрена ты меняешь свое мнение после того как я задам MTU на "внутреннем конце" тоннеля? И какого хрена ты выставляешь там своё значение, даже пусть бы моё и якобы неправильное?

В общем, как всегда. Чем дальше, тем страшней. Похоже, софт для этих Juniper-ов пишут не просто индусы, а индусы под кайфом, за которыми никто даже близко не потрудился проверить. Я не знаю как это по-другому можно объяснить.

Lynx

Ночь. Улица. Светофор. Фрейд.

Мне кажется, или это у вас светофор какой-то х**вый?

Нерезиновск, недалеко от метро "Медведково". К работе самого светофора претензий нет. И да, вот эти красные "ободки" лично я как водитель всячески одобряю. С ними в темноте хорошо понятно, что там дополнительная секция есть.

Cat-light

Разобрался со swanctl, VICI, XFRM interface, route-based ipsec

Продолжаю свои изыскания на тему IPSec-а. На этот раз попал под раздачу "взрослый" Debian GNU/Linux со своим StrongSWAN. Захотелось посмотреть, можно ли организовывать "нормальную" удобную маршрутизацию через IPSec с Juniper-ом без использования GRE и Dummy-интерфейсов. Таки можно. Но требуется выполнение четырёх условий.


  1. Ядро 4.19 или более свежее.

  2. iproute2 версии 5.1.0 или более свежий.

  3. StrongSWAN версии 5.8.0 или более свежий.

  4. Конфиг для StrongSWAN писать в формате VICI, а не в "классическом" ipsec.conf

В актуальных версиях StongSWAN-а IKE-демон по имени Charon открывает UNIX-сокет, через который с ним могут общаться разные утилиты: давать команды и скармливать ему конфиги "на лету". В частности, для этого есть утилита "swanctl", плюс плагины для NetworkManager-а. Команды типа "ipsec блаблабла" нынче признаны устаревшими, поэтому ряд полезных фич через конфиг "ipsec.conf" попросту не поддерживается. Так что рано или поздно придется переходить на VICI / swanctl. Как оказалось, это совсем не больно, хотя немного помумукаться и пришлось.

Изначальная хотелка у меня была простая. Есть ноутбук, с которым я везде бегаю. Линуксовый, разумеется. Хочется прямо с него уметь цепляться в датацентр напрямую к Juniper-у. Чтобы не разворачивать дополнительно всякие сервера с OpenVPN и иже с ними. Собственно, рецепт ниже.

Сертификаты я генерировал при помощи старого доброго набора скриптов "Easy-RSA". Не смотрите на буквы "RSA", в эллиптику он тоже умеет. Как закачивать их на ждунипер, уже писал ранее. Далее просто куски конфигов как пример / шпаргалка / напоминашка. Я себе выделил "по-доброму" /29-подсеть. Дело вкуса. Понятно, можно делать как нравится.

Collapse )

Немного комментариев, на тему почему именно так, а не по-другому.

Выбор шифров. GCM-шифры являются более перспективными, не требуют аутентифицирующей подписи в ESP, соответственно дают меньший overhead. Но они доступны только в IKEv2. Раз уж берём IKEv2, то почему бы не взять более быстрые EC-алгоритмы вместо RSA. PRFSHA384 — потому что он захардкожен в Juniper-е и поменять там его нельзя. Если на противоположной стороне пытаться использовать что-то другое, то первая фаза просто не срастётся.

Директива "proxy-identity" в Juniper-е отличается от "traffic-selector" тем, что первая не добавляет автоматически маршруты в таблицы маршрутизации. Соответственно, её можно безболезненно применять для варианта "0.0.0.0/0". Что касается StrongSWAN-а, то там нужно обратить внимание на директивы "if_id_in" и "if_id_out". Это некий идентификатор интерфейса (линка), на который ссылаются XFRM-политики (можно посмотреть командами "ip -d link" и "ip xfrm policy"). Понятно, что оные циферки в настройках swanctl и iproute2 внезапно должны совпадать. Если такие директивы в конфиге swanctl есть, то он тоже не будет сам дописывать маршруты, а оставит их на совести iproute2. Поэтому тоже можно безболезненно писать "remote_ts = 0.0.0.0/0", а дальше уже разруливать средствами iproute2 так, как нам нравится.

Если выставлена настройка "start_action = start", то swanctl автомагически поднимет соединение в момент загрузки конфига. Но последнее тоже надо инициировать. Либо устанавливать пакетик "charon-systemd" (вот ни разу не очевидно), либо дёргать загрузку конфига ручками. Ну или через плагин для NetworkManager-а, кому что милее.

Пусть не смущает underlying interface = lo (dev lo) для настройки xfrm-интерфейса. Это глубоко пофигу, подойдет что угодно, главное чтобы он существовал. Эта настройка нужна только для сетевых карт, которые умеют в аппаратное ускорение (Offloading) IPSec. У вас такие есть? У меня тоже нет. Я даже не уверен, существуют ли таковые в природе.

MTU "внутри" тоннеля выставлен таким, потому что предполагается работа через провайдера, у которого для PPPoE почему-то спускается MTU=1480. Исходя из этого посчитан "внутренний" MTU. Тоннель, а не транспорт, потому что Juniper в Transport-mode IPSec попросту не умеет.

Вроде всё. Маловероятно, что мой опыт захочет повторить кто-нибудь ещё. Поэтому пишу больше для себя, на будущее. Но мало ли...

... Весьма символично, что талисманом всероссийской переписи населения выбран "Цыпа ВиПиН" (привет, VPN). Хотя, другой (не победивший) вариант под названием "Песец-переПисец" мне нравится намного больше. И похоже, не мне одному.

... Если к вам пришло что-то белое и пушистое, то знайте, для вас всё кончено. Это песец!!!11

Cat-angry

Габаритострадания

... Так исторически сложилось, что сейчас у меня "на семью" есть два автомобиля. "Старый" Ларгус с реношным двигателем K4M и Веста с двигателем ВАЗ-21129 (фактически доработанный от "зубила"). Шосукахарактерно, после октября 2017го года последний стал устанавливаться и на "Ларгусы" тоже, но конкретно "мой" сабж сильно древнее.

... Как бы хотелось иметь для них одинаковые аккумуляторы. Резерв, все дела. Допустим, студеной зимой один заряжается дома, второй в машине. Если что-то вдруг срочно понадобилось, то "перекинул" и поехал. Можно даже приобрести три аккумулятора для пущей надежности. Но нет. ВАЗовский не подходит в Рено по пусковому току. А реношный не лезет в ВАЗ по размерам: слишком длинный. Так что облом-с.

... Видел я на Drive2 как один чувак перепилил свою "Весту". Ссылка. Но я на такое пойти не готов. Плюс непонятно, там же слева ребро жесткости на площадке под аккумулятор. Выходит, он его отрезал. И как тогда? Батарея там болтаться будет что ли? В общем, бида-пичалька.

... Таки задушил жабу и купил себе с зарплаты новый телефон. Xiaomi Poco X3. По-русски, наверное правильно читать "Ро-со хэ зэ". С одной стороны, прикольный. Батарейка держит долго: за три дня высадил её только наполовину. Но блин, как же ходить с такой лопатой? Ни в один карман нормально не помещается. А если помещается, то оттягивает. А если не оттягивает, то ни присесть, ни шнурки завязать. Что же случилось с рынком телефонов такое, что с него ушли все малогабаритные модели? Я в курсе, что есть огрызки более-менее маленькие, но это точно не для меня. Придется в рюкзаке, значит, носить. Зато Wi-Fi Calling с Мегафном сразу завёлся. Хорошо теперь, можно хотя бы из дома трындеть по-человечески. Но какой же он сцуко здоровый.

... А вы знали, что если в слове "ЛГБТ" сместить все буквы по алфавиту на одну назад, то получится слово "КВАС"? Чую бесовскую силу, но обосновать не могу.

... Сифон Ани. Ставить в квартиру Оле, Любе или Марине категорически нельзя.

Всем забористого кваса и свежих аккумуляторов.

Cat-angry

Не нарушив не проедешь

Еду по МКАДу. Мне надо направо, по указателю "Медведково, Центр". Подъезжаю ближе, только тогда замечаю, что съезд закрыт. Ну ладно, думаю, проеду дальше прямо, развернусь на "клевере". Ага, щас там. Спереди аккуратно припаркована их же машина за конусами. Получается, надо пересекать сплошную. Во многих подобных местах установлены камеры, которые следят за этим и присылают штраф 500 рублей за несоблюдение требований разметки. В этот раз, вроде, обошлось. Но сам факт. Неужели нельзя было поставить знак или раньше, или хотя бы в самой полосе, а не в кармане, чтобы его было видно издалека?

А вот тут прекрасно. Не факт, что на записи ясно видно. Чувак на "Газели" технично высадил пассажиров прямо на светофоре, находясь в средней полосе. Кроссафчег. Хорошо что там особо никто не "летает". А то досталось бы этим пассажирам.

Мир идиотов причудлив и разнообразен.

Cat-angry

Кегля

Еду себе спокойно, скорость не превышаю, не лихачу, никого не трогаю. И тут из темноты на дорогу внезапно вываливается вот это (видео 12 секунд).

Я немного кирпичей-то отложил. Жалко не саму эту кеглю, а того, кто её когда-нибудь таки собьёт. И дважды непонятно, откуда и куда вообще могло двигаться это тело. Можете посмотреть по координатам на Яндекс.Картах: ссылка. К востоку от дороги есть какой-то посёлочек, но с другой-то стороны особо ничего нет. За бухлом что ли пошел в соседнюю деревню?

Вот так вот едешь-едешь, а тут "бац" — и нежданчик на ровном месте. Еще и как назло, встречка идёт, дальний свет особо не включишь.

Cat-light

Мимолётная мысль #54

Сам не проверял. Но xatkaru как-то у себя в ЖЖ писала, что в Финляндии экзамен на право владения автомобилем принимают коммерческие конторы типа наших "ООО" (общество с ограниченной ответственностью). При этом там вполне себе серьёзно дрючат и за деньги "просто взять и купить" водительское удостоверение не позволяют.

Я вот на минуточку подумал что было бы, если подобную практику распространить на Россию.

На прошлой неделе ездил оформлять диагностическую карту для продления ОСАГО (не надо возражать мне, что она больше не нужна, это неправда). Что я могу сказать? Классическая схема дойки населения. Из бюджета выделяют дополнительные деньги на проверку этих "пунктов техосмотра", а они всё равно плодятся как грибы и проводят те или иные процедуры чисто "для галочки". Как это влияет на безопасность дорожного движения, лично я сказать затрудняюсь. Ну, у меня хотя бы фары, поворотники и стеклоочистители, например, поглядели. На этом всё и закончилось.

Или другой пример. Сейчас уже много где требуют сертификат о вакцинации. Но наш брат чем идти делать прививку, скорее просто купит такой сертификат. Уже, опять же, появились такие фирмочки в количествах и их телефоны-адреса ни для кого не секрет. Вот спрашивается, почему в Финляндии подобный "аутсорс" работает, а в России — никогда?

... Попробовал зарегистрироваться в Zoom-е. На "Яндексовскую" почту письмо о валидации электронного адреса так и не дошло. А вот на GMail — пожалуйста. Zoom таки зобанил Рассеюшку?

Всем исправного автомобиля и работающего Zoom-а.

Cat-light

Мимолётная мысль #53

... В лесу и в парках сейчас очень сыро и грязно. Поэтому два раза в день стабильно шатаюсь по близлежащим к дому кварталам вместе с собакой. То тут, то там наблюдаю припаркованные возле панельных советских многоэтажек "бэхи" (BMW), "мазды" (Mazda), "вольвы" (Volvo) и даже прастихоспади "Ягуары" (Jaguar), в том числе и премиум-класса или спортивные марки. Каждый раз я думаю: "Кто все эти люди и что они вообще забыли в ничем не примечательном спальном районе на дальней окраине Нерезиновска?"