Crt driver что это
универсальный CRT (UCRT) — это компонент операционной системы Microsoft Windows. он входит в состав операционной системы в Windows 10 или более поздней версии, а также Windows Server 2016 или более поздней версии. UCRT доступен с помощью клиентский компонент Центра обновления Windows в более старых операционных системах, которые по-прежнему доступны в расширенной поддержке. Локальное развертывание универсальной CRT поддерживается с некоторыми ограничениями.
Централизованное развертывание
Предпочитаемый способ централизованной установки универсальной CRT — Центр обновления Microsoft Windows. Универсальная CRT является рекомендуемым обновлением для всех поддерживаемых операционных систем Microsoft Windows, поэтому многие компьютеры устанавливают ее по умолчанию в рамках обычного процесса обновления. Первоначальный выпуск универсальной CRT был KB2999226. Более позднее обновление с различными исправлениями ошибок было внесено в KB3118401, и в нем были добавлены дополнительные обновления с дальнейшими исправлениями ошибок и новыми функциями. Для получения последних обновлений выполните поиск support.microsoft.com по фразе "универсальная среда выполнения C" или "Универсальная CRT".
Не все компьютеры с Microsoft Windows регулярно получают обновления через Центр обновления Windows, а на некоторых могут устанавливаться не все рекомендуемые обновления. для поддержки использования приложений, созданных с помощью наборов средств C++ Visual Studio 2015 и более поздних версий на этих компьютерах, доступны распространяемые файлы универсальной библиотеки CRT, доступные для автономного распространения. Эти распространяемые файлы можно загрузить с одной из ссылок KB выше. Распространяемый компонент универсальной библиотеки CRT требует, чтобы компьютер был обновлен до текущего пакета обновления. Например, распространяемый пакет для Windows 7 будет устанавливаться только в Windows 7 с пакетом обновления 1 (SP1), но не в Windows 7 RTM.
Универсальная библиотека CRT является фундаментальной зависимостью библиотек C++. Распространяемый компонент Visual C++ (VCRedist) устанавливает начальную версию универсальной библиотеки CRT (версия 10.0.10240) на компьютерах, на которых еще не установлены. Эта версия достаточна для удовлетворения зависимостей библиотеки C++. если приложение зависит от более поздней версии универсальной библиотеки CRT, необходимо использовать клиентский компонент Центра обновления Windows для полного обновления компьютера. Или же установите эту версию UCRT явным образом. перед установкой VCRedist рекомендуется установить универсальную среду выполнения C с помощью клиентский компонент Центра обновления Windows или MSU. Этот порядок установки может помочь избежать нескольких необходимых перезагрузок.
не все операционные системы подходят для последней универсальной среды выполнения C с помощью клиентский компонент Центра обновления Windows. в Windows 10 или Windows 11, централизованно развернутая версия соответствует версии операционной системы. Чтобы обновить универсальную среду выполнения C, необходимо обновить операционную систему. для Windows Vista до Windows 8.1 последняя доступная универсальная среда выполнения C основывается на обновлении Windows 10 юбилея (версия 10.0.14393).
Локальное развертывание
Локальное развертывание универсальной CRT поддерживается, хотя и не рекомендуется по соображениям безопасности и производительности. библиотеки dll для локального развертывания включены в состав Windows SDK в разделе « Windows Kits\10\Redist\ucrt\DLLs архитектура компьютера» в подкаталоге. Необходимые библиотеки DLL включают ucrtbase.dll в себя и набор библиотек DLL сервера пересылки аписет с именем api-ms-win-*.dll . Набор библиотек DLL, необходимых для каждой операционной системы, различается. Настоятельно рекомендуется включить все библиотеки DLL при развертывании локально.
Для локального развертывания существует два ограничения, которые следует учитывать:
в Windows 10 и Windows 11 универсальная библиотека CRT в системном каталоге всегда используется, даже если приложение включает в себя локальную версию универсальной библиотеки crt приложения. это справедливо даже в том случае, если локальная копия является более новой, поскольку универсальная библиотека CRT является основным компонентом операционной системы на Windows 10 и более поздних версиях.
версии Windows до Windows 8: универсальная библиотека CRT не может быть упакована локально с подключаемым модулем, если она находится в любом месте, но в главном каталоге исполняемого приложения. Библиотеки DLL сервера пересылки Аписет не могут успешно разрешить ucrtbase.dll это в этом случае. К рекомендуемым альтернативным способам относятся следующие.
- Статическая компоновка универсальной CRT.
- Централизованное развертывание универсальной CRT.
- Помещение файлов универсальной CRT в один каталог с приложением.
Развертывание в Microsoft Windows XP
наборы средств Visual Studio 2015 и Visual Studio 2017 продолжают поддерживать разработку программного обеспечения для использования в Microsoft Windows XP. существует версия универсальной библиотеки CRT для Microsoft Windows XP. операционная система Microsoft Windows XP больше не является основной или расширенной. итак, центральное развертывание универсальной CRT на Microsoft Windows XP отличается от других операционных систем.
если Распространяемый компонент Visual C++ установлен в Windows XP, он непосредственно устанавливает универсальную CRT и все его зависимости в системный каталог. он не устанавливается или не зависит от клиентский компонент Центра обновления Windows. Распространяемые модули слияния, Microsoft_VC_CRT_.msm файлы, выполняют те же действия.
Локальное развертывание универсальной CRT в Windows XP осуществляется так же, как и в других поддерживаемых операционных системах.
поддержка библиотеки времени выполнения для Windows XP больше не доступна в последних Распространяемый компонент Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. последний распространяемый пакет для поддержки Windows XP — версия 16,7 (версия файла 14.27.29114.0). Если приложения Windows XP развернуты или обновлены до более поздней версии распространяемого компонента, приложения не будут работать. дополнительные сведения и о том, как получить версию распространяемого пакета, поддерживающего Windows xp, см. в разделе настройка программ для Windows xp.
Не могу найти подробную информацию о том, что такое CRT и зачем она нужна.
Чтобы было проще и больше конкретики ограничимся Виндой И компилятором языка Си, что стоит в студии.
Как я понимаю из уже прочитанной информации CRT- библиотека, которая неявно компилируется линкуется вместе с почти любой программой. Нужна она для того чтобы поддерживать программу, во время выполнения.
Какая то прослойка системных вызовов. И я совершенно не понимаю зачем это нужно. Зачем нужна эта прослойка ?
Почему компилятор просто не преобразовывает функции программы вроде malloc и fopen в системные вызовы, зачем нужна какая то прослойка, которую еще и таскать с собой надо, которая еще и не динамическая.
Еще я слышал, что можно даже вроде как написать свою CRT для программы, если сильно захочется. Как это сделать и как это работает ?
Было бы интересно посмотреть на конкретную реализацию CRT что стоит в студии. Или в Gcc, где ее искать ?
Нужна ли подобная библиотека времени выполнения программам написанным на ASM ?
Например скомпилированных MASM.
Ну в гугле в википедии что ли забанили? CRT/RTL.
Для ассемблера такого не надо, там всё делаешь руками, сам, под каждый процессор и под каждую OS. А язык C и является переносимым по большей части как раз из-за наличия CRT. malloc и fopen в языке C везде одинаковы, но всегда разные для конкретной OS .
Свою CRT написать можно, но это требуется довольно редко и для весьма конкретных и специфических случаев.
Если интересно посмотреть на конкретную реализацию CRT что стоит в студии, то она поставляется вместе со студией в виде исходных текстов, хоть обсмотрись.
Нет, не забанили. Я там почти ничего не понял, слишком мало информации, слишком непонятно. Так же как и на других ресурсах англо и русскоязычных.
Что значит переносимым ? Результатом работы компилятора и линковщика студии является обычный PE файл. PE файл не запустится на linux. Там нужен формат elf. О какой переносимости речь, я не понимаю.
Для винды malloc и fopen всегда одинаковы, это одни и те же системные вызовы.
Си это не язык Java, Java файл заработает и на винде и на линуске потому что для каждой Ос будет своя JVM, в которой запускается программа.
RoflanDaniil, компилятор не знает и не должен знать, что делает функция, даже если она из системной библиотеки, он должен знать только о том, как её вызывать (какого типа аргументы, в каком порядке передавать…).
И их аргументы (их типы, последовательность передачи и т. п.) полностью совпадают? Если нет, то нужна прослойка.
RoflanDaniil, переносимость исходных текстов. Между API вантуза и линукса такого нет и быть не может. А через CRT очень даже может.
pfemidi, ну такая же функция у стандартной библиотеки. Для каждой ОС у каждого компилятора своя стандартная библиотека. malloc и fopen это просто фукнции. Которые в своем коде должны делать системные вызовы.
А для CRT почему то именно выделяют от стандартной библиотеки. И еще заставляют таскать с собой всю библиотеку, даже если программе нужна только одна функция.
RoflanDaniil, malloc и fopen и есть функции из стандартной библиотеки, которые внутри себя дёргают системные вызовы. Но внешне и malloc, и fopen одинаковы в какой бы OS не компилировался исходный текст программы. Поэтому
одинаково хорошо скомпилируется и в Linux, и в Windows, и в QNX, и ещё чёрт знает где, а (упрощённо):
будет компилироваться только в Windows.
И всю библиотеку с собой никто не таскает, таскают только те функции, которые используются в программе. Например если в программе используется только malloc, то код scanf в программу не попадёт.
А CRT помимо того что содержит в себе все функции стандартной библиотеки так же выполняет начальную настройку для дальнейшей благополучной работы этих функций из стандартной библиотеки: устанавливает stack, устанавливает heap, обнуляет статические переменные, регистрирует необходимые обработчики исключений и т.д.
Как уже правильно советовал Illia Nezhyhai про glibc надо почитать. Ну или изучить исходники от Visual Studio как я уже говорил. Потому что рассказывать об этом долго и нудно, лучше уж будет самому один раз увидеть что это такое.
CRT - это реализация стандартной библиотеки Си/С++ для данного компилятора.
ОС обычно пишутся на Си и если в ОС нет реализации функций из стандарта Си, то они реализуются в стандартной библиотеке. Все классы из stdlib С++ реализованы в CRT.
CRT в VS может линковаться как статически так и динамически, в зависимости от опций компилятора. Линкуете статически - у вас распухает ваш исполняемый файл, динамически - пользователь должен предварительно поставить соответствующий vcredist (установку можно встроить в собственный инсталлятор). С точки зрения производительности оба варианта примерно одинаковы.
Вы можете не использовать стандартную библиотеку в принципе (отключив ее опциями компилятора) и работать на прямую с ОС, но это накладывает много ограничений и вы фактически остаетесь с кастрированным вариантом ЯП, т.к. например в С++ даже стандартный new/delete, на сколько я знаю, реализованы в стандартной библиотеке и прямого аналога в ОС нет. Обычно этим никто не заморачивается из-за возникающих проблем, решение которых заметно увеличит время реализации проекта, разве что вам необходимо сделать исполняемый файл минимального размера, максимально быстро стартующий и без зависимостей.
Многое, что вы написали у меня вызывает противоречия.
new/delete нужны чтобы работать с памятью кучи. Для работы с кучей есть специальные системные вызовы.
то есть они должны переводиться компилятором, в эти самые системные вызовы. Больше способов работы с кучей из user mode вроде нет. Тоесть не важно пишу я new /delete или просто системные вызовы heapCreate/heapDestroy. Результатом компиляции должен быть PE файл в котором в секции .text находятся вызовы heapCreate/heapDestroy.
Вы способны самостоятельно сделать системный вызов? Самый банальный open(), например, вот попробуйте, сделайте без рантайма.
Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.
По соображениям безопасности доступ к этим ресурсам ограничен при помощи межсетевого экрана (файервола) по портам и адресам IP. Ежедневную перенастройку доступа при изменении динамических IP сотрудников едва ли можно назвать разумным решением.
Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.
В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.
Надеюсь, что эта статья будет полезна тем, кто впервые столкнулся с необходимостью создания сети VPN или уже использует ее для решения тех или задач, а также тем, кто ищет замену коммерческим реализациям VPN.
С благодарностью приму замечания и предложения по содержимому статьи.
Оглавление
Немного теории
Если раньше для создания безопасного канала передачи данных крупным компаниям и организациям приходилось прокладывать (либо арендовать) кабели и защищать их от физического доступа злоумышленников, то теперь в этом нет необходимости. С помощью VPN можно создавать защищенные виртуальные каналы, работающие через безопасный "туннель" в Интернете. Такое решение может позволить себе любая, даже очень небольшая компания.
Конечно, если предъявляются повышенные требования к защите данных, необходимо применять сертифицированные средства и обращаться к специалистам. Однако уровень защиты, обеспечиваемый OpenVPN, позволяет использовать эту технологию для многих коммерческих приложений.
Почему сеть VPN называется виртуальной и частной?
Виртуальная она потому, что узлы сети объединяются не физическими линиями, а виртуальными соединениями, которые создаются программным обеспечением (ПО) VPN.
Сеть VPN частная, так как к ней могут подключаться только узлы компании, создавшей эту сеть, а не все желающие. На каждом узле сети VPN должно работать ПО VPN. Еще там должны находиться ключи и сертификаты, обеспечивающие узлам доступ к сети VPN и криптографическую защиту передаваемых данных.
Таким образом, сеть VPN может объединять ресурсы (серверы и рабочие станции) компании в единую безопасную виртуальную сеть, созданную на базе Интернета. И теперь сотрудники, работающие удаленно (из дома или из другой страны) будут находиться как бы в общей сети своей компании. Сеть VPN подходит и для консолидации территориально разделенных офисов компании.
Обмен данными по сети
ПО OpenVPN передает данные по сети с помощью протоколов UDP или TCP с применением драйвера TUN/TAP. Протокол UDP и драйвер TUN позволяет подключаться к серверу OpenVPN клиентам, расположенным за NAT.
Для OpenVPN можно выбрать произвольный порт, что позволяет преодолевать ограничения файервола, через который осуществляется доступ из локальной сети в Интернет (если такие ограничения установлены).
Безопасность и шифрование
Безопасность и шифрование в OpenVPN обеспечивается библиотекой OpenSSL и протоколом транспортного уровня Transport Layer Security (TLS). Вместо OpenSSL в новых версиях OpenVPN можно использовать библиотеку PolarSSL. Протокол TLS представляет собой усовершенствование протокола защищенной передачи данных уровня защищенных сокетов Secure Socket Layers (SSL).
В OpenSSL может использоваться симметричная и ассиметричная криптография.
В первом случае перед началом передачи данных на все узлы сети необходимо поместить одинаковый секретный ключ. При этом возникает проблема безопасной передачи этого ключа через небезопасный Интернет.
Во втором случае у каждого участника обмена данными есть два ключа — публичный (открытый) и приватный (секретный).
Публичный ключ используется для зашифрования данных, а приватный — для расшифрования. В основе шифрования лежит довольно сложная математика. Выбранный в SSL/TLS алгоритм зашифрования публичным ключом обеспечивает возможность расшифрования только с помощью приватного ключа.
Приватный ключ секретный, и должен оставаться в пределах узла, на котором он создан. Публичный ключ должен передаваться участникам обмена данными.
Для безопасной передачи данных необходимо идентифицировать стороны, принимающие участие в обмене данными. В противном случае можно стать жертвой так называемой "атаки посредника" (Man in the Middle, MITM). В ходе такой атаки злоумышленник подключается к каналу передачи данных и прослушивает его. Он также может вмешиваться, удалять или изменять данные.
Чтобы обеспечить аутентификацию (проверку подлинности пользователя) протокол TLS использует инфраструктуру публичных ключей (Public Key Infrastructure, PKI) и асимметричную криптографию.
Нужно осознавать, что расшифрование данных без наличия приватного ключа тоже возможно, например, методом последовательного перебора. Хотя такой метод и требует больших вычислительных ресурсов, это только вопрос времени, когда данные смогут быть расшифрованы.
Хотя размер ключа влияет на сложность расшифрования, никакой ключ не дает гарантии полной безопасности данных. Кроме того, существует возможность похищения уже расшифрованных данных и ключей за счет уязвимостей и закладок в операционной системе или прикладном ПО, а также в аппаратном обеспечении серверов и рабочих станций.
Шифрование данных увеличивает трафик и замедляет обмен данными. Чем больше длина ключа, применяемого для шифрования данных, тем труднее будет его подобрать, но и тем заметнее получится замедление обмена данными.
Сертификаты и удостоверяющий центр CA
Как мы уже сказали, при ассиметричной криптографии открытый ключ используется для зашифрования данных, а закрытый — для расшифрования. Чтобы избежать подделки открытого ключа, какая-то третья сторона должна его заверить. В результате этой процедуры создается так называемый сертификат открытого ключа.
Сертификат должна заверить организация, которой доверяют. Эта организация играет роль удостоверяющего центра (Certification authority, CA).
Если создается открытый ключ для публичного использования, в качестве удостоверяющего центра должна выступать коммерческая или государственная организация с неоспоримой репутацией. Эта организация публикует собственный открытый ключ, доступный всем.
Но для сети VPN, создаваемой для своей компании, вы можете самостоятельно создать свой удостоверяющий центр CA и выпускать так называемые самоподписанные сертификаты. Конечно, доверие к таким сертификатам не будет выходить за рамки вашей компании, но во-первых, этого будет вполне достаточно, а во-вторых, самоподписанные сертификаты совершенно бесплатны.
Самоподписанные сертификаты и будут играть роль публичных ключей, с помощью которых узлы вашей сети OpenVPN будут зашифровывать данные. Для расшифрования данных будут использованы приватные ключи.
Сертификаты создаются в соответствии со стандартом X.509. Этот стандарт определяет форматы данных и процедуры распределения открытых ключей с помощью сертификатов, снабженных электронными подписями.
Сертификат X.509 — это публичный ключ, содержащий такие данные, как субъект, владеющий сертификатом, имя узла, период действия, алгоритм и значение подписи сертификата, и т.д. Сертификат должен быть подписан приватным ключом удостоверяющего центра (Certification authority, CA).
Когда наш узел рабочей станции подключается к удаленному узлу (серверу) с использованием протокола TLS, сервер отправляет ему сертификат X.509. На нашем узле есть публичный ключ удостоверяющего центра CA, который подписал этот сертификат. Этот ключ используется для проверки подписи.
Таким образом, имеется способ проверки удаленного узла (сервера), к которому наш узел собирается подключиться, чтобы исключить "атаки посредника" MITM.
Список отзыва сертификатов
Иногда требуется блокировать доступ отдельных узлов к сети VPN компании, например, заблокировать доступ рабочей станции уволенного сотрудника.
Для упрощения этой процедуры в OpenVPN предусмотрен список отзыва сертификатов (Сertificate Revocation List, CRL) и простые средства для управления этим списком.
Список CRL создается в удостоверяющем центре CA и потом копируется на сервер OpenVPN. После внесения изменений в список CRL его необходимо повторно скопировать на сервер OpenVPN.
Файл Диффи-Хелмана
Файл Диффи-Хелмана (Diffie-Hellman) необходим для реализации одноименного протокола, позволяющего использовать небезопасный канал для получения общего секретного ключа. Этот ключ будет в дальнейшем использоваться для защищенного обмена данными с помощью алгоритмов симметричного шифрования.
В применении к OpenVPN файл Диффи-Хелмана нужен для обеспечения защиты трафика от расшифровки, если ключи были похищены. Здесь имеется в виду тот трафик, который был записан и сохранен еще до похищения ключей.
Файл Диффи-Хелмана создается на сервере OpenVPN.
Статический ключ HMAC
Компоненты сети OpenVPN
Прежде чем мы перейдем от теории к практике, перечислим основные компоненты сети OpenVPN и объекты, с которыми нам придется иметь дело.
Удостоверяющий центр CA
Выдает сертификаты по запросу узлов сети VPN, подписанные сертификатом удостоверяющего центра. Предоставляет узлам сети VPN свой собственный сертификат для проверки удостоверяющей стороны. Управляет списком отзыва сертификатов CRL.
Сервер OpenVPN
ПО сервера OpenVPN создает туннель внутри незащищенной сети, например, Интернета. Этот туннель обеспечивает безопасный зашифрованный трафик между узлами — участниками обмена данными в сети OpenVPN.
Клиент OpenVPN
ПО клиента OpenVPN устанавливается на все узлы, которым необходим защищенный канал передачи данный с сервером OpenVPN. При соответствующей настройке сервера OpenVPN возможна защищенная передача данных между клиентами OpenVPN, а не только между клиентами и сервером OpenVPN.
Сертификаты (публичные ключи) X.509
Сертификаты X.509 представляют собой публичные ключи, заверенные удостоверяющим центром CA. Они используются для зашифровывания данных. Факт заверения сертификата удостоверяющим центром CA позволяет идентифицировать сторону, передающую зашифрованные данные.
Файл запроса на сертификат создается на узлах сети, затем он переносится на узел удостоверяющего центра и там подписывается. Созданный в результате подписанный сертификат переносится обратно на запросивший его узел сети OpenVPN.
Приватные ключи
Приватные ключи секретные. Они должны создаваться и храниться на каждом узле сети OpenVPN, предназначены для расшифрования данных и никогда не должны передаваться по сети.
Приватные ключи создаются на узлах сети OpenVPN одновременно с файлом запроса на получение сертификата.
Список отзыва сертификатов CRL
Содержит список сертификатов, утративших доверие. Он создается и редактируется на узле удостоверяющего центра CA. Чтобы отключить узел от сети, достаточно занести его сертификат в список CRL.
После создания и каждого изменения список CRL переносится на серверы OpenVPN.
Файл Диффи-Хелмана
Используется, чтобы в случае похищения ключей исключить расшифрование трафика, записанного еще до этого похищения. Создается на сервере OpenVPN.
Статический ключ HMAC
Служит для проверки подлинности передаваемой информации. Обеспечивает защиту от DoS-атак и флуда. Создается на сервере OpenVPN.
Готовим оборудование для установки OpenVPN
Если вы впервые настраиваете сеть VPN, лучше всего экспериментировать на виртуальных машинах VDS. Это могут быть VDS, созданные локально на вашем компьютере или на сервере в вашей сети, либо арендованные у провайдера. Перед арендой VDS поинтересуйтесь, поддерживается ли драйвер TUN/TAP. Некоторые провайдеры требуют дополнительной оплаты для подключения TUN/TAP.
На рис. 1. мы показали схему стенда, на котором будем устанавливать компоненты и узлы OpenVPN (имена и адреса IP хостов могут быть другими).
Рис. 1. Стенд для изучения OpenVPN.
Здесь изображены три узла (хоста), для каждого из которых потребуется отдельный VDS:
- сервер OpenVPN (vpnsrv, 192.168.0.54);
- клиент OpenVPN (vpnclient, 192.168.0.55);
- удостоверяющий центр CA (ca, 192.168.0.53)
Хосты клиента и сервера VPN соединены обычным, небезопасным каналом. В случае макета это может быть локальная сеть, в реальной жизни — канал сети Интернет. ПО OpenVPN создает в этой сети канал, обозначенный на рис. 1 красным цветом, внутри которого устанавливается безопасный шифрованный канал (обозначен зеленым цветом).
В макете хост удостоверяющего центра CA можно подключить к вашей локальной сети. Для реальной работы хост CA нужно отсоединить от сети, а обмен сертификатами и ключами осуществлять с помощью, например, USB флэш-диска.
Если к безопасности предъявляются повышенные требования, хост CA необходимо поместить в охраняемое помещение — расположенная на этой машине информация позволяет создавать ключи доступа к вашей сети VPN.
Мы проводили установку серверов OpenVPN в среде ОС Debian Linux и FreeBSD, клиентов OpenVPN в ОС Debian Linux, FreeBSD и Microsoft Windows.
Основная часть статьи посвящена установке компонентов OpenVPN для Debian Linux. Далее мы рассмотрим особенности установки для FreeBSD и Microsoft Windows.
По возможности на узлах сети OpenVPN используйте новые версии ОС. Перед тем как приступить к работе с OpenVPN, обновите пакеты Linux:
Установите на всех узлах пакет пакет zip, если он не был установлен ранее:
Этот пакет будет нужен для распаковки архива утилиты Easy-RSA, с помощью которой мы будем создавать ключи и сертификаты.
На всех узлах настройте обновление и синхронизацию времени.
Синхронизация времени необходима, т.к. сертификаты имеют период действия. Если часы, например, на хосте удостоверяющего центра CA и сервера OpenVPN не синхронны, может получиться так, что выданный удостоверяющим центром сертификат не будет действителен на узлах сети OpenVPN из-за ограничений по дате или времени.
Дальнейшие работы мы начнем с подготовки хоста удостоверяющего центра CA. Затем установим хосты сервера и клиента OpenVPN.
Создание удостоверяющего центра CA
Как мы уже говорили, задача удостоверяющего центра CA — выдача подписанных сертификатов для сервера и клиентов OpenVPN.
Чтобы получить сертификат, сервер или клиент на своем хосте генерирует файл запроса на сертификат. Этот файл запроса передается на хост CA, который создает сертификат и подписывает его. Далее подписанный сертификат передается на запросивший хост.
Одновременно с запросом сертификата создается приватный ключ. Приватные ключи создаются для всех узлов сети OpenVPN: для удостоверяющего центра CA, для сервера и всех клиентов OpenVPN.
Для безопасности файлы ключей никогда не должны покидать узлы, где они были созданы. Обмениваться можно только запросами на сертификаты и сертификатами, приватными ключами обмениваться нельзя и незачем.
На рис. 2 показан процесс получения подписанного сертификата для сервера OpenVPN.
Рис. 2. Получение сертификата для сервера OpenVPN
Сервер OpenVPN создает свой приватный ключ и файл запроса на получение сертификата. Файл запроса передается в удостоверяющий центр, например, на USB флеш-диске.
Удостоверяющий центр на основе запроса создает подписанный сертификат, который затем требуется перенести на сервер OpenVPN, также на USB флэш-диске.
Если к безопасности не предъявляется особых требований или вы только изучаете OpenVPN, можно подключить машину удостоверяющего центра к сети и передавать запросы и сертификаты, например, с помощью утилит SFTP или SCP. Можно даже совместить функции CA и, например, сервера OpenVPN в одном хосте.
Аналогичным образом необходимо получить сертификаты для всех клиентских узлов (рис. 3).
Рис. 3. Получение сертификата для клиента OpenVPN
Установка утилиты Easy-RSA
Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.
Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.
Все операции с удостоверяющим центром и сертификатами можно (и нужно) проводить от имени непривилегированного пользователя.
Создайте пользователя с именем, например, ca и перейдите в его домашний каталог:
Как правильно настраивать мониторы.
Открою всем секрет, почему рябит в глазах на LCD-мониторах (квадратные, резко очерченные точки). Можно с уверенностью сказать что вы просто не поставили драйвер на монитор, о чем я писал выше. Контраст то у вас стоит при этом больше нуля, а с учетом того что это искусственная настройка, ничего общего с LCD-монитором не имеющая, то при всех значениях выше нуля при неустановленном драйвере контраст сильно искажает изображение. Вы можете возразить, что на ноутбуках такой проблемы нету (в смысле драйвера), подскажу, что на них вообще нету настройки контраста.
Как проверить, что искажает изображение - с помощью картинок white_sq.jpg и black_sq.jpg . Для этого изменяем яркость (на CRT) или контраст (на LCD), и маленькие квадратики в центре больших будут то увеличиваться то уменьшаться, значит изображение искажается от изменяемого вами параметра.
Есть еще один вариант проверки, программой CLTest - CLTest.rar (379Кb): изменяем яркость (на CRT) или контраст (на LCD) и первые три столбика будут меняться в цвете и могут даже переходить из голуб-пурпур-желтого (Г-П-Ж) в красно-зеленый-синий (К-З-С). Идеальный вариант цвета этих трех столбиков - серый, такой же как у четвертого столбика (на границе перехода между Г-П-Ж и К-З-С) - это будет означать что цветопередача правильная, но достичь такого результата можно только если правильно выставить яркость (на CRT) или контраст (на LCD), поставить драйвер на монитор (который установит правильный цветовой профиль) и выставить правильную четкость.
Как можно подбирать яркость на CRT мониторе. На телевизоре, яркость подобрал путем уменьшения на небольшое количество с большего значения к меньшему до тех пор, пока не перестало рябить в глазах. Тоже можно попробовать на CRT мониторе. Еще есть вариант выбрать яркость с помощью картинок white_sq.jpg и black_sq.jpg : на белом квадрате при правильном яркости должны быть видны черные квадратики в центре, на черном белые. Ну правда я не сильно доверяю полученному в данном случае результату. Еще вариант, воспользоваться программой CLTest - CLTest.rar (379Кb): CLTest.exe запущен и находится в режиме по умолчанию. Снизьте в мониторе яркость до ~30%, затем медленно повышайте. До какого-то момента цвета на CLTest будут почти неизменными, затем начнут искажаться в сторону голуб-пурпур-желтого (Г-П-Ж). Это свидетельствует о переходе в насыщение, откатываем яркость назад, где цвета еще не изменялись (первые три столбика должны посереть). Этот результат тоже под сомнением, потому что не известно насколько точно получится определить значение яркости, но все равно этот способ не плохо подходит для определения. Мой совет, не используйте эту программу ни в каких других целях, кроме как в качестве тестовой картинки (Надеюсь авторы программы не сильно обидятся).
Если вам по какой либо причине не подходят настройки яркости и контраста, приведенные мной (это в основном касается обладателей CRT мониторов), подберите пожалуйста их сами, можете поставить два монитора рядом и настроить свой монитор так как на втором, на котором с яркостью и контрастом все в порядке.
Что нужно сделать, чтобы от LCD мониторов не болели глаза.
Что нужно сделать, если нет четкости на CRT мониторе.
Это решается уменьшением разрешения (с 1024:768 на 800:600 например), или уменьшением частоты (с 85Hz на 60Hz например). (Для того чтобы изменить разрешение нужно зайти в свойства экрана->параметры->разрешение экрана, частоту - свойства экрана->параметры->дополнительно->монитор->частота обновления экрана)
Также можно попробовать сбросить настройки в меню монитора (кнопочками на мониторе). В меню монитора нужно найти сброс и нажать его. Если это сделать, то изображение на мониторе станет не растянутым на весь экран, а появятся черные полоски по всем сторонам и изображение может стать более четким (На Samtron 78E подобрал такие настройки: 1024:768, 60Hz, сброс в меню монитора).
Как избавиться от муара на CRT мониторе.
Привожу описание муара из справки Nokia Monutor Test ( Nokia Monиtor Test + файл справки на русском , себе качал отсюда):
Муар - это явление естественной интерференции, наблюдающееся на всех цветных мониторах с электронно-лучевыми трубками. Интерференция возникает между теневой маской (или апертурной решеткой) монитора и точечной структурой изображения (которая напрямую зависит от разрешения). Обычно муар проявляется в виде волн, разводов и перепадов интенсивности, как бы наложенных поверх картинки на экране. Чаще и лучше всего муар заметен на мониторах с финальной фокусировкой луча.
Как обнаружить муар (запустите программу Nokia Monutor Test, выберете настройку муара):
Ищите на экране волны, разводы и неравномерности в интенсивности изображения. Используйте все тестовые картинки, так как видимость муара зависит от используемого цвета.
Что делать:
1. Настройте фокусировку - резкость или четкость, если монитор позволяет настроить, чуть-чуть расфокусируйте изображение.
2. Увеличьте контраст, это приведет к расфокусировке и уменьшению муара.
3. Измените размер картинки, попробуйте увеличить или уменьшить картинку, чтобы избавиться от муара.
4. Уменьшите разрешение, это всегда помогает.
5. Не используйте серые и темно-серые фоновые цвета, в качестве фонового используйте белый цвет.
6. Внешние защитные экраны, некоторые внешние защитные экраны усиливают муар, проверьте монитор с экраном и без него.
Добавлю от себя, обычно в меню монитора (заходить кнопочками на мониторе) есть регулировка мура по вертикали и горизонтали, ими и нужно пользоваться.
Как настроить частоту обновления экрана на CRT мониторе в играх и других графических приложениях, изменяющих разрешение экрана.
При изменении разрешения экрана обычно частота обновления сбрасывается на минимальное значение (60 Герц). Проверить этот эффект очень просто, запустите любую игру, зайдите в меню монитора (кнопками на мониторе), и выберете вкладку информации. Там вы увидите текущее разрешение экрана и текущую частоту обновления.
Чтобы ваши игрушки запускались с частотой не 60 Герц, а 85 или 100 Герц, вам нужно закачать программу RefreshForce . При запуске в ней надо будет нажать на Auto Populate, выбрать ваш монитор, и нажать Apply.
Казалось бы все просто, вот только не спешите нажимать Apply, проверьте не очень ли высокие значения частот выбрала программа. Я например себе для разрешения 800:600 и 640:480 выбирал не больше 100 Гц, 1024:768 - 85 Гц.
Надо заметить, что правильная работа данной программы напрямую зависит от драйвера на монитор, поэтому сначала установите его, а потом пользуйтесь программой.
Для тех кто еще не знает как изменять разрешение и частоту обновления, рассказываю: нажимаете правой кнопкой на Рабочий стол, жмете на Свойства, выбираете вкладку Параметры. Здесь можно изменить разрешение экрана и качество цветопередачи. Если нажать Дополнительно и выбрать вкладку Монитор, там можно будет изменить частоту обновления экрана. Только не отключайте галку Скрыть режимы, которые монитор не может использовать.
Что такое 16 бит и 32 бита? Вопрос к программистам, я вам просто переведу: 2 в степени 16 - это 65536 цветов, 2 в степени 32 - это 4294967296 цветов. Думаю это понятно.
От шума компа хорошо помогают большие наушники, полностью закрывающие уши. Всем советую.
Шумят вентиляторы, винчестер, корпус от вибраций (в основном вибраций винчестера), а также от трансформаторы в блоке питания.
Ушные раковины как известно в несколько раз увеличивают силу звука и направляют его в ухо. Если закрыть их наушниками, это действие прекращается и глушатся высокочастотные составляющие шума, что самое главное.
Ну а из видео кодеков мне больше всего нравится DivХ. В смысле я им просматриваю фильмы. Если установить этот кодек и зайти в настройки и поставить галку на против Support decoding of Generic MPEG-4 video, то он будет работать не только когда фильм закодирован в формате DivХ, но и в остальных форматах (Xvid, Div3 и др.). Чтобы проверить какой кодек используется для воспроизведения данного фильма можно воспользоваться LightAlloy, для этого запустите в нем фильм и нажмите на кнопку в правом нижнем углу (кружочек со знаком радиации - фильтры DirectShow), там вы увидите список всех кодеков в виде дерева прямоугольников. Если у вас там будет стоять ffdshow video decoder, то нужно его открыть и во вкладке Codecs на против форматов Xvid, DivХ 4/5/6, Other MPEG4, DivХ 3 поставить disabled. Чтобы фильмы в LightAlloy проигрывались без искажений необходимо в настройках (самая крайняя кнопка в правом нижнем углу), зайти в вкладку Видио и отключить галку Использовать обработку видео. Чтобы фильмы в Media Player Classic проигрывались без искажений необходимо в настройках выставить фильтр масштабирования Nearest neighbor, а также отключить Audio Switcher и фильтр MPEG Audio.
Еще заметил очень не приятную вещь в Light Alloy, в новой версии (4.4 build 794) фильтр масштабирования отличается от старых версий, что автоматически ухудшает качество воспроизводимого изображения. Короче говоря пока что я всем советую использовать более старую версию Light Alloy 4.3 build 306, там масштабирование старое (Точно версию проигрывателя с которой начинается это изменение я не знаю). В Light Alloy 4.4 build 794 звук хуже, поэтому Light Alloy 4.3 build 306 хорошо подходит еще и для музыки. Надо отметить, что неплохим проигрывателем является стандартная Windows программа Windows Media Player (11). Показывает также неплохо как Light Alloy 4.3 build 306, только не всегда открывает *.Vob файлы. Наилучший плеер - это Media Player Classic.
Для просмотра DVD я использую или Light Alloy (очень нравится) или Windows Media Player (очень хорош). Лучший кодек для просмотра DVD - это кодек от CyberLink PowerDVD 9: CyberLink Video-SP Decoder (PDVD9).
Для просмотра картинок советую FastStone Image Viewer 3.5 (более новую версию не пробовал). Интерфейс можно немного доработать (в настройках -> эскизы я себе изменил цветовую схему на темную, немного увеличил размер эскизов, обложку выбрал Windows Steel, отключил вывод имени файла на полном экране. В итоге вышел самый красивый просмотрщик). Но это не главное достоинство, самое главное, это выставление сглаживания в настройках: Lanczos3 + упреждение. Lanczos3 - это наверное лучший фильтр масштабирования для картинок. Для видео таковым является Nearest neighbor (Ближайший сосед, без процедуры пересчёта цвета пикселей). В The KMPlayer (версия 2.9.3.1430), CyberLink PowerDVD (версия 7) стоит другой фильтр - билинейный (не очень), в ACDSee (версия 10.0.238, 2.0.238) - бикубический (можете сами проверить в настройках). Поэтому мне нравится Windows Media Player + DivX или Light Alloy 4.3 build 306 + кодек DivX 6.8.0 (есть в K-Lite Codec Pack 4.7.5, который тоже всем советую), такие связки наверное используют Lanczos3. Если хотите добиться наилучшего качества для DVD или avi советую попробовать Media Player Classic с использованием фильтра масштабирования Nearest neighbor. Еще мне понравилась стандартная Windows Программа просмотра изображений и факсов. Правда увидел я в ней недочет в изображении крупных картинок, который хорошо виден если сравнить с FastStone (выпадения ряда пикселей - столбца или строки, смещение. ) да и мелкие картинки она обрезает по краям.
Настройка мышки.
Для того чтобы в играх более плавно работало управление мышкой необходимо зайти в Пуск->Панель управления->Мышь->Параметры указателя и задать скорость движения указателя на максимум (Выше).
Мой кодек пак - Geser Codec Pack XP 4.0
Полезные ссылки:
Загрузить драйверы
Octek CRT
Инструкции по обновлению драйвера CRT вручную:
Этот встроенный драйвер CRT должен быть включен в операционную систему Windows® или доступен через обновление Windows®. Хотя эти драйверы Monitor в комплекте включают основные функции, они обычно не охватывают все аппаратные функции. Вот полное руководство по ручному обновлению этих драйверов устройств Octek.
Порядок выполнения автоматической загрузки и обновления:
Рекомендация: Если у вас нет опыта обновления драйверов устройства Octek Монитор, мы настоятельно рекомендуем скачать средство для обновления драйверов DriverDoc [DriverDoc - Продукт от Solvusoft]. Данный инструмент выполнит всю работу за вас. Он автоматически скачает и обновит драйверы CRT, предотвратив установку неправильных драйверов для вашей версии операционной системы.
Самым большим преимуществом использования DriverDoc является доступ к более 2 150 000 драйверов (база пополняется на ежедневной основе), благодаря чему вы можете быть уверены, что все драйверы (не только Монитор) на вашем ПК обновляются на постоянной основе.
CRT Часто задаваемые вопросы относительно обновления
В чем причина обновления драйверов CRT?
Преимущества обновления драйверов CRT включают улучшенную совместимость, улучшение аппаратных функций и повышенную производительность. Риски установки неправильных драйверов Монитор устройства включают сбои программного обеспечения, снижение производительности и общую нестабильность работы ПК.
Как обновить драйверы CRT?
Опытные пользователи ПК могут выполнить обновления драйверов CRT устройства вручную с помощью Device Manager (Диспетчера устройств), а пользователи-новички могут выполнить их обновление автоматически с помощью утилиты для обновления драйверов.
Когда обновлять драйверы CRT?
Для оптимальной производительности оборудования CRT следует обновлять драйверы устройств раз в несколько месяцев.
Что может пойти не так, обновление драйверов CRT и почему это сделать?
В основном, пользователи избегают обновления драйверов CRT, потому что они не хотят рисковать испортить свое оборудование.
Обслуживание драйверов компьютеров
Можно связать ошибки CRT с поврежденными или устаревшими системными драйверами. Водители могут быть стабильно надежными, но бывают случаи, когда они внезапно перестают работать неожиданно. Захватывающая новость заключается в том, что вы, скорее всего, можете обновить драйверы устройств Монитор, чтобы избежать неисправностей.
Очень трудно найти соответствующий драйвер устройства для оборудования, связанного с CRT, потому что информацию и поддержку трудно найти на сайте Octek. Возможно, вы являетесь ветераном ПК, но поиск, установка и ручное обновление драйверов CRT все равно может занять много времени и полностью расстроить вас. Неправильные драйверы оборудования могут привести к более серьезным проблемам, чем просто неисправная установка.
Чтобы идти в ногу со всеми необходимыми новыми обновлениями, мы предлагаем пойти с программой обновления драйверов. Услуги по обслуживанию драйверов убедитесь, что ваши драйверы обновлены и что у вас есть резервная копия текущих драйверов перед загрузкой новых драйверов. Вы уверены, что можете вернуться к более ранней версии, если вы столкнулись с некоторыми проблемами с вашим драйвером.
Читайте также: