- Эмуляция сетевых проблем с помощью WANem
- Объединяем свои устройства через интернет в одну сеть (VPN для самых маленьких, в картинках)
- Шаг 1 — регистрация на AWS
- Шаг 2 — создаём виртуальный сервер
- Шаг 3.1 — настройка сервера (AWS)
- Шаг 3.2 — настройка сервера (Windows)
- Шаг 4 — настройка клиента
- Бонус (shadowsocks)
Эмуляция сетевых проблем с помощью WANem
Что такое WANem?
Это дистрибутив на основе knoppix, который позволяет эмулировать различные условия сетевого подключения клиентов. В первую очередь, это полезно для тестирования и отладки приложений, которым предстоит работать в не-пойми-каких условиях без физического погружения в эти самые условия.
Правила для работы можно создавать как вручную, так и через более-менее удобный web-интерфейс.
Как применять WANem?
Взять любую систему виртуализации и загрузить в ней LiveCD. Или, если вы используете решения VMWare — скачать готовую виртуальную машину. В дальнейшем я буду исходить из загрузки с LiveCD.
Подготовка WANem
Проверка работоспособности
- Windows: route add 0.0.0.0 mask 0.0.0.0 WANemIPaddress
- Debian: route add default gw WANemIPaddress eth0
- Всякие другие ОС: http://tinyurl.com/4yovdph
После этого нехитрого действия достаточно сделать traceroute от тестовой машины до внешнего мира и убедиться, что первый хоп — это IP виртуалки с WANem и что задержка пакетов ±совпадает с заданной в настройках.
Тонкая настройка
патерь покетов потерь пакетов. Очередной небольшой шажок к реалистичности эмуляции.
Заранее расшифрую самые непонятные опции:
- MTTF — среднее время до возникновения ошибки
- MTTR — среднее время до восстановления после ошибки
- Jitter — в контексте IP-сетей термин детально раскрыт в RFC 3393, а вкратце — это разница (в миллисекундах) между задержкой доставки пары пакетов
Например можно задать параметры пропадания и восстановления связи, можно сэмулировать наличие соединения но непрохождение пакетов с данными, потерю или повреждение % пакетов.
При необходимости WANem может работать с несколькими сетевыми интерфейсами одновременно (создавая для них разные правила), что позволяет реализовать самую изощренную сетевую конфигурацию.
Альтернативы WANem
Мне известен платный продукт для Windows, под названием SoftPerfect Connection Emulator ($99/$149).
UPD: Для OS X goshakkk_reborn рекомендует Network Link Conditioner из XCode.
UPD: Для Windows x1shn1k подсказал также TMnetSim Network Simulator (freeware, есть версии ×32 и ×64)
Выводы
Отличный, достаточно простой и эффективный инструмент. Мне лично немного не хватает логирования на стороне WANem, но подозреваю, что это решается third-party утилитами, с которыми еще предстоит разобраться.
Вот пара примеров профилей, которые мы использовали для тестов: CDMA EV-DO rev.A, EDGE.
Официальный сайт: wanem.sourceforge.net, дистрибутив
400мб
Последняя версия: 2.3, 15.03.2011
Источник
Объединяем свои устройства через интернет в одну сеть (VPN для самых маленьких, в картинках)
Lightsail AWS — о нем пойдет речь в данной статье.
Подобных обзоров «как создать свой VPN» крайне много, но я так и не нашёл простого решения для новичка, с поддержкой создания полноценной локальной сети между двух и более клиентов с серым IP, находящимися за NAT.
Данное руководство я отношу к уровню подготовки «user+»: пользователь должен но не обязан знать что хочет получить, уверенно держит в руке мышь и видел командную строку в фильмах про хакеров.
Хочу обратить внимание начинающих хакеров: если вы взломаете пентагон с данного IP, скорее всего, ваш провайдер (Amazon в данном случае) сдаст вас «с потрохами» и от суровых людей с паяльником в руках спасения не будет.
Ежемесячный платёж 350 рублей, но вы можете сэкономить и не покупать выделенный IP у своего провайдера.
Шаг 1 — регистрация на AWS
Собственно проходим по ссылке и регистрируемся lightsail.aws.amazon.com
Номер телефона и банковскую карту указываем свою, может придётся пройти проверку по телефону (звонит робот), мне не пришлось.
(дополнительно) для доступа по SSH нужно получить отдельный ключ
делается один раз — для учётной записи
Шаг 2 — создаём виртуальный сервер
Мой выбор региона — Ирландия (Дублин), если нужна максимальная скорость — Германия (Франкфурт).
Теперь резервируем выделенный IP4 адрес, IP6 — закрепляется автоматом при создании виртуального сервера (его поменять нельзя).
Получив IP4 адрес, сразу закрепляем его за нашим виртуальным сервером.
Здесь важный момент (его можно сделать как до настройки сервера, так и позже). Рядом с кнопкой вызова терминала (выделена синим квадратом) нажимаем 3 точки, выбираем Manage затем Networking.
Открываем входящие порты для нашего сервера, добавлю только что 2012 выбран для shadowsocks.
Шаг 3.1 — настройка сервера (AWS)
Запускаем терминал и обновляем систему и устанавливаем пакеты (копируем построчно, нажимая enter и отвечая «y«).
Я не осилил текстовый редактор vi, поэтому установим более простой вариант 🙂
Удаляем все строки несколько раз нажимаем ctrl+k и добавляем, где 12345 — ваш пароль для подключения к shadowsocks (лучше заменить).
Сохраняем и выходим ctrl+x, на вопрос о сохранении отвечаем «y«.
Перезагружаем сервер: пишем в консоли reboot и нажимаем enter.
Шаг 3.2 — настройка сервера (Windows)
Скачиваем SoftEther VPN Client для Windows www.softether.org, устанавливаем оба приложения из списка во время установки.
После установки запускаем SoftEther VPN Server Manager.
В главном окне нажимаем «Encryption and Network» Выбираем шифрование для VPN подключений и скачиваем сертификат
На этом настройка сервера полностью завершена, я рекомендую ещё раз перезагрузить свой удаленный сервер.
Шаг 4 — настройка клиента
Устанавливаем сертификат, сертификат нужен на всех устройствах для подключения VPN (Windows: только в «локальный компьютер», по другому не работает SSTP VPN).
Создаём подключение SSTP VPN (Пуск\Параметры\Сеть и Интернет\VPN).
Панель управления\Все элементы панели управления\Сетевые подключения
Внимание: утечка DNS
Или SSL VPN (запускаем SoftEther VPN Client Manager).
Внимание: утечка DNS
Теперь, разные ПК подключённые к вашему VPN серверу, будут находится в одной сети.
Если вам нужен полный доступ между домашней подсетью и подсетью рабочего компьютера, вам понадобиться на рабочий и домашний компьютер установить SoftEther VPN Bridge.
SoftEther VPN Bridge
По уровню сложности это выходит за рамки данной статьи, если интересно — читайте здесь https://www.softethernet.ru/pr1.html
Бонус (shadowsocks)
Не всегда нужен полноценный VPN, иногда просто хочется безопасно посмотреть котиков в браузере. Для Windows скачиваем https://github.com/shadowsocks/shadowsocks-windows/releases
В браузере Firefox скачиваем расширение FoxyProxy (так же и на Android), настройка: SOCKS5/127.0.0.1/1080
Для Android https://play.google.com/store/apps/details?id=com.github.shadowsocks выбираем только прокси (тогда не будет подниматься VPN канал).
Почему Amazon? — самая низкая скорость, которая была — 10Mbps.
Почему FreeBSD? — SoftEther под него устанавливается менеджером пакетов, да и сама ОС потребляет меньше ресурсов и без того дохлого виртуального сервера.
Источник