Архив автора: admin

Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 6

Уровень 5: Практика интервьюирования в Python

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

Вам нужно только пройти это ужасное собеседование по кодированию.

На самом деле их серия.

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

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

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

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

Это когда начинается уровень 6.

 

Уровень 6: Продвинутый Python

Если вы хотите осваивать свободное владение языком Python и поднять свои навыки на следующий уровень, тогда мы настоятельно рекомендуем книгу “Fluent Python”.

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

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

В дополнение к этому вы также узнаете несколько новых концепций.

Например, некоторые из новых понятий, которые вы изучите в этой книге,

  1. Функции высшего порядка: объясняет, как функции могут быть использованы в качестве первого класса
  2. Объекты в Python
  3. Управление потоками: охватывает тему генераторов, менеджеров контекста, сопрограмм и параллелизма
  4. Метапрограммирование: по сути это написание кода, который манипулирует кодом. Некоторые из обсуждаемых здесь тем — декораторы и мета-классы.

 

Необязательно 1: библиотеки и фреймворки Python

Теперь у вас есть все основы, вы профессионал в Python.

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

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

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

 

1. Создание сервисов API с помощью Python (Flask)

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

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

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

Другими словами, каждый из этих сервисов будет предоставлять HTTP API, с которым смогут общаться другие сервисы.

С учетом сказанного, это очень хорошая инвестиция, чтобы узнать, как создавать сервисы API в Python.

И одна из самых популярных библиотек Python, которая делает это очень простым — это Flask.

 

2. Создание веб-приложений с помощью Django

Django — это полноценный веб-фреймворк, который позволяет вам создавать в Python целое веб-приложение (как интерфейсное, так и фоновое).

Изучая Django, вы также познакомитесь с некоторыми понятиями, которые очень популярны в других веб-фреймворках на других языках, таких как MVC (модель-представление-контроллер) и ORM (объектно-реляционное отображение).

MVC — это способ структурирования и организации вашего веб-приложения, тогда как ORM — это метод, который устраняет разрыв между объектно-ориентированным программированием и доступом к данным в базе данных.

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

Так что засучите рукава и создайте свое первое веб-приложение.

 

3. Библиотеки машинного обучения

Python стал де-факто языком для машинного обучения и науки о данных.

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

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

Введение в статистическое обучение  — отличное место для начала.

Как только вы освоите основы, начните играть с этими библиотеками Python.

  • scikit-learn. В этой библиотеке есть все под солнцем, когда дело доходит до алгоритмов ML.
  • Tensorflow. Еще одна очень популярная среда машинного обучения с открытым исходным кодом.
  • pandas. Популярная библиотека для анализа данных.

 

Необязательно 2: реализация Python (CPython)

Python — это интерпретируемый язык.

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

Хотите посмотреть, как выглядит байт-код для простой программы Hello World ?

Давайте создадим исходный файл helloworld.py

# helloworld.py

print("привет мир")

 

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

$ python3 -m dis helloworld.py

2           0 LOAD_NAME                0 (print)

            2 LOAD_CONST               0 ('привет мир')

            4 CALL_FUNCTION            1

            6 POP_TOP

            8 LOAD_CONST               1 (None)

           10 RETURN_VALUE

 

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

Существуют различные реализации Python для компилятора и интерпретатора.

Тем не менее, CPython  является стандартным и наиболее широко используемым. Это полностью написано на C.

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

Так почему мы говорим о реализации Python?

Вам действительно нужно знать эти мелкие детали Python, чтобы стать мастером Python?

Честно говоря, ответ — нет.

Но если вам интересно узнать, как реализован список, кортежи, функции и т. д. в Python, и если вы хотите выучить новый язык (C) по ходу дела, то, возможно, вам следует рассмотреть возможность участия в CPython.

 

Начало:



2020-04-30T09:14:58
Python

Как открыть несколько окон одного приложения в Windows 10?

