Записки IT специалиста
7.97K subscribers
1.57K photos
51 videos
15 files
2.23K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
加入频道
Как стать разработчиком на Python?

🔥Бесплатный пошаговый план развития от основ до профессионального уровня

Узнаете, что и как изучать поочередно, чтобы стать востребованным специалистом на рынке IT cо средней зарплатой 210 000 ₽

👉Забрать бесплатный гайд 👈

#реклама
О рекламодателе
erid: 2W5zFH7YwAg
🤮3👍1👀1
​​И снова спрашивали про ценообразование, и снова отвечаем.

Про почасовку

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

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

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

Но здесь тоже есть свои тонкости. Если сначала эта работа занимала у вас два часа, потом вы набили руку и стали укладываться в час. Снижать цену?

Или вы написали скрипт, который все делает за вас. Тут тоже заказчик может задать вопрос – а за какие часы я плачу? Если ты только два раза по файлу кликнул, а потом сидел смотрел в экран?

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

А если выставили время, то будьте добры его отработать. Или сократить свои хотелки согласно реально отработанного времени.

Мы не раз и не два сталкивались с конфликтами, когда внедренец по ТЗ выставлял, скажем, 200-250 часов, закрывал их силами одного специалиста за месяц, а после чего заказчик отказывался оплачивать счет и настойчиво интересовался, каким образом это физически стало возможно. Может специалист там на цепи сидит?

Может он в чем-то не прав? Может. Потому что в нашей отрасли час давно перестал быть физическим часом и служит неким средним мерилом по отрасли. Мол средний специалист средней квалификации сделает эту работу за час. А наш ведущий потратит всего 15 минут.

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

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

При этом внутри своей кухни вы можете по-прежнему их использовать для оценки стоимости работ.

Но наружу вместо часов вы должны выставлять услугу. Услуга – это законченное действие, имеющее четкий, заранее оговоренный результат, который принимает заказчик. И фиксированную стоимость.

А дальше уже не важно сколько времени вы потратили на ее реализацию. Обещали неделю, а справились за три дня – молодцы, сразу видно настоящих профессионалов! А цена? Какой была – такой осталась. Заказчик платит за результат.

Набили руку, стали делать работу за час вместо двух? Отлично, эффективность повысилась, по деньгам вы не просели, и никто даже не подумает задавать подобные вопросы.

Договаривались на что? На результат. Вот результат. Вот деньги. Все просто, понятно, прозрачно. И заказчик еще на берегу понимает за что платит. Цена устраивает? Значит работаем.

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

Например, вы проводите обучение сотрудников заказчика. Договорились на два часа: час лекция, час ответы на вопросы. В итоге все растянулось на три. Не вопрос, выставляем в счете три часа, вопросов ни у кого не будет, все всё понимают.

Во всех остальных случаях, когда используемый вами человеко/час является неким средним по палате он должен всегда превращаться в штуки, литры, килограммы – т.е. в некую конечную единицу, которую вы отгрузите заказчику и которая будет ему понятна.
👍71💯103
​​Вопрос ценообразования

Сегодня был поднят интересный вопрос – как и на основании чего формировать цены. Как понять – много это или мало? Как не отпугнуть заказчика, но и не продешевить?

Начнем с того, что это рынок, на котором присутствуют самые разные заказчики и самые разные исполнители, поэтому цены на в общем-то одно и тоже будут совершенно разные.

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

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

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

И вот здесь важно понимать, что, работая с заказчиком нужно попасть именно в эту ценовую вилку. Дороже – с вами работать не будут, дешевле – тоже не будут.

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

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

И это действует везде, вы, когда выбираете товар или услугу действуете примерно по схожему принципу: не дороже XXX руб., но не дешевле YYY руб. Причем именно низкая цена вызывает больше опасений, нежели высокая.

А теперь вернемся к нашим баранам, так куда именно пойти податься на этом рынке, в какие ряды стать? Не хотелось бы, как говориться, угодить свиным рылом в калашный ряд.

Поэтому, прежде всего, нужно трезво оценить свои возможности, знания, умения и наличие опыта.

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

