Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал еще одному человеку, на этот раз далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
О том, что такое network namespaces в Linux написано много, но для тех кто не знает я кратко процитирую попавшееся под руку описание на русском языке:
«В linux относительно давно появилась такая замечательная вещь, как неймспейсы (namespaces). Основное применение данной технологии — контейнерная виртуализация, но и на маршрутизаторе можно придумать много разных применений, так как среди неймспейсов есть «network namespaces». Network namespaces позволяют в рамках одной машины в каждом неймспейсе иметь:
Как быстро включить и настроить VPN на ANDROID | Бесплатный ВПН прямо в твоем АНДРОИД смартфоне
- свой набор таблиц маршрутизации (а их 2^31-1 шт)
- свою arp-таблицу
- свои правила iptables
- свои устройства (а значит и qdisc + class’ы tc)»
Скрипт, для ручного поднятия network namespace и запуска в нем OpenVPN с комментированием
#!/bin/bash sudo ip netns add vpn # создаем namespace по имени vpn sudo ip netns exec vpn ip addr add 127.0.0.1/8 dev lo # создаем в нем интерфейс lo sudo ip netns exec vpn ip link set lo up # поднимаем loopback-интерфейс в netns sudo ip link add vpn0 type veth peer name vpn1 # добавляем в системе виртуальный интерфейс, через который будет netns общаться с внешним миром sudo ip link set vpn0 up # поднимаем созданный интерфейс sudo ip link set vpn1 netns vpn up # создаем в netns интерфейс для общения во внешнем мире sudo ip addr add 10.10.10.1/24 dev vpn0 # добавляем адрес на интерфейсе в системе sudo ip netns exec vpn ip addr add 10.10.10.2/24 dev vpn1 # добавляем адрес на интерфейсе в netns sudo ip netns exec vpn ip route add VPN_IP via 10.10.10.1 dev vpn1 # добавляем маршрут до VPN-сервера(замените VPN_IP на адрес вашего сервера) sudo ip netns exec vpn ip route add default via 10.10.10.254 dev vpn1 # Добавляем адрес которого у нас нет в сети в качестве гейтвея, что бы OpenVPN мог заменить при запуске гейтвей на свой(если не будет никакого гейта, то OpenVPN не сможет назначить гейт и пакеты во вне у нас ходить через него не будут) sudo iptables -A INPUT ! -i vpn0 -s 10.10.10.0/24 -j DROP sudo iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o en+ -j MASQUERADE # настраиваем маскарадинг, замените en+ на wl+ если вы используете wifi-сетевуху для подключения к сети sudo sysctl -q net.ipv4.ip_forward=1 # разрешаем форвардинг пакетов sudo mkdir -p /etc/netns/vpn # создаем директорию в которой у нас будет лежать resolv.conf для нашего netns echo «nameserver 8.8.8.8» |sudo tee /etc/netns/vpn/resolv.conf # прописываем гугловый 8.8.8.8 в качестве ДНСа sudo ip netns exec vpn /usr/sbin/openvpn —daemon —writepid /run/openvpn/vpn.pid —cd /etc/openvpn/ —config vpn.conf # Запускаем OpenVPN с конфиг-файлом /etc/openvpn/vpn.conf внутри netns
Выполнив этот скрипт мы можем при помощи команды:
Как быстро включить и настроить VPN на ПК | Бесплатный ВПН прямо в WINDOWS | Без установки на комп
$ sudo ip netns exec vpn curl http://ifconfig.me
Убедиться, что внутри netns у нас поднят OpenVPN и в сеть внутри netns мы выходим через наш OpenVPN. Теперь командой:
$ sudo ip netns exec vpn su — USER_NAME -c firefox
H Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации в черновиках Из песочницы
Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал еще одному человеку, на этот раз далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
О том, что такое network namespaces в Linux написано много, но для тех кто не знает я кратко процитирую попавшееся под руку описание на русском языке:
«В linux относительно давно появилась такая замечательная вещь, как неймспейсы (namespaces). Основное применение данной технологии — контейнерная виртуализация, но и на маршрутизаторе можно придумать много разных применений, так как среди неймспейсов есть «network namespaces». Network namespaces позволяют в рамках одной машины в каждом неймспейсе иметь:
- свой набор таблиц маршрутизации (а их 2^31-1 шт)
- свою arp-таблицу
- свои правила iptables
- свои устройства (а значит и qdisc + class’ы tc)»
Скрипт, для ручного поднятия network namespace и запуска в нем OpenVPN с комментированием
#!/bin/bash sudo ip netns add vpn # создаем namespace по имени vpn sudo ip netns exec vpn ip addr add 127.0.0.1/8 dev lo # создаем в нем интерфейс lo sudo ip netns exec vpn ip link set lo up # поднимаем loopback-интерфейс в netns sudo ip link add vpn0 type veth peer name vpn1 # добавляем в системе виртуальный интерфейс, через который будет netns общаться с внешним миром sudo ip link set vpn0 up # поднимаем созданный интерфейс sudo ip link set vpn1 netns vpn up # создаем в netns интерфейс для общения во внешнем мире sudo ip addr add 10.10.10.1/24 dev vpn0 # добавляем адрес на интерфейсе в системе sudo ip netns exec vpn ip addr add 10.10.10.2/24 dev vpn1 # добавляем адрес на интерфейсе в netns sudo ip netns exec vpn ip route add VPN_IP via 10.10.10.1 dev vpn1 # добавляем маршрут до VPN-сервера(замените VPN_IP на адрес вашего сервера) sudo ip netns exec vpn ip route add default via 10.10.10.254 dev vpn1 # Добавляем адрес которого у нас нет в сети в качестве гейтвея, что бы OpenVPN мог заменить при запуске гейтвей на свой(если не будет никакого гейта, то OpenVPN не сможет назначить гейт и пакеты во вне у нас ходить через него не будут) sudo iptables -A INPUT ! -i vpn0 -s 10.10.10.0/24 -j DROP sudo iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o en+ -j MASQUERADE # настраиваем маскарадинг, замените en+ на wl+ если вы используете wifi-сетевуху для подключения к сети sudo sysctl -q net.ipv4.ip_forward=1 # разрешаем форвардинг пакетов sudo mkdir -p /etc/netns/vpn # создаем директорию в которой у нас будет лежать resolv.conf для нашего netns echo «nameserver 8.8.8.8» |sudo tee /etc/netns/vpn/resolv.conf # прописываем гугловый 8.8.8.8 в качестве ДНСа sudo ip netns exec vpn /usr/sbin/openvpn —daemon —writepid /run/openvpn/vpn.pid —cd /etc/openvpn/ —config vpn.conf # Запускаем OpenVPN с конфиг-файлом /etc/openvpn/vpn.conf внутри netns
Выполнив этот скрипт мы можем при помощи команды:
$ sudo ip netns exec vpn curl http://ifconfig.me
Убедиться, что внутри netns у нас поднят OpenVPN и в сеть внутри netns мы выходим через наш OpenVPN. Теперь командой:
$ sudo ip netns exec vpn su — USER_NAME -c firefox
Как играть через ВПН?
Если вы хотите поиграть в игру, которая недоступна в России, то самым простым способом обойти ограничение является «ВПН». В статье вы узнаете, как запустить игру через частную виртуальную сеть.