В Windows 10 вы можете открывать несколько окон одного и того же приложения и работать с ними параллельно. Независимо от того, сравниваете ли вы информацию, переносите файлы из одного места в другое или собираете данные из нескольких документов для домашней работы или отчета в Microsoft Word или Excel, запуск нескольких экземпляров одного и того же приложения может значительно повысить производительность. Если вы хотите узнать, как дважды открыть одно и то же приложение в Windows 10 или как открыть несколько окон одного и того же приложения, этот учебник дает несколько ответов:

ПРИМЕЧАНИЕ. Мы создали это руководство с использованием обновления Windows 10 от ноября 2019 года, но представленные функции также работают и в других версиях Windows 10, а также в Windows 7 и Windows 8.

Перво-наперво: какие приложения поддерживают несколько окон?

Некоторые приложения разрабатываются для запуска в нескольких экземплярах, в то время как другие ограничены только одним окном. В Windows 10 имеется множество приложений, которые могут запускать несколько экземпляров одновременно. Браузеры, такие как Google Chrome или Mozilla Firefox, и приложения Microsoft Office, такие как Word или Excel, поддерживают несколько окон. Так же делают большинство настольных приложений для Windows.

Однако современные приложения из Магазина Microsoft, включая сам Магазин , не могут открыть больше экземпляров в Windows 10. Чтобы узнать больше о различиях между двумя типами приложений, прочитайте Что такое приложение Windows? Что такое настольное приложение? Насколько они разные?

Другие приложения, ограниченные одним окном: Windows Media Player, OneDrive, Dropbox, большинство игр для Windows, антивирусные приложения и Skype.

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

Классический способ открыть несколько экземпляров приложения в Windows

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

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

Откройте несколько экземпляров приложения с помощью Shift + клик

Существует несколько сочетаний клавиш, которые можно использовать для открытия нескольких экземпляров приложения, наиболее популярными из которых являются Shift + Click или Shift + Tap для сенсорных экранов.

Сначала откройте приложение, которое вы хотите запустить в нескольких экземплярах. Затем, удерживая нажатой клавишу «Shift» на клавиатуре, щелкните курсором или пальцем на значке на панели задач.

Один щелчок или касание открывает новый экземпляр, два щелчка или касания открывают два, и так далее.

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

Откройте несколько экземпляров одного и того же приложения с правами администратора

В случае, если вам нужно открыть несколько окон одного и того же настольного приложения, но с правами администратора, комбинация клавиш для запоминания аналогична первой. Вы можете использовать Ctrl + Shift + Click или Ctrl + Shift + Tap для сенсорных экранов. Нажмите и удерживайте клавиши Ctrl и Shift одновременно, а затем нажмите или коснитесь значка на панели задач приложения, которое вы хотите запускать от имени администратора в нескольких случаях.

Это вызывает приглашение UAC, и вы должны подтвердить свой выбор, прежде чем открыть другой экземпляр приложения. Чтобы узнать больше о запуске приложений от имени администратора, прочитайте 13 способов использования «Запуск от имени администратора» в Windows 10.

Запустите несколько окон одного и того же приложения, используя Ctrl + N

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

Этот ярлык работает с File Explorer , программами из семейства Microsoft Office, такими как Word или Excel, и всеми основными браузерами, такими как Google Chrome, Mozilla Firefox, Opera или Microsoft Edge.

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

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

СОВЕТ: Если вы используете сенсорную панель, ее можно настроить для среднего щелчка, следуя инструкциям в этом руководстве: Как настроить сенсорную панель в Windows 10 .

Откройте несколько окон одного и того же приложения с помощью Windows + Shift + 1 до 9

Если вам нравятся сочетания клавиш, Windows + Shift + 1–9 — это еще один способ, который может открывать несколько экземпляров одного и того же приложения. Для начала запустите программу. Независимо от того, откуда вы его запускаете, его значок должен быть виден на панели задач. Подсчитайте значки на панели задач слева направо и запомните номер приложения, для которого вы хотите иметь больше открытых копий. На изображении ниже 1 соответствует File Explorer, 2 — Mozilla Firefox и так далее.