После того, как вы примерно оценили собственный уровень – начинаем изучать цены по рынку. И сопоставлять их с уровнем исполнителя. Таким образом вы примерно составите общее представление об уровнях цен и квалификациях исполнителей услуг.

А дальше примерно вычисляем собственного заказчика. Того, в чью ценовую вилку вы вписываетесь. Или даже ниже, кому вы можете сделать «скидку».

Такая политика гораздо более выгодна, чем демпинг у более «дорого» заказчика. Так как здесь у вашего клиента будет ощущение, что ему повезло и он смог получить себе более дорого и квалифицированного исполнителя.

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

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

А оно вам надо? В обоих случаях вы получите сопоставимые деньги. Но в первом случае вы будете работать спокойно. А во втором с вас спустят все шкуры. За тот же самый прайс.

Тут уместно вспомнить старый и пошлый анекдот, про то, что лучше быть клоуном у представителей запрещенных меньшинств, чем представителем меньшинства у клоунов.

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

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

Но есть еще и личное. Если ваш клиент делает вам персональные скидки, обслуживает вне очереди и вообще вам приятен в общении – оставляйте для него старые цены.

У меня есть такие заказчики, с которыми мы вместе выросли. Но это уже личное и внерыночное ценообразование.
👍57🌭21
​​Специалист ну очень широкого профиля

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

И каждый раз выяснялось, что занимаются коллеги классическим «пойди туда – не знаю куда, принеси то – не знаю что». Процитирую:

…потом выясняю, что им какой то 3Д вьювер нужен, который на встроенной графике не работает, начали смотреть требования…, я говорю ща порешаем, привожу на следующий день свой 710 Жефорс, запускаем на нем, прога летает …, я нахожу в ДНС им 710, присылаю им счет, она его оплачивают, но им в ломак ехать забирать, я опять еду к клиенту беру доверенность, в ней в ДНС…

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

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

А коллеги терпят и бегают как дрессированная собачка боясь потерять эту самую сумму денег.

Поэтому скажу сразу, пусть многим это и не понравится: нет, ребята, так вы денег не заработаете, только проблем себе наживете и будете вечным мальчиком на побегушках, условием получения денег для которого будет «хорошее поведение».

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

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

И если с более-менее крупным бизнесом это понятно, то с мелким и очень мелким, который мы разбираем в сегодняшнем примере критерии очень размыты. Ну вот вы решили весь этот квест и заработали пару-тройку тысяч рублей. Профит?

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

А еще у заказчика могут возникнуть новые вопросы и проблемы и вам снова придется доделывать и переделывать и не факт, что вам за это заплатят или далеко не ту сумму, что надо бы, потому что это «ваши косяки», потому что это «вы недоделали».

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

Как мы уже говорили – это бизнес. И проблемы вашего контрагента – это проблемы вашего контрагента, которые не следует перекладывать с больной головы на здоровую. Нет, переложить можно, но с соответствующей оплатой.

А это говорит о том, что не нужно заниматься «пойди туда, не знаю куда», а следует четко определить характер и объем ваших услуг.

Купить ПК и поставить ОС – ОК, вот вам ПК с системой, с вас денежка. Спасибо, держите работайте.

Что, проблемы с каким-то приложением? Ну так, а мы тут причем, тем более что вы нас не предупреждали. Можем посмотреть, готовьте столько-то денег. Вот видеокарта нужна. Дорого? Ну так не мы эти цены ставим.

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

В свою очередь вас никто не будет лечить, стричь или отпускать продукты бесплатно. Поэтому ничего личного, вы делаете свою работу, за деньги. Бесплатно могут решать свои проблемы сами.

Не могут забрать? Ну так есть курьерская доставка. В крайнем случае можно и съездить, но по расценкам такси. И это не входит в сумму работы.

Вы же не курьер? Вы квалифицированный компьютерный специалист, который знает цену своему времени.
👍89🔥8👏321
🔥Бесплатный видеоурок по основам Python от сеньора бэкенд разработчика

На уроке разбираем:
🟡основные функции Python
🟡создание и использование функций в Python
🟡расширение функциональности

А еще собираем свой первый калькулятор на Python!

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

👉Забрать бесплатный урок по Python 👈