Содержание скрыть
Для чего нужен ВПН
Рассмотрим, в каких ситуациях «ВПН» необходим.
Разблокировать игру
Если желаемая игра или определенный сервер недоступны в России, то единственным способом обойти региональное ограничение является «ВПН». Благодаря частным виртуальным сетям вы сможете установить клиентскую онлайн-игру, несмотря на блокировку.
Однако в таком случае вам придется смириться с относительно высоким пингом, а также риском потерять аккаунт, если разработчик выступает против VPN.
Кроме того, иногда создатели запускают проект в отдельном регионе раньше чем в остальном мире. Чаще всего японские студии открывают бета-версии только в своей стране, реже — во всем азиатском регионе. Игроки же из других государств смогут зайти только через пару недель.
Обойти цензуру
Некоторые игры, особенно посвященные боевым действиям и политическим процессам в существующих странах, блокируются регуляторами по причине того, что они оскорбляют или выставляют в плохом свете целую страну. К примеру, Arma 3 была запрещена в Ираке. Разработчики сделали армию государства в роли захватчиков.
Купить игру
В международных онлайн-магазинах, которые принимают несколько валют, в зависимости от региона изменяются цены. Иногда в Steam в рублях можно купить игры дешевле из-за их политики, предполагающей продавать новые проекты по доступным ценам.
И если при пересчете с долларов игра на старте может стоить 5000 рублей, то в России ее установят в районе 1200 рублей. Однако сейчас все реже появляются такие различия, поэтому покупать игры за рубежом становится не так выгодно.
Поиграть с друзьями
Во всех популярных ММОРПГ-играх есть несколько серверов для СНГ, Северной Америки, Азии, Западной Европы, и пользователи из одного региона не могут подключаться к серверам другого. Единственным выходом является «ВПН», позволяющий скрыть реальный IP-адрес. С его помощью можно установить, например, китайскую версию игры.
Защититься от DDoS-атак
Профессиональные игроки в Dota 2, Counter-Strike: Global Offensive, League of Legends иногда подвергаются DDoS-атакам. Из-за этого продолжать тренировку становится невозможно. Они могут играть на другом устройстве, однако рано или поздно злоумышленники узнают новый IP-адрес и начнут новую атаку.
«ВПН» же защищает соединение и изменяет реальный IP на другой. И если игрок все же столкнется с атакой, то всегда можно просто выбрать новый сервер.
Как настроить ВПН на компьютере
Чаще всего пользователи играют на персональных компьютерах, работающих на базе операционной системы Windows. У них есть инструменты для настройки «ВПН»-соединения. Чтобы включить частную сеть, вам нужно:
- Открыть настройки.
- Зайти в «Сеть и Интернет». 
- Кликнуть VPN. 
- Указать данные сервера, а также логин и пароль. 
Если вы не хотите изменять конфигурацию «ВПН», то можно установить приложение, которое будет самостоятельно настраивать подключение. В нем можно выбрать любой доступный сервер и выполнить соединение одним кликом.
Чтобы их настроить, достаточно установить софт, выбрать страну и тапнуть на кнопку ON или VPN.
Как настроить ВПН на консоле
Игровые консоли Playstation и Xbox имеют особые операционные системы, на которые нельзя установить ничего, кроме игр из официальных магазинов. Из-за данной фишки напрямую настроить «ВПН» нельзя. Однако это не означает, что невозможно пользоваться частными виртуальными сетями.
Для этого вам нужно настроить «ВПН» на роутере. Алгоритм действий:
- Подключите маршрутизатор к ПК.
- Откройте веб-обозреватель.
- В поисковую строку впишите IP-адрес роутера. 
- Авторизуйтесь в «Личном кабинете».
- Тапните VPN. 
- Введите логин и пароль.
Затем вам останется только подключить приставку к беспроводной домашней сети.
Лучшие ВПН-сервисы для игр
Для игр подходят далеко не все провайдеры. Если вы планируете играть в ММОРПГ, онлайн-шутеры, стратегии, то крайне важен минимальный пинг.
Рассмотрим 5 лучших «ВПН» для геймеров.
Surfshark VPN
В платную подписку входит возможность подключить к одному аккаунту неограниченное количество устройств без ограничения максимальной скорости. Это очень важно для тех, кто любит играть не только на компьютере, но и на телефоне.
Surfshark VPN имеет более 2000 серверов по всему миру и обеспечивает скорость 100 Мб в секунду. При этом вы можете подключиться к любому устройству в СНГ или Азии, чтобы зайти в игру с минимальным увеличением пинга.
Особенности Surfshark VPN:
- Доступная платная подписка.
- Высокая пропускная способность серверов.
- Маскировка «ВПН» под стандартное соединение.
- Безлоговая политика.
- Защита от взломов и утечек IP-адресов, DNS.
- Быстрая и компетентная служба поддержки.