Удерживая Windows и Shift на клавиатуре, нажмите цифровую клавишу, соответствующую значку открытого приложения, которое вы хотите запустить в дополнительном окне. Мы использовали Windows + Shift + 1 для запуска другого экземпляра File Explorer, Windows + Shift + 2 для Mozilla Firefox, Windows + Shift + 5 для Microsoft Edge и Windows + Shift + 7 для открытия нескольких экземпляров Google Chrome.

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

Какое приложение вам нужно запустить в нескольких случаях?

Мы редактируем тексты, проводим исследования и много перемещаем файлы, когда пишем наши учебные пособия. Это означает, что нам регулярно требуется несколько экземпляров File Explorer, Microsoft Word и различных веб-браузеров. Мы также используем эти приложения в режиме разделенного экрана для повышения производительности. А как насчет вас? Какие приложения вы пытаетесь открыть несколько раз? Дайте нам знать в разделе комментариев.



2020-04-29T11:10:50
Вопросы читателей

Windows не видит батарею ноутбука

Иногда ваш ноутбук с Windows 10 может выдать сообщение об ошибке: батарея не обнаружена . Может быть несколько причин, из-за которых возникает эта ошибка. Вот несколько простых шагов, которые могут помочь вам решить проблему отсутствия батареи на вашем ноутбуке с Windows.

В Windows 10 аккумулятор не обнаружен

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

  1. Проверьте адаптер питания
  2. Откройте батарейный отсек и почистите его
  3. Обновите драйверы, связанные с батареями, на вашем ноутбуке
  4. Запустите средство устранения неполадок питания
  5. Запустите средство диагностики энергоэффективности.

Давайте посмотрим на каждое из этих исправлений в деталях.

1] Проверьте адаптер питания

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

2] Откройте батарейный отсек и почистите его

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

3] Обновите драйверы на своем ноутбуке

Обновление драйверов на вашем ноутбуке также может сделать чудеса. Зайдите в меню «Пуск» и откройте диспетчер устройств. Нажмите на стрелку раскрывающегося списка «Батареи», чтобы увидеть подразделы внутри нее. В разделе «Батареи» вы увидите следующие подразделы:

  1. Адаптер переменного тока Microsoft
  2. Microsoft Surface ACPI-совместимый метод управления Батарея

Щелкните правой кнопкой мыши по каждому из этих элементов и выберите «Удалить устройство».

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

Теперь выньте аккумулятор из ноутбука и подключите его через некоторое время. Затем подключите адаптер питания к ноутбуку и начните его заряжать.

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

4] Запустите средство устранения неполадок питания

Если у вас есть ноутбуки с Windows 10, вы можете устранить неполадки в настройках питания ноутбука. Нажмите Windows Key + I и перейдите к Найти поле настройки. Введите «Устранение неполадок питания», и вы увидите следующую опцию.

Нажмите на эту опцию, и вы увидите открытое средство устранения неполадок питания.

Нажмите Далее и следуйте инструкциям в окне. После изменений перезагрузите свой ноутбук.

5] Запустите средство диагностики энергоэффективности

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

powercfg /batteryreport

Отчет генерируется и сохраняется в пути к файлу. Этот путь упоминается в командной строке.

Попробуйте один из этих вариантов и посмотрите, решена ли проблема батареи на вашем ноутбуке.



2020-04-28T10:48:16
Вопросы читателей

Что такое Ad Hoc в Wi-Fi сети, для чего нужен и как настроить на Windows 10, 7 и XP?

Всем привет! Ad hoc – это режим беспроводной сети, которая не имеет постоянной структуры и строится «на лету», благодаря сопряжению пары устройств. Такой режим еще называют IBSS (Independent Basic Service Set) или P2P «точка-точка». Чтобы его реализовать, достаточно, чтобы оба устройства были снабжены Wi-Fi адаптерами, а в операционной системе, через которую с ними можно взаимодействовать, были установлены драйвера. Читать

BASEUS 9 in 1, ультра портативный USB-C концентратор и подставка для MacBook Pro

BASEUS 9 in 1 является самым маленьким в мире хабом и подставкой, когда-либо созданным, который работает с 13, 15, 16-дюймовыми MacBook Pro 2017 ~ 2019, чтобы значительно расширить возможности подключения, повысить эффективность и производительность, одновременно подняв его на более удобную высоту и поддерживая ваш стол в чистоте и аккуратности.