#реклама
О рекламодателе
erid: 2W5zFJNEgM6
👍2
​​Мир сходит с ума?

Некоммерческая организация Apache Software Foundation, предоставляющая нейтральную и не зависящую от отдельных производителей площадку для разработки около 400 открытых продуктов, объявила о решении полностью изменить логотип, убрав из него изображение пера, используемого как символ проектов Apache с 1997 года. Новый логотип, который будет выбран путём голосования членов организации, намерены представить 7 октября на конференции Community Over Code.

В качестве причины прекращения использования былой символики упоминается недовольство организации Natives in Tech, отстаивающей интересы коренных народов.

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

Кроме смены логотипа борцы за права индейцев также требовали переименовать организацию и прекратить использование слова Apache, но сообщество пока ограничилось переименованием конференции ApacheCon в Community Over Code, но отказалось переименовывать организацию из-за больших затрат и юридических сложностей.

☝️ На месте индейцев я бы не выпендривался, а наоборот бы еще занес в Apache Software Foundation чтобы они продолжали в том же духе.

Ибо кто бы о них сейчас еще вспомнил...
🤡41👍19💯5👎3👀1
​​Проблема мелкого прайса

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

И это действительно так, если вы и дальше собрались делать все подряд за мелкий прайс, то так и продолжите постоянно этим заниматься без перспектив и просветов.

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

А теперь немного простой арифметики. Допустим ваша цель – 100 000 руб. в месяц. В месяце 30 дней, из них в среднем 21 день рабочий.

Таким образом вам нужно зарабатывать порядка 4 700 руб. в день, что за мелкий прайс означает, что вам нужно успеть окучить не одного клиента. Фактически вы будете бегать как собака с утра до ночи положив язык на плечо.

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

Ну и ваша ценность в глазах заказчика будет на уровне «мальчика, который делает все подряд». Т.е. уровень разнорабочего на стройке. А вот вы, делая ремонт кого позовете класть плитку? Плиточника с отзывами, но дорого, или разнорабочего, но за мелкий прайс?

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

Летом я много времени проводил в райцентре на 14 000 человек по причине внезапно нарисовавшегося объекта недвижимости по типу «домик в деревне». Мог проживать там неделями, работая удаленно, при этом легко и непринужденно нашел себе еще пару клиентов.

Просто разговаривая с предпринимателями в местных магазинчиках. И они были очень рады что ими займется кто-то из «городских». А почему? А потому что местные все «занимаются всем подряд», ну какие из них специалисты.

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

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

И перед тем, как пытаться возражать снова вспоминаем разнорабочего на стройке, доверите вы ему класть дорогую плитку?

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

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

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

Получается заколдованный круг. Как из него вырваться? Только единственным образом – прекращать работу за мелкий прайс.

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

Потому что в провинции и мелких городах остро не хватает экспертизы, т.е. специалистов действительно с узким опытом и глубокими знаниями, и поэтому при возникновении подобных вопросов ваши клиенты приглашают «городских».

Кто мешает их заменить? Узость рынка? Так вы не в вакууме живете, интернет и удаленка, соседние городки и райцентры. Вот вам вполне приличная кормовая база. И без унылой беготни за копейки.
👍46💯15🥱62😁2
Управлять сложными сценариями с минимальными рисками сбоя? Да, это реально

27 января стартует курс «Kubernetes Мега» от учебного центра Слёрм: повышайте устойчивость, безопасность и производительность своих приложений, не ломая кластеры и не роняя прод.

За 7 недель вы научитесь:
- переносить продукт на платформу k8s
- разворачивать отказоустойчивые кластеры
- ускорять траблшуттинг
- повышать отказоустойчивость продукта
- разворачивать и обслуживать кластер с автоматической ротацией сертификатов, автодеплоем и правильным хранением секретов

⭐️ ОБНОВИЛИ ВЕСЬ КУРС в сентябре 2024 

Старт потока — 27 января
➡️7 недель обучения
➡️78 часов практики
➡️7 встреч со спикерами
➡️Итоговая сертификация

Ознакомиться с программой курса и занять место на потокепо ссылке 👈

#реклама
О рекламодателе
NanaZip - 7-Zip с человеческим лицом

