Пока люди запускают самолетики из окна, упражняются в настройках прокси-серверов или даже устанавливают dante на VPS, разнокалиберный бизнес столкнулся с реальными последствиями массовых блокировок в своих процессах.
Можно по-разному относиться к происходящему, но когда перестает работать G Suite или облачная структура — это напоминает стихийное бедствие. И оперативно разгребать последствия приходится рядовым системным администраторам. Поэтому в этой статье делюсь вариантами выживания и переосмысления бизнес-процессов — своего рода, хроники с полей.
В качестве решения проблемы могут выступать самые разные варианты, вплоть до аренды квартиры в Светогорске и установки туда 4G модема с финской симкой. Или подкупа знакомого провайдера для установки в его дата-центре сервера, подключенного в обход системы «Ревизор». Но я остановлюсь на паре разумных и законных вариантов.
Виртуальная частная сеть
Когда мониторинг сообщает о недоступности ваших серверов, и в процессе выяснения ситуации вы понимаете, что подсеть зарубежного ЦОД попала в блокировку, то первая цензурная мысль будет о развертывании VPN. Виртуальные «дроплеты» за 5$ вполне спасают ситуацию. Хотя их адреса тоже могут попасть под раздачу.
Напомню, что проверить IP-адрес на блокировку можно на официальном сайте Роскомнадзора. Можно использовать и ботов — они в изобилии на просторах поиска.
Если вдруг вам придется «прыгать» по ЦОДам какого-нибудь сетевого поставщика мощностей (пока ищется нормальное решение), то вот небольшой совет по упрощению процесса: нужно создать снапшот виртуальной машины, сделать его доступным для нужного региона и создать новую виртуальную машину уже в целевом регионе на основе старого снапшота.
Выбор доступных регионов для образа виртуальной машины.
Мне повезло, и пока не заблокированный адрес попался с третьей попытки.
В качестве VPN-решения можно использовать что угодно. OpenVPN настраивается быстро и легко, но возможно потребует установки дополнительного ПО. L2TP \ IPSec посложнее, но поддерживается на свежих версиях IOS и Android.
Ниже приведу список готовых решений на тот случай, если действовать нужно быстро, а разбираться некогда:
- Streisand. VPN-сервер «все-в-одном», включая Shadowsocks и Tor. Заодно поможет начать разбираться в Ansible.
- Algo VPN. Без OpenVPN и Tor, зато с IKEv2.
- Openvpn-install. Простой скрипт для установки OpenVPN.
- IPsec VPN. Простой скрипт для установки L2TP \ IPSec сервера.
Теперь, когда организация получила какой-никакой доступ к своим сервисам, нужно думать, что делать дальше — ведь в любой момент наша VPN-виртуалка может попасть под раздачу.
IP шестой версии
Одним из вариантов восстановления работоспособности был озвучен переход на IPv6, благо современные дата-центры предоставляют этот протокол. Помимо доступа к облачным серверам, IPv6 поможет восстановить работу сервисов Google — вроде G Suite, — на которых завязаны бизнес-процессы многих организаций.
Если вам повезло, и ваш провайдер поддерживает новый протокол — половина дела сделана. Если не так повезло, то одним из вариантов будет настройка туннеля 6to4\6in4.
Со списком провайдеров, поддерживающих IPv6, можно ознакомиться на wiki-портале version6.ru.
Большинство маршрутизаторов поддерживают такие туннели. В частности, настройка IPv6 на оборудовании MikroTik описана в статье «MikroTik — 6in4 или IPv6 без поддержки провайдера». Общий принцип предельно прост: регистрируемся у брокера, создаем туннель, назначаем адресацию, прописываем маршруты, пользуемся. Проверить работу можно на одном из сайтов для проверки IPv6.
Проверка работы IPv6 — теперь сервисы Google снова заработают.
Важный момент, который стоит учесть при настройке IPv6 — протокол работает без NAT, и все устройства в локальной сети находятся в «большом интернете». Если вы отключили фаервол на рабочих станциях, то сейчас самое время его включить и настроить. Обеспечить чуть большую защиту поможет настройка фаервола на маршрутизаторе. Например, на MikroTik я использовал следующие настройки:
/ipv6 firewall filter
#ограниченный входящий ICMP-трафик
add chain=input limit=100,5 protocol=icmpv6
add action=drop chain=input protocol=icmpv6
#ограниченный исходящий ICMP-трафик
add chain=forward limit=100,5 protocol=icmpv6
add action=drop chain=forward protocol=icmpv6
#Разрешаем входящие соединения типа established и related
add chain=input connection-state=established,related
#Вместо этой строки можно вставить правила для доступа по SSH\etc
#Запрещаем прочий входящий трафик на туннеле
add action=drop chain=input in-interface=**StF**
#Разрешаем исходящие соединения типа established и related
add chain=forward connection-state=established,related
#Вместо этой строки можно вставить правила доступа наружу для локальных серверов
#Блокируем все остальное
add action=drop chain=forward in-interface=**StF**
Где StF — это наименование туннеля 6to4.
Альтернативой настройки IPv6 на маршрутизаторе будет настройка туннеля на рабочей станции, благо системы Windows поддерживают протокол Teredo. Вариант настройки описан в материале «Настройка IPv6/Teredo в Windows 7». Особенность этого протокола в возможности работы из-за NAT.
IPv6 в работе.
К сожалению, недостатком туннелей остается потенциальная возможность блокировки туннельных брокеров, и постоянно менять серверы — не самое изящное решение.
Реорганизация бизнес-процессов
Когда все работает, самое время задуматься о создании инфраструктуры, которой будут не страшны все эти бедствия. Безусловно, если у компании достаточно средств для организации геораспределенного кластера с одним, а то и несколькими узлами в РФ, то это будет хорошим решением.
Но если средств нет, то приходится подыскивать аналоги G Suite. Те же Mail.ru и Yandex предлагают сервисы как совместной работы с текстами, так и почты для домена.
Другие организации все больше задумываются о шаге назад, в сторону собственной инфраструктуры. Облака — это хорошо, но доступность в современных реалиях дороже. Поэтому неплохим вариантом выглядит приобретение своего сервера в лизинг, либо аренда colocation в отечественных ЦОД.
Кстати, поделитесь и своими новостями с полей — вдруг в светлом будущем пригодится.