Выдающиеся преимущества хаба для MacBook BASEUS 9 in 1 перед другими MacBook Pro Hub:

  •  Длится намного дольше — блокирующая конструкция скрывает заглушки от царапин и защелок
  •  Супер маленький и портативный — весит всего 90 грамм и помещается на ладони
  •  Никакого перегрева — не закрывает вентиляционные отверстия
  •  Быстрое подключение к Интернету — включает порт Gigabit Ethernet 1000 Мбит/с

BASEUS 9 in 1 — это первый в мире концентратор с революционным механизмом блокировки, который после отключения плотно прилегает к портам USB-C по обеим сторонам MacBook Pro, чтобы добавить множество портов при зарядке до макс. 100 Вт и более, чтобы прочно поднять его для более комфортного набора текста и просмотра и лучшей тепловой вентиляции.

Ультра портативный USB-C концентратор и подставка для MacBook Pro

 

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

Он предназначен исключительно для работы с MacBook Pro, различных моделей от 13 до 16 дюймов, выпущенных в 2017 ~ 2019 годах.

BASEUS 9 in 1 позволяет одновременно подключать звук Thunderbolt 3 USB-C, USB-C, USB-A, HDMI, Ethernet и 3,5 мм, сохраняя при этом максимальную скорость зарядки MacBook Pro. 100W. Это экономит ваши деньги, помогает вам оставаться организованным и превращает ваш ноутбук в полноценную рабочую и развлекательную станцию.

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

BASEUS 9 in 1 подключается к вашему MacBook Pro настолько надежно, что не возникает нестабильного соединения, даже когда все порты заняты.

Поверхности BASEUS 9 in 1, соприкасающиеся с вашим ноутбуком и столом, покрыты тонким кремнием, чтобы не поцарапать. Ваш MacBook Pro остается на BASEUS 9 in 1, когда вы вовлечены в напряженные онлайн-сражения или написание статьи.

В BASEUS 9 in 1 есть два порта для подключения к Thunderbolt 3 на MacBook Pro. Значительно превосходные функции доставки энергии, передачи данных и вывода видео могут быть достигнуты через соединения с этими двумя портами.

Ультра портативный USB-C концентратор и подставка для MacBook Pro

 

Они могут доставлять энергию в обоих направлениях. Они способны заряжать ваш MacBook Pro до 100 Вт или, альтернативно, могут заряжать устройство до 15 Вт. Их можно использовать для подключения к док-станции или дисплею и одновременной зарядки MacBook Pro, поэтому вам не придется беспокоиться о разряде питания.

Они передают данные со скоростью до 40 Гбит/с, что в восемь раз быстрее, чем через USB 3. Вы можете копировать тонны HD-видео, фотографий или песен менее чем за одну минуту.

Они позволяют вашему MacBook Pro поддерживать дисплей с высоким разрешением до 5K @ 60 Гц, позволяя вам наслаждаться захватывающим визуальным восприятием на нескольких мониторах Macbook/Mac/iMac.

Вы также можете подключить дисплей с помощью порта HDMI 4K @ 30 Гц на BASEUS 9 in 1, чтобы получить потрясающее изображение на телевизоре/экране/проекторе.

Ультра портативный USB-C концентратор и подставка для MacBook Pro

 

BASEUS 9 in 1 оснащен одним USB-C и тремя USB-A 3.0 для подключения к различным периферийным USB-устройствам, таким как флэш-накопитель, жесткий диск, клавиатура, мышь, принтер, камера, смартфон, MP3-плеер и многое другое.

Они позволяют передавать данные между вашим MacBook Pro и устройствами со скоростью до 5 Гбит/с, предлагая макс. Выходная мощность 10 Вт (5 В/2 А) для устройств. (USB-C является только портом для зарядки.)

BASEUS 9 in 1 оснащен портом Gigabit Ethernet, который позволяет вашему MacBook Pro использовать более стабильное и быстрое подключение к Интернету до 1000 Мбит/с.