Все знают архиватор 7-Zip, он всем хорош, особенно если речь идет о лицензионной чистоте рабочего места. Но есть один существенный недостаток: интерфейс явно застрял в «далеких и светлых», но это половина беды, а вот отсутствие интеграции с контекстным меню Windows 11 – это уже более серьезно.

Но так как это открытое ПО, то нашлись те, кто решил эту проблему, встречайте NanaZip – форк, главным принципом которого стало органично вписать 7-Zip в интерфейс современных ОС Windows.

Не сказать, что это полностью получилось, но NanaZip выглядит гораздо более приятно и нормально интегрирован в контекстное меню Windows 11.

Получить приложение можно на GitHub - https://github.com/M2Team/NanaZip

Или в Магазине Windows - https://apps.microsoft.com/detail/9n8g7tscl18r
👍32🥱13🤔3👨‍💻2😱1
​​Про помогаторов

И в заключение нашего новогоднего цикла «за жизнь» рассмотрим еще один феномен – как помогаторство.

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

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

Например, аппаратные средства заказчика явно не соответствуют решаемой задаче. Правильно – это сделать стоп и довести до заказчика реальные требования. А не соглашаться «ну сделать пока как-то так, а там решим».

Потому что ничего «там» не решат, а будут тянуть полудохлую систему до последнего, постоянно прося вас «что-то» сделать. И если вначале просить будут вежливо и даже давать денег, то потом начнут просто требовать и возмущаться, потому как мы тебе столько денег заплатили, а ты нормально ничего сделать не можешь.

А попытка таки вернуть ситуацию на стартовую позицию с покупкой адекватного железа обернется тем «а почему ты мне сразу не сказал» и вряд ли вы снова что-то нормально заработаете. Плюс вам заказчик будет постоянно внушать чувство вины за ваш прошлый «прокол».

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

Ему нужно работать? Ну так пусть покупает адекватное железо или ищет неадекватного исполнителя, которому потом будет иметь мозги как у него все плохо и это все потому, что исполнитель не может ничего нормально наладить.

Еще раз – это его бизнес и его проблемы. А не ваши. Ваша проблема – заработать указанную сумму денег без лишних проблем и заморочек. Пытаясь решить проблему заказчика подобным образом, вы только перекладываете чужие проблемы на себя.

При этом проблема никуда не денется, ее придется решать, только уже не заказчику, а вам. Так как голова начнет болеть ни у него, а у вас. Потому что это вы ему пообещали сделать хоть как-нибудь, и он с вас будет требовать обещанное.

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

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

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

Здесь все гораздо проще. Доступно объясняете заказчику, на понятном ему языке, что может произойти и какие варианты вы предлагаете на этот случай. Отказывается – объясняем еще раз. Предельно понятно. Вот это сервер, он сгорел, нафиг, совсем, ничего нет. Что делать будешь?

Снова отказывается? Ну это его проблемы. Спокойно уходим, а если он таки прибегает с такой проблемой, то разводим руками и говорим, что мы его предупреждали. И никаких угрызений совести тут быть не должно. Это его бизнес, его риски. Вы сделали ровно то, что вас просили, остальное не ваши проблемы.

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

Хороший пример был в комментариях, мол вы настроили нам обмен, а теперь у нас не идут остатки. Тут все просто, обмен – это обмен. Работает? Ну прекрасно, вот акт, вот счет.

Надо что-то решать с остатками? Это другая услуга, стоить будет примерно столько. Устраивает? Работаем.

Иначе вы так и останетесь помогатором, который будет тратить собственное время и решать при этом чужие проблемы за собственный счет.
50👍746👏4🌭2💯1
Ну что, пообещали себе в этом году наконец-то начать заниматься английским?

Подсказываем, что читать, чтобы точно не остаться без мотивации: на канале «Гапонова и её английский» на актуальных примерах понятно объясняют грамматику, учат правильному произношению и знакомят с лексикой по горячим темам:

brat summer
эстетика уставшей англичанки
вечеринки у P Diddy дома
дело Луиджи Манджоне
слова года

🎁Заходи на канал и забирай в закрепе подборку бесплатных материалов для изучения языка

