{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Skurudo Blog(post): заметки с тегом VPN",
    "_rss_description": "VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений...",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/skurudo.ru\/tags\/vpn\/",
    "feed_url": "https:\/\/skurudo.ru\/tags\/vpn\/json\/",
    "icon": "https:\/\/skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083",
    "authors": [
        {
            "name": "Pavel Galkin",
            "url": "https:\/\/skurudo.ru\/",
            "avatar": "https:\/\/skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083"
        }
    ],
    "items": [
        {
            "id": "225",
            "url": "https:\/\/skurudo.ru\/all\/dns-over-https-on-mikrotik\/",
            "title": "Настройка DoH в Mikrotik",
            "content_html": "<p>Второго дня в версии 6.47 ветки stable завезли поддержку DoH (DNS over HTTPS). До этого оно было только в ветке с beta и использовать ее не очень хотелось в виду отсутствия стабильности. Почему это так важно? Дело в том, что DNS без каких-либо дополнений дает возможность вышестоящему провайдеру смотреть и подменять dns-запросы. Не видно причин, зачем ему давать такое делать. А также есть некая простота в том, что теперь свои dns-запросы не нужно заворачивать в тот же VPN.<\/p>\n<blockquote>\n<p>DNS поверх HTTPS (DoH) — протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода >является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и >манипулирования данными DNS с помощью атак типа «Атака посредника».<\/p>\n<\/blockquote>\n<p>Первым делом нужно обновиться до 6.47 в ветке stable (или воспользовать beta). В случае с long-term стоит либо потерпеть и подождать или переключиться на stable.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/doh-01.png\" width=\"915\" height=\"730\" alt=\"\" \/>\n<\/div>\n<p>Далее идем в IP -> DNS. Сразу же стоит обратить внимание, что вы можете получать DNS динамически (вышестоящий провайдер или настройки APN) и надо бы убрать автоматику. Чаще всего выглядит это как-то так:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/doh-02.png\" width=\"646\" height=\"582\" alt=\"\" \/>\n<\/div>\n<p>Теперь нужно провести небольшую артподготовку, а именно скачать и импортировать список корневых сертификатов. Делается это двумя командами:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/tool fetch url=https:\/\/erza.ru\/cert\/cacert.pem\r\n\/certificate import file-name=cacert.pem passphrase=&quot;&quot;<\/code><\/pre><p>Также список корневых сертификатов можно взять на сайте <a href=\"https:\/\/curl.haxx.se\/ca\/cacert.pem\">haxx.se<\/a> или же с <a href=\"https:\/\/cacerts.digicert.com\/DigiCertGlobalRootCA.crt.pem\">DigiCert<\/a><\/p>\n<p>После чего удалим лишние dns-серверы и впишем свои. В итоге у нас все выглядит вот так:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/doh-03.png\" width=\"1634\" height=\"1161\" alt=\"\" \/>\n<\/div>\n<p>Провести проверку можно с помощью torch или в connection tracker:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/doh-06.png\" width=\"1265\" height=\"342\" alt=\"\" \/>\n<\/div>\n<p>Список DoH серверов — <a href=\"https:\/\/github.com\/curl\/curl\/wiki\/DNS-over-HTTPS\">смотреть тут<\/a>, но самые популярные скорее всего будут Google ( <a href=\"https:\/\/8.8.8.8\/dns-query\">https:\/\/8.8.8.8\/dns-query<\/a> ) и Cloudflare (  <a href=\"https:\/\/1.1.1.1\/dns-query\">https:\/\/1.1.1.1\/dns-query<\/a> ).<\/p>\n<p>Тестируем и проверяем на сайте <a href=\"https:\/\/www.cloudflare.com\/ssl\/encrypted-sni\/\">Cloudflare<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/doh-04.png\" width=\"1459\" height=\"780\" alt=\"\" \/>\n<\/div>\n<p>На всякий случай привожу листинг команд:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/tool fetch url=https:\/\/erza.ru\/cert\/cacert.pem\r\n\/certificate import file-name=cacert.pem passphrase=&quot;&quot;\r\n\/ip dns set use-doh-server=https:\/\/1.1.1.1\/dns-query\r\n\/ip dns set verify-doh-cert=yes\r\n\/ip dns set servers=&quot;&quot;<\/code><\/pre><p><b>UPDATE: <\/b> Никита Тарикин набросал еще более интересную штуку со скриптом и поворотами — <a href=\"https:\/\/telegra.ph\/MikroTik-DNS-over-HTTPS-CloudFlare-06-03\">MikroTik DNS-over-HTTPS CloudFlare<\/a> :)<\/p>\n",
            "date_published": "2020-06-03T07:59:59+03:00",
            "date_modified": "2020-06-03T09:31:41+03:00",
            "tags": [
                "Cloudflare",
                "DNS",
                "DoH",
                "Google",
                "https",
                "Mikrotik",
                "VPN"
            ],
            "image": "https:\/\/skurudo.ru\/pictures\/doh-05.png",
            "_date_published_rfc2822": "Wed, 03 Jun 2020 07:59:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "225",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/skurudo.ru\/pictures\/doh-05.png",
                    "https:\/\/skurudo.ru\/pictures\/doh-01.png",
                    "https:\/\/skurudo.ru\/pictures\/doh-02.png",
                    "https:\/\/skurudo.ru\/pictures\/doh-03.png",
                    "https:\/\/skurudo.ru\/pictures\/doh-06.png",
                    "https:\/\/skurudo.ru\/pictures\/doh-04.png"
                ]
            }
        },
        {
            "id": "205",
            "url": "https:\/\/skurudo.ru\/all\/tricky-questions-for-mikrotik-fans\/",
            "title": "Каверзные вопросы микротоводам",
            "content_html": "<p>Неожиданно для себя придумал несколько слегка каверзных вопросов, чтобы немного взбодрить камрадов.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/2019-09-13_4.png\" width=\"1071\" height=\"228\" alt=\"\" \/>\n<\/div>\n<p>Представьте себе, что случилось страшное — по какой-то неведомой причине у нас перестал открываться очень важный ресурс. Вот везде открывается, а из конкретного офиса — нет. Разбираться с провайдером и владельцем ресурса времени нет. Нужно срочно что-то придумать. Оперативно обеспечить доступ. Вот придумали по-быстрому использовать VPN. Выключенные маршруты — первый вариант, там работает не все — некоторые сервисы недоступны. Включенные маршруты из второго варианта, и теперь таки работает.<\/p>\n<p>Если посмотреть на эту схему, то от нее пахнет легкими наркотиками. Настаиваю на том, что здесь можно назвать минимум две позиции, где есть существенный недочет. Можете попробовать испытать вопросы на коллегах :)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/skurudo.ru\/pictures\/2019-09-13_3.png\" width=\"1000\" height=\"750\" alt=\"\" \/>\n<\/div>\n<p>В качестве дополнения, фокусы должны быть с пояснениями, привожу логику размышления:<\/p>\n<ol start=\"1\">\n<li>Указан просто гигантский разбег по адресам, с таким успехом можно было бы зарядить весь трафик в тоннель. А это не всегда целесообразно и необходимо, не говоря уже про трафик и нагрузку. Отсюда может выйти подпунктом дополнение — поленились собрать IP-адреса сервиса и сделать маршруты по ним или же поленились использовать L7.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li>Использование имени вместо адреса в шлюзе. Оно и так работает, конечно, но в этом место в случае реконнекта или изменений можно найти приключений, маршруты просто перестанут работать.<\/li>\n<\/ol>\n",
            "date_published": "2019-09-13T14:43:41+03:00",
            "date_modified": "2019-09-13T13:58:14+03:00",
            "tags": [
                "IP",
                "Mikrotik",
                "VPN"
            ],
            "image": "https:\/\/skurudo.ru\/pictures\/2019-09-13_4.png",
            "_date_published_rfc2822": "Fri, 13 Sep 2019 14:43:41 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "205",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/skurudo.ru\/pictures\/2019-09-13_4.png",
                    "https:\/\/skurudo.ru\/pictures\/2019-09-13_3.png"
                ]
            }
        },
        {
            "id": "152",
            "url": "https:\/\/skurudo.ru\/all\/cisco-anyconnect-autoconnect\/",
            "title": "Cisco AnyConnect autoconnect",
            "content_html": "<p>Появилась задача — сделать автоматическое подключение и переподключение к VPN пользователей, чтобы у них был доступ к определенному внутреннему ресурсу. VPN не наш, ресурс тоже не наш. Конечно проще всего было подключать одного пользователя и всем остальным пользователям при помощи маршрутизации отдавать тот самый заветный ресурс. Осталось решить, как быть с остальными пользователями, которые должны раз в определенный период времени показывать сетевую активность на VPN, чтобы избежать блокировки.<\/p>\n<p>Идея в том, чтобы по списку подключать пользователя с учетом его логина и пароля. Далее держать его какое-то время на линии и благополучно отключать. Нам дан Cisco AnyConnect для решения задачи и сначала нужно будет разобраться с cli. Оказалось, что работа с cli и из командной строки различаются у этого клиента от версии к версии, потому далеко не все советы и руководства сработали. Для версии 4.1.х подошел вот такой вариант:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">set FILE=C:\\Temp\\tmp.txt\r\necho connect vpn.server.ru&gt; %FILE%\r\necho clientusername&gt;&gt; %FILE%\r\necho clientpassword&gt;&gt; %FILE%\r\n&quot;C:\\Program Files\\Cisco\\Cisco AnyConnect Secure Mobility Client\\vpncli.exe&quot; -s &lt; %FILE%<\/code><\/pre><p>Осталось только сделать красиво:<\/p>\n<ul>\n<li>показывать дату и время при соединении;<\/li>\n<li>писать в лог дату и время соединения и отключения;<\/li>\n<li>временные интервалы отсчитываем «ping localhost -n 20 >nul»;<\/li>\n<\/ul>\n<p>Листинг — <a href=\"https:\/\/sku.ovh\/?03e14b7bab3c5264#7+ocEkLcKGOjqlmJyBVDtDgEYZXMsVr4EBldB3OZat8=\">https:\/\/sku.ovh\/?03e14b7bab3c5264#7+ocEkLcKGOjqlmJyBVDtDgEYZXMsVr4EBldB3OZat8=<\/a><\/p>\n",
            "date_published": "2016-07-04T13:27:41+03:00",
            "date_modified": "2016-07-04T13:27:06+03:00",
            "tags": [
                "bat",
                "Cisco",
                "VPN",
                "скрипт"
            ],
            "_date_published_rfc2822": "Mon, 04 Jul 2016 13:27:41 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "152",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4116,
    "_e2_ua_string": "Aegea 11.2 (v4116)"
}