BASEUS 9 in 1 поставляется с разъемом для наушников 3,5 мм. Просто подключите наушники или колонки, и вы готовы насладиться первоклассным звуковым эффектом.

BASEUS 9 in 1 сочетает в себе высокофункциональный концентратор Type-C с подставкой для ноутбука и предназначен исключительно для MacBook Pro 2017/2018/2019. Он предлагает три USB 3.0, HDMI, RJ45, Type-C (передача данных) и два типа C (Thunderbolt 3). Он поддерживает подачу питания 100 Вт, выход HDMI высокого разрешения 4K и 30 Гц, полнофункциональное соединение Thunderbolt 3 (видео, данные и питание) и Gigabit RJ45 Ethernet. Это маленький, стильный и портативный.

BASEUS 9 in 1 обладает уникальным механизмом блокировки, специально разработанным для MacBook Pro для работы в качестве концентратора и единой стойки, для расширения соединений и экономии места.

Ультра портативный USB-C концентратор и подставка для MacBook Pro

 

MacBook Pro работает от 100% батареи, а BASEUS 9 in 1 заряжает его до 34 Вт через порт Thunderbolt 3. Когда батарея MacBook Pro падает ниже 5%, BASEUS 9 in 1 быстро заряжает ее до 100 Вт.

Сигнал Wi-Fi не меняется, а соединение является сильным и не измененным после подключения BASEUS 9 in 1 к MacBook Pro.

Скорость передачи файлов остается неизменной после подключения BASEUS 9 in 1 к MacBook Pro. Для того, чтобы использовать ТВ3 порт на BASEUS 9 in 1 не влияет на скорость передачи файлов.



2020-04-27T20:15:55
Сети

MikroTik SSTP VPN Server Configuration with Windows 10

VPN (Virtual Private Network) technology provides a secure and encrypted tunnel across a public network. So, a private network user can send and receive data to any remote private network through VPN tunnel as if his/her network device was directly connected to that private network.




Secure Socket Tunneling Protocol (SSTP) transports PPP tunnel over TLS channel. SSTP uses TLS channel over TCP port 443. So, SSTP VPN can virtually pass through all firewalls and proxy servers. Because of using TLS channel, encrypted data passes over SSTP Tunnel. So, there is no chance to steal data by a middle man attacker and data can send and receive across public network safely. MikroTik SSTP Server can be applied in two methods.




  • Connecting from remote workstation/client: In this method, SSTP VPN client software can communicate with MikroTik SSTP VPN Server over Secure VPN tunnel whenever required and can access remote private network as if it was directly connected to that remote private network.
  • Site to Site SSTP VPN: This method is also known as VPN between routers. In this method, an SSTP client supported router always establishes a SSTP VPN tunnel with MikroTik SSTP VPN Server. So, private networks of these two routers can communicate with each other as if they were directly connected to the same router.




The goal of this article is to connect a remote client device over secure SSTP VPN Tunnel across public network. So, in this article I will only show how to configure MikroTik SSTP VPN Server for connecting a remote workstation/client (Windows 10 Client).




How SSTP Connection Established




To establish a SSTP VPN tunnel across public network, the following mechanisms are occurred.




SSTP How Works
SSTP How Works




  • TCP connection is established from SSTP Client to SSTP Server on TCP port 443.
  • SSL validates server certificate. If certificate is valid connection is established otherwise connection is denied.
  • The client sends SSTP control packets within the HTTPS session which establishes the SSTP state machine on both sides.
  • PPP username and password validation is checked over SSTP. Client authenticates to the server and binds IP addresses to SSTP Client interface.
  • SSTP tunnel is now established and packet encapsulation can begin.




Network Diagram




To configure a Client-Server SSTP VPN Tunnel between a MikroTik Router and a Windows 10 SSTP Client, we are following the below network diagram.




Client-Server SSTP Diagram
Client-Server SSTP Diagram




In this network diagram, a MikroTik Router’s ether1 interface is connected to public network having IP address 117.58.247.198/30 and ether2 interface is connected to LAN having IP network 10.10.11.0/24.




We will configure SSTP Server in this MikroTik Router on TCP port 443. So, Windows 10 SSTP Client can be connected to this SSTP Server and can be able to access remote network resources as if the device is connected to that remote network.