Подписывайся на @gaponova и учи английский с удовольствием!

#реклама
О рекламодателе
erid: 2W5zFJYXDcc
😁7
Ошибка: Не удалось записать RSA сертификат. Попробуйте еще раз

Достаточно редкая ошибка ЕГАИС и не все знают куда бежать и что делать. Прежде всего смотрим в лог, файл utm/transport/l/transport_info.log

И находим там строки:

java.security.KeyStoreException: invalid KeyStore state: found  3 private keys sharing 


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

Проблема достаточно редкая и найти ее описание не просто, хотя оно есть в базе знания Рутокен: https://dev.rutoken.ru/display/KB/RU1009

Суть проблемы в том, что при формировании нового RSA-ключа старый не удаляется и возникает задвоение ключей, о чем и написано в логе. В результате на ключе оказывается три объекта: ГОСТ и 2 RSA ключа. Попытка ручного удаления RSA-ключей также завершается ошибкой.

Если вы будете продолжать попытки формирования ключа с помощью УТМ ЕГАИС дублей станет больше (и число в сообщении лога увеличится).

Решение простое – скачать и применить утилиту, указанную на странице базы знаний Рутокен.
👍42🔥4🤮1🌭1
​​Еще раз про «соединения» WireGuard

Очень часто от коллег, да и в материалах в сети можно встретить упоминания о «соединениях», «подключениях» или «переподключениях» относительно WireGuard, что создает неправильное и искаженное восприятие происходящих процессов.

Это сильно мешает пониманию работы протокола, отладке и поиску неисправностей. Поэтому давайте разберемся как работает WireGuard на самом деле.

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

Туннель WireGuard относится к туннелям без сохранения состояния (stateless), так же, как и туннели GRE или IP-IP. Это означает, что он не запоминает предыдущего состояния и не имеет никакого представления о состоянии противоположного узла.

Тем более, что в качестве транспорта используется UDP – транспортный протокол без подтверждения доставки.

В момент запуска службы WireGuard читает конфигурационные файлы и создает туннельные интерфейсы, если конфигурация не содержит ошибок, то интерфейс переходит в состояние Активен (UP) вне зависимости от состояние противоположной стороны.

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

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

Его задача получить пакет, попадающий под одно из правил криптографической маршрутизации (не путать с маршрутизацией пакетов L3), зашифровать нужным ключом и отправить противоположному узлу (peer).

А дойдет пакет или не дойдет локальный экземпляр WireGuard не волнует, у него все хорошо, он работает. Точно также и с входящими пакетами, если пакет подпадает под правила – расшифровываем, нет – отбрасываем.
Погодите, погодите, а как же «WireGuard-сервер», адрес которого мы указываем в настройках «клиента»?

Мы не даром взяли эти термины в кавычки, на самом деле их использование некорректно. Все узлы WireGuard равнозначны и самодостаточны. Тот узел, который инициирует подключение называется инициатором, тот, который его принимает – ответчиком или респондером.

Один и тот же узел может быть и ответчиком и респондером одновременно. Но классического соединения в понимании сеанса связи не устанавливается.

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

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

Получили ответ хорошо, нет – тоже хорошо. WireGuard это не волнует, эти вопросы должно решать сетевое ПО, которое использует туннель.

А как же опция persistent-keepalive? Но она также никак не связана с «поддержанием» соединения. Ее задача совсем в ином. Если инициатор находится за NAT, то при первом обращении к ответчику в брандмауэре создается установленное соединение (ESTABLISHED) и формируются таблицы трансляции NAT.

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

Внешне это будет выглядеть как отвал пира инициатора со стороны ответчика. При первом же пакете от инициатора к ответчику связь снова будет восстановлена.

Для сохранения состояния брандмауэра и таблиц трансляции WireGuard может отправлять ответчику нулевой пакет через промежуток времени указанный в опции persistent-keepalive.
👍8671😁1
SSH/SFTP/RDP/VNC-клиент МС22 — решение для удалённого управления и конфигурирования сетевого оборудования, сделанное с заботой об админах.
Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС.
Есть возможность работы в нескольких вкладках, подсветка синтаксиса, быстрые клавиши и готовые шаблоны, различные инструменты автоматизации и приятные мелочи (типа соблюдение стандарта FHS установочным пакетом).

Посмотреть и бесплатно потестировать можно тут - https://МС22.рф.
В процессе обеспечим оперативную поддержку и гарантированно прислушаемся к обратной связи!

#реклама
О рекламодателе
🤣35👎30👍7🤡6🤮5
​​Довольно поучительная история про GPL и коммерческих производителей.

Правозащитная организация Software Freedom Conservancy (SFC), предоставляющая юридическую защиту свободным проектам и отстаивающая необходимость соблюдения лицензии GPL, объявила об успешном завершении судебного разбирательства с компанией AVM, связанного с невыполнением условий лицензии LGPL в прошивках маршрутизаторов. Дело было открыто в немецком суде по иску Себастьяна Штека (Sebastian Steck), потребовавшего предоставить исходный код компонентов прошивки, распространяемых под лицензией LGPLv2.1, а также скриптов, используемых для их компиляции и установки.

Поводом для подачи иска стал отказ компании AVM предоставить полный исходный код библиотек, задействованных в прошивке беспроводного маршрутизатора AVM FRITZ!Box 4020. Как потребитель, купивший данное устройство, Себастьян запросил доступ к коду компонентов, основанных на открытых библиотеках uClibc, libblkid, libexif и libosip2, изначально распространяемых под лицензией LGPL и, среди прочего, применяемых в прошивке для организации ведения журнала передачи данных. В ответ компания AVM предоставила неполные исходные тексты библиотек, которые не могли быть скомпилированы и использованы в прошивке.

В досудебном порядке было предпринято несколько попыток убедить AVM выполнить условия лицензии LGPL, но компания отказалась предоставлять полный код. В июле 2023 года был подан судебный иск, который летом 2024 года был удовлетворён судом, так как ответчик не смог обосновать свой отказ выполнить условия LGPL. Две недели назад истёк срок подачи апелляции. Компания AVM не стала оспаривать решение, передала истцу код запрошенных компонентов прошивки и оплатила судебные издержки.

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

В целом и у нас есть непаханое поле, особенно на фоне импортозамещения, только вот правоприменительная практика совсем другая 😢
👍23👀8🔥2🤔2
​​Поддержим молодых авторов

Не так давно на дружественном нам канале https://yangx.top/srv_admin автор выступил с инициативой поддержки молодых авторов. Мы также изъявили желание принять посильное участие в этом проекте.

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

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

Поэтому важно вовремя найти баланс и подвести под данный вид деятельности экономическую базу. Проще говоря – монетизировать проект.

Ничего зазорного в этом нет. Человек тратит свое время, делится своими знаниями, причем делает это в удобной и понятной для восприятия читателями форме. И получать разумное вознаграждение за такую деятельность – это нормально. Вы приносите пользу читателям, читатели благодарят вас материально.

Как отблагодарить? Прежде всего добавьте сайт в закладки и отключите блокировщик рекламы. Нравится вам она или нет, но именно реклама является основным источником дохода статейного сайта.

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

Просто уважайте труд авторов, баннеры есть не просят и ни к чему вас не обязывают. А автор в конце месяца получит небольшую прибавку к семейному бюджету и избавится от назойливых вопросов жены «что ты там сидишь за своим компьютером, вынеси наконец елку».

Что еще можно сделать? Отправить донат. Но как показывает практика, данная схема у нас не работает. Культуры донатов как таковой у нас нет. Мы прикола ради каждый новый год считаем сумму донатов и она не превышает за год 5-6 тысяч рублей.

Если вы не готовы поддержать автора материально, то подпишитесь на его каналы и группы, а также включитесь в обсуждение или оценку материалов.

Потому как кроме материальной составляющей очень важна обратная связь от читателя, не важно, восторженная или критическая. Без такой связи появляется ощущение того, что пишешь в стол, что резко снижает, точнее даже убивает желание писать что-то дальше.

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

Но и материальная часть важна. Без рабочей бизнес-модели сайт очень скоро станет обузой и с очень большой долей вероятности будет заброшен и забыт. Примеров тому множество.
👍724💯3