SSTP VPN Server and SSTP Client Configuration




We will now start SSTP Server and Client configuration. Complete SSTP configuration can be divided into two parts.




  • Part 1: SSTP Server Configuration in MikroTik Router
  • Part 2: SSTP Client Configuration in Windows 10




Part 1: SSTP Server Configuration in MikroTik Router




According to the network diagram, MikroTik Router is our SSTP VPN Server. So, we will enable and configure SSTP VPN Server in MikroTik Router. It is assumed that MikroTik WAN and LAN networks have been configured and are working without any issue.




Complete MikroTik SSTP Server configuration can be divided into the following three steps.




  • Step 1: Creating TLS Certificate for SSTP Server
  • Step 2: Enabling and Configuring SSTP Server
  • Step 3: Creating SSTP Users




Step 1: Creating TLS Certificate for SSTP Server




SSTP Server configuration requires TLS certificate because SSTP VPN uses TLS certificate for secure communication. MikroTik RouterOS v6 gives ability to create, store and manage certificates in certificate store. So, we will create required SSTP Server certificate from MikroTik RouterOS. SSTP Server requires two types of certificates:




  • CA (Certification Authority) Certificate and
  • Server Certificate




Creating CA certificate




MikroTik RouterOS provides a self-signed certificate and self-signed certificate must have a CA (Certification Authority) Certificate to sign Server Certificate. This CA certificate will also be installed in SSTP Client devices otherwise Server Certificate cannot be verified.  The following steps will show how to create a CA certificate in MikroTik RouterOS.




  • From Winbox, go to System > Certificates menu item and click on Certificates tab and then click on PLUS SIGN (+). New Certificate window will appear.
  • Put your CA certificate name (for example: CA) in Name input field.
  • Put the WAN IP Address (example: 117.58.247.198) of MikroTik Router in Common Name input field.
  • You will find some optional fields in General tab. You can fill those if you wish. All fields are self-defined.
  • Click on Key Usage tab and uncheck all checkboxes except crl sign and key cert. sign
  • Click on Apply button and then click on Sign button. Sign window will appear now.
  • Your created CA certificate template will appear in Certificate dropdown menu. Select your newly created certificate template if it is not selected.
  • Put MikroTik Router’s WAN IP address (example: 117.58.247.198) in CA CRL Host input field.
  • Click on Sign button. Your Signed certificate will be created within few seconds.
  • Click on OK button to close New Certificate window.
  • If newly created CA certificate does not show T flag or Trusted property shows no, double click on your CA certificate and click on Trusted checkbox located at the bottom of General tab and then click on Apply and OK button.




Creating CA Certificate for SSTP Server
Creating CA Certificate for SSTP Server




Creating Server Certificate




After creating CA certificate, we will now create Server Certificate that will be signed by the created CA. The Server Certificate will be used by SSTP Server. The following steps will show how to create Server Certificate in MikroTik RouterOS.






  • Click on PPP menu item from Winbox and then click on Interface tab.
  • Click on SSTP Server button. SSTP Server window will appear.
  • Click on Enabled checkbox to enable SSTP Server.
  • Make sure TCP Port 443 is assigned in Port input field.
  • From Authentication, uncheck all checkboxes except mschap2 checkbox.
  • From Certificate dropdown menu, choose server certificate (Server) that we created before.
  • From TLS Version drop down menu, choose only-1.2 option. TLS Version any can also be selected.
  • Now click on Force AES and PFS checkboxes.
  • Now click on Apply and OK button.




Enabling SSTP Server in MikroTik Router
Enabling SSTP Server in MikroTik Router




SSTP Server is now running in MikroTik Router. As MikroTik SSTP VPN is limited to use username and password for successful VPN connection, we will now create PPP users who will be able to connect to MikroTik SSTP Server and get IP information.




Step 3: Creating SSTP Users




MikroTik SSTP uses username and password to validate legal connection. So, we have to create username and password to allow any user. The complete user configuration for SSTP Server can be divided into the following three parts.




  • IP Pool Configuration
  • User Profile Configuration and
  • SSTP User Configuration




IP Pool Configuration




Usually multiple users can connect to SSTP Server. So, it is always better to create an IP Pool from where connected user will get IP address. The following steps will show how to create IP Pool in MikroTik Router.




  • From Winbox, go to IP > Pool menu item. IP Pool Window will appear.
  • Click on PLUS SIGN (+). New IP Pool window will appear.
  • Put a meaningful name (vpn_pool) in Name input field.
  • Put desired IP Ranges (example: 192.168.2.2-192.168.2.254) in Addresses input filed. Make sure not to use VPN Gateway IP (192.168.2.1)in this range.
  • Click Apply and OK button.




SSTP User IP Pool
SSTP User IP Pool




User Profile Configuration




After creating IP Pool, we will now configure user profile so that all users can have similar characteristics. The following steps will show how to configure user profile for SSTP Users.




  • From Winbox, go to PPP menu item and click on Profile tab and then click on PLUS SIGN (+). New PPP Profile window will appear.
  • Put a meaningful name (example: vpn_profile) in Name input field.
  • Put VPN Gateway address (example: 192.168.2.1) in Local Address input field.
  • Choose the created IP Pool (vpn_pool) from Remote Address dropdown menu.
  • Click Apply and OK button.




OpenVPN User Profile Configuration
OpenVPN User Profile Configuration




SSTP User Configuration




After creating user profile, we will now create users who will be connected to SSTP Server. The following steps will show how to create SSTP users in MikroTik RouterOS.




  • From PPP window, click on Secrets tab and then click on PLUS SIGN (+). New PPP Secret window will appear.
  • Put username (For example: sayeed) in Name input field and put password in Password input field.
  • Choose sstp from Service dropdown menu.
  • Choose the created profile from Profile dropdown menu.
  • Click on Apply and OK button.




SSTP User Configuration
SSTP User Configuration




We have created a user for SSTP Server. Similarly, we can create more users that we require.




SSTP Server configuration in MikroTik Router has been completed. In the next part we will configure SSTP Client in Windows 10 Operating System.




Part 2: SSTP Client Configuration in Windows 10




After configuring SSTP Server in MikroTik Router, we will now configure SSTP Client in Windows 10 Operating System. SSTP Client configuration in Windows 10 can be divided into the following two steps.




  • Installing CA Certificate in Windows 10
  • SSTP Client Configuration in Windows 10




Installing CA Certificate in Windows 10




Exported CA Certificate must be installed in Windows Trusted Root Certification Authorities otherwise SSTP Client cannot verify SSTP Server Certificate. To install CA Certificate in Windows 10, do the following steps.

Click mouse right button on the Exported CA Certificate and choose Install Certificate option.


CA Certificate Installation in Windows 10
CA Certificate Installation in Windows 10




You will now find Certificate Import Wizard window and it will ask for choosing certificate Store Location. From Sore Location panel, choose Local Machine radio button and then click Next button.




Certificate Import Wizard
Certificate Import Wizard




The next window will ask for choosing a specific certificate store. Exported CA must be placed in Trusted Root Certification Authorities store. So, click on Place all certificate in the following store radio button and then click on Browse button and choose Trusted Root Certificate Authorities and then click Next button.




Placing CA Certificate to Trusted Root Certification Authorities
Placing CA Certificate to Trusted Root Certification Authorities




The next Certificate Import Wizard will show a summery and ask to click Finish button. So, click Finish button and you will find a certificate importation successful message.




SSTP Client Configuration in Windows 10




After importing CA certificate in Trusted Root Certification Authorities, we will now configure SSTP Client in Windows 10 Operating System. The Following steps will show how to configure SSTP Client in Windows 10 OS.






How to Configure MikroTik SSTP VPN Server with Windows 10 Operating System has been discussed in this article. I hope you will now be able to configure SSTP Server and Client with MikroTik Router and Windows 10 Operating System. However, if you face any confusion to configure SSTP VPN Server and Client, feel free to discuss in comment or contact me from Contact page.  I will try my best to stay with you.



2020-04-27T16:44:45
MikroTik Router Tutorials & Guides