Добро пожаловать на VSirius.ru! Войдите или зарегистрируйтесь, чтобы иметь возможность общаться.
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Добро пожаловать на наш форум. Наш проект еще молодой, но мы активно развиваемся и привлекаем к себе новых пользователей. Мы будем вам признательны, если вы будете указывать на неточности и огрехи в работе форума. Всю информацию можно написать в разделе
    "Вопросы и предложения (Доступна всем)".
  3. Тот, кто не хочет флудить, набивая сообщения и симпатии, может перейти в группу "Premium и Premium+" путём оплаты. 
    Premium пользователи имеют доступ к скрытым разделам проекта, а также скачивать платные ресурсы! Приобрести Premium доступ можно, воспользовавшись функцией "Платное повышение прав" (найти можно наведя курсор мыши на ник —> в выпадающем меню, или написать об этом в личном сообщении FMR, а так же оставитв соответствующее сообщение в его профиле).

Как сделать личный VPN?

Тема в разделе "Интернет и сетевое оборудование", создана пользователем Sirius Black, 8 авг 2017.

  1. Sirius Black

    Sirius Black Администратор

    Сообщения:
    20
    Медиа:
    1
    Симпатии:
    0
    [​IMG]

    Подробная инструкция, как сделать личный VPN. Арендуем сервер, настраиваем VPN и платим только за каждый час реального использования (примерная стоимость - 30 руб. в месяц)

    Что такое VPN-сервер, как он работает и зачем нужен?

    Обратите внимание, что здесь не стоит задача объяснить все досконально технически правильно, задача – объяснить «на пальцах» так, чтобы поняли даже начинающие пользователи. Надеюсь, что это получилось. Если есть вопросы – задавайте их в комментариях.
    Суть работы VPN-сервера в следующем. Например, вы хотите зайти на сайт yandex.ru. Точнее, подключиться к серверу с IP 77.88.21.11 (жители восточных регионов России могут быть отправлены на сервер с другим IP, но не в этом суть). При работе без VPN ваш компьютер посылает пакет (можно сказать, запрос) напрямую на сервер с адресом 77.88.21.11 и получает от него ответ. При работе через VPN ваш компьютер посылает пакет на VPN-сервер, VPN-сервер точно этот же пакет отсылает на 77.88.21.11, 77.88.21.11 отсылает ответ VPN-серверу (потому что изначально запрос прислал именно VPN-сервер), а VPN-сервер отправляет этот пакет вашему компьютеру.
    Что имеем? Запросы на адрес 77.88.21.11 отсылает не ваш компьютер, а VPN, соответственно, сервер 77.88.21.11 фиксирует именно IP-адрес VPN-сервера, а не вашего компьютера.
    Одна из возможных причин применения VPN – необходимость скрыть свой IP адрес.
    Другое применение – необходимость изменить маршрут трафика. Возьмем пример из жизни. Автор этой статьи живет в городе Орле (Центральная Россия) и хочет подключиться к серверу yunpan.360.cn, расположенному в Пекине. Автор пользуется (точнее, пользовался на тот момент) услугами интернет-провайдера «Билайн». Как показала команда tracert yunpan.360.cn, введенная в командной строке Windows, исходящий интернет-трафик к этому китайскому серверу идет через США. Как трафик идет обратно, трассировка не показывает, но, судя по пингу, он идет примерно тем же маршрутом. Ниже скриншот из программы VisualRoute 2010.
    [​IMG]
    Такая маршрутизация связана с тем, что «Билайн» не заплатил магистральным интернет-провайдерам за более прямой канал в Китай.
    При таком маршруте происходят большие потери пакетов, скорость низкая, пинг огромный.
    Что делать? Использовать VPN. Такой VPN-сервер, до которого у нас прямой маршрут, и от которого до yunpan.360.cn прямой маршрут. Я (автор статьи) очень долго искал приемлемое решение и в итоге его нашел. Был арендован виртуальный сервер (что это такое, речь пойдет позже) в Красноярске (сразу представляйте, где находится город Красноярск) у хостинг-провайдера optibit.ru. Трассировка до сервера показала, что трафик идет по России, пинг 95 мс (у меня был мобильный LTE (4G) интернет, на проводном интернете пинг будет на 5-10 мс пониже).
    Пинг – это задержка интернет-сигнала. Измеряется задержка на прохождение интернет-трафика в обе стороны (туда и обратно). Измерить задержку только в одну сторону стандартными средствами невозможно, поскольку ваш компьютер отправляет запрос на пингуемый сервер и засекает время, за которое придет ответ.
    В трассировках пинг до каждой точки (до каждого пункта маршрута, иначе называемого хопом – прыжком) показывается также для трафика в обе стороны.
    Часто бывает так, что в разные стороны маршрут разный.
    Далее была сделана трассировка с красноярского сервера до yunpan.360.cn. Пинг в районе 150 мс. Трассировка показала, что трафик от красноярского сервера до китайского идет через прямой пиринг (межсетевое взаимодействие) провайдера «Транстелеком» и «China Telecom».
    Вот эта самая трассировка (сделана из-под Linux):
    tracepath yunpan.360.cn
    1?: [LOCALHOST] pmtu 1500
    1: srx.optibit.ru 0.361ms
    1: srx.optibit.ru 0.381ms
    2: border-r4.g-service.ru 0.392ms
    3: kyk02.transtelecom.net 0.855ms asymm 5
    4: 10.25.27.5 112.987ms asymm 8
    5: ChinaTelecom-gw.transtelecom.net 125.707ms asymm 7
    6: 202.97.58.113 119.092ms asymm 7
    7: 202.97.53.161 120.842ms asymm 8
    8: no reply
    9: 220.181.70.138 122.342ms asymm 10
    10: 223.202.72.53 116.530ms asymm 11
    11: 223.202.73.86 134.029ms asymm 12
    12: no reply
    Что мы видим? Красноярский сервер находится на хостинге (хостинг – услуга размещения и аренды серверных мощностей) optibit.ru, подключен к интернет-провайдеру «Игра-Сервис» (g-service.ru). «Игра-Сервис», в свою очередь, трафик до yunpan.360.cn пускает через крупного российского магистрального провайдера «Транстелеком» (за что платит ему деньги). ТТК трафик направляет через свое прямое включение в сеть китайского магистрального провайдера China Telecom, об этом нам говорит домен хопа ChinaTelecom-gw.transtelecom.net.
    Давайте вспомним, в чем была наша проблема. У нас трафик до того китайского сервера шел через США, скорость была низкой. Что я сделал? На этот красноярский сервер поставил VPN. И настроил свой компьютер на работу через этот VPN-сервер. Что получилось? Теперь трафик до yunpan.360.cn шел не по старому маршруту Орел-Москва-США-Китай, а вот так:
    сначала до VPN-сервера – Орел-Красноярск,
    затем от VPN-сервера до Пекина – Красноярск-Пекин.
    Уловили суть? Мы развернули маршрут. Что это дало? Скорость исходящего соединения от меня до yunpan.360.cn возросла. Пинг был уменьшен. Результат был достигнут.
    Как определить ваш маршрут? Для новичков самый простой способ это сделать – воспользоваться программой VisualRoute, которую можно найти в интернете как в лицензионном, так и взломанном видах.
    Нужно запустить эту программу и выставить следующие настройки:
    [​IMG]
    Получится вот так:
    [​IMG]
    По этой таблице вы увидите, через какие страны проходит трафик. Еще раз обращаю внимание на то, что трассировка показывает маршрут только исходящего трафика (то есть трафика от вашего компьютера к серверу). Маршрут в обратную сторону может показать только трассировка, сделанная с сервера до вашего компьютера. У VisualRoute есть небольшой глюк: она часто показывает Australia (?) в качестве страны, когда не может определить настоящую геопозицию узла.
    VPN – Virtual private network – виртуальная частная сеть – это, можно сказать, своя сеть поверх интернета, весь трафик внутри которой шифруется. Подробно изучить эту технологию можно здесьи здесь. Если объяснить совсем на пальцах, то:
    • ваш компьютер и VPN-сервер соединяются по интернету
    • весь трафик между вами и VPN-сервером шифруется
    • VPN-сервер его отправляет в место назначения
    • ваш IP скрывается, вместо него виден IP-адрес VPN-сервера
    VPN рекомендуется использовать при работе через бесплатный (или просто чужой) WiFi, поскольку существует возможность перехвата всего трафика, проходящего через WiFi-роутер. А при использовании VPN весь трафик будет зашифрован. Более того, если вы зайдете на yandex.ru, vk.com и google.ru без VPN, то на уровне роутера и вашего интернет-провайдера зафиксируются подключения к yandex.ru, vk.com и google.ru. При использовании VPN все подключения идут на адрес VPN сервера.
    Существует множество платных сервисов VPN. К их преимуществам можно отнести разве что только простоту использования. Из недостатков следует выделить высокую стоимость, отсутствие 100% конфиденциальности (написать можно многое, а что на самом деле происходит на VPN-сервере, не перехватывается ли трафик, гарантировать невозможно). Невозможность сменить IP адрес в пару кликов также следует отнести к недостаткам платных сервисов.
    Сравним стоимость нашего самостоятельно настроенного решения и платных VPN-сервисов. Последние стоят в районе 300 руб. в месяц. Наше решение будет стоить 0,007 долларов в час. Не используем VPN прямо сейчас – не платим. При использовании по 2 часа каждый день в течение 30 дней это удовольствие нам обойдется в 30-50 рублей.
    Мы сделаем следующее:
    1. Арендуем сервер для VPN.
    2. Настроим на нем VPN.
    3. Будем ими пользоваться и платить только за каждый час реального использования VPN.
    Шаг №1. Аренда сервера.​

    Нет, арендовать полноценный сервер мы не будем. Мы арендуем виртуальный сервер – VPS(virtual private server). В очень многих случаях для размещения сайтов в интернете или для других целей (в т. ч. для организации VPN) не требуется больших серверных мощностей, но необходимо «под себя» настроить операционную систему сервера. Одновременно на одном компьютере (и сервере в том числе, ведь это тот же компьютер, только обычно более мощный) сразу несколько операционных систем работать не может. Как быть? На помощь приходят виртуальные машины. Эта технология позволяет запускать операционную систему внутри операционной системы, что называется виртуализацией. В случае с серверами тоже создаются аналоги виртуальных машин – виртуальные сервера.
    Существует несколько распространенных технологий виртуализации. Самые распространенные – это OpenVZ, KVM, Xen. Грубо говоря, у Xen и KVM для каждой виртуальной машины создаются своя «имитация железа», своя ОС и т.д. В случае с OpenVZ используется общее ядро ОС, в результате чего некоторые функции (например, внесение правок в ядро ОС) становятся недоступными, или их можно включать и отключать только для всех VPS сразу. VPS на Xen и KVM, как правило, более стабильны в работе, однако разница существенна только для крупных проектов, для которых критична отказоустойчивость серверов.
    VPS на OpenVZ всегда дешевле, поскольку один виртуальный сервер требует меньше ресурсов. Из-за более низкой цена мы обратим свой взор именно на VPS на базе OpenVZ.
    Внимание! Некоторые хостинги (компании, предоставляющие услуги аренды серверов) намеренно блокируют работу VPN на серверах на базе OpenVZ! Поэтому перед арендой такого сервера нужно уточнять в службе поддержки (у хорошего хостинга она должна отвечать в течение 15 минут, максимум часа), будет ли работать VPN.
    Для работы на сервере персонального VPN хватит минимальной конфигурации – 256 МБ ОЗУ и 0,5-1 ГГц процессора. Однако не все хостинги предоставляют VPS с 256 МБ ОЗУ: у многих минимальный тариф– 512 МБ ОЗУ. Такого VPS нам и подавно хватит.
    Какие еще критерии выбора VPS существуют? Как вы уже поняли, интернет-трафик будет постоянно «ходить» от вас к VPS и обратно. Поэтому у магистральных каналов должна быть достаточная пропускная способность в обе стороны. Иначе говоря, скорость интернет-соединения между вашим компьютером и VPS должна быть достаточной для выполнения требуемых вам задач. Для повседневной комфортной работы хватит и 15 МБит/сек, а если вы собираетесь скачивать торренты через VPN, то вам могут понадобятся и все 100 Мбит/сек. Но! Если вы и VPS находитесь в сетях разных интернет-провайдеров (особенно в разных городах), вряд ли магистральные сети «вытянут» более 70 Мбит/сек внутри России (или вашей страны) и более 50 Мбит/сек с серверами в Европе.
    Большинство хостингов требует помесячную оплату. Стоит сразу отметить, что разброс цен очень большой при примерно одинаковом качестве. Мы же будем пользоваться услугами DigitalOcean с почасовой оплатой: 0,007 долларов за час работы нашего сервера. Таким образом, если мы будем пользоваться VPN по 2 часа каждый день, то в месяц мы заплатим около 30 рублей. Согласитесь, это не 350 руб/мес за платный VPN-сервис!
    Первым делом нужно перейти на сайт DigitalOcean и зарегистрироваться:
    [​IMG]
    [​IMG]
    [​IMG]
    Далее откроется страница, на которой нужно указать данные своей банковской карты. Без этого система не будет работать и не даст возможности воспользоваться бонусными 10 долларами (об этом позже). Данные можно указать любые, система «съест» ненастоящие.
    [​IMG]
    При этом на вашей карте может быть заблокирована сумма в несколько рублей, которая затем будет возвращена. Списания с вашей карты будут только по факту использования серверов.
    Что делать, если банковской карты нет? Заведите себе Киви-кошелек, он автоматически дает виртуальную карту, баланс которой равен балансу кошелька. Пополнять кошелек можно почти везде, см. список способов это сделать.
    [​IMG]
    Однако, если вы введете в DigitalOcean данные карты Киви, то система ее «выплюнет», сославшись на то, что DigitalOcean не работает с предоплаченными и виртуальными картами. В таком случае вам нужно пополнить баланс на 5 долларов через систему PayPal, заплатив картой Киви.
    [​IMG]
    После всего этого на той же странице в личном кабинете DigitalOcean вводим промо-код DROPLET10, начисляющий нам 10 долларов, которые мы сможем полноценно использовать на сервера, не опасаясь дополнительных списаний с нашей карты.
    [​IMG]
    Готово! Теперь перейдем к созданию VPS. Смотрим видео-урок:
    При создании сервера выбирайте ОС Ubuntu версии 14.04, а не какой-либо более новой, в т.ч. не выбирайте 16.04.
    Материалы к уроку:
    Ссылки для тестирования скорости и пинга:​
    Расположение сервераСсылка на тест скоростиДомен для пинга
    Франкфурт, Германияhttp://speedtest-fra1.digitalocean.com/speedtest-fra1.digitalocean.com
    Амстердам-1, Нидерландыhttp://speedtest-ams1.digitalocean.com/speedtest-ams1.digitalocean.com
    Амстердам-2http://speedtest-ams2.digitalocean.com/speedtest-ams2.digitalocean.com
    Нью-Йорк-1, СШАhttp://speedtest-ny1.digitalocean.com/speedtest-ny1.digitalocean.com
    Нью-Йорк-2http://speedtest-ny2.digitalocean.com/speedtest-ny2.digitalocean.com
    Нью-Йорк-3http://speedtest-ny3.digitalocean.com/speedtest-ny3.digitalocean.com
    Сан-Франциско, СШАhttp://speedtest-sfo1.digitalocean.com/speedtest-sfo1.digitalocean.com
    Лондон, Великобританияhttp://speedtest-lon1.digitalocean.com/speedtest-lon1.digitalocean.com
    Сингапурhttp://speedtest-sgp1.digitalocean.com/Speedtest-sgp1.digitalocean.com

    Примечание. Большинству жителей России и стран СНГ подойдет Амстердам или Франкфурт (пинг до Франкфурта в большинстве случаев будет немного меньше, чем до Амстердама). Жителям Дальнего востока России рекомендую протестировать Сингапур и сравнить показатели с европейскими серверами.
    Расположение серверов за рубежом позволит с помощью VPN обходить запреты государственных органов на посещение определенных сайтов (если это актуально для вас).
    Скачать программу Putty (для подключения к управлению сервером).
    Если вы хотите сервер в России или других странах, то обратитесь к BeriHoster (58 руб/мес, включение работы VPN бесплатно по запросу в поддержку, сервера в Томске, у жителей других регионов могут быть проблемы со скоростью к их серверам), RackTech (55 руб/мес при оплате на 3 месяца), Time4VPS (1.2 евро в месяц, сервера в Литве). Оплата только помесячная во всех трех случаях. Жителям Дальнего востока и Сибири может подойти Оптибит с серверами в Красноярске (их тест скорости).
    У DigitalOcean в стоимость включено 1 терабайт (1024 ГБ) трафика (см. тарифы). Большинству этого хватит с головой. У остальных хостингов трафик формально безлимитный, однако он становится нерентабельным для них при достижении порога 1-2 ТБ/мес.
    Всё, мы заказали VPS. Поздравляю. Теперь пора перейти к его настройке.
    Шаг №2. Настройка VPN.​

    Не пугайтесь, процесс настройки своего собственного VPN прост, как дважды-два!
    В видео-уроке выше мы подключились к нашему серверу с помощью Putty. Теперь продолжим.
    Копируем и вставляем (нажатием правой кнопки мыши, как мы делали в видео-уроке) команду:
    nano vpn.sh
    Теперь копируем и вставляем в открывшееся окно редактирования файла следующее:​
    Код:
    #!/bin/bash
    echo "Выберите, что вы хотите сделать:"
    echo "1) Настроить новый PoPToP VPN сервер И создать нового пользователя"
    echo "2) Создать дополнительных пользователей (к уже существующему VPN)"
    read x
    if test $x -eq 1; then
    	echo "Введите имя пользователя, которое нужно создать (н.п.. client1 or john):"
    	read u
    	echo "Введите пароль для этого пользователя:"
    	read p
     
    # get the VPS IP
    ip=`ifconfig eth0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`
     
    echo
    echo "установка и настройка PoPToP"
    apt-get update
    apt-get install pptpd
     
    echo
    echo "Создание конфигурации сервера"
    cat > /etc/ppp/pptpd-options <<END
    name pptpd
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
    proxyarp
    nodefaultroute
    lock
    nobsdcomp
    END
     
    # setting up pptpd.conf
    echo "option /etc/ppp/pptpd-options" > /etc/pptpd.conf
    echo "logwtmp" >> /etc/pptpd.conf
    echo "localip $ip" >> /etc/pptpd.conf
    echo "remoteip 10.1.0.1-100" >> /etc/pptpd.conf
     
    # adding new user
    echo "$u	*   $p  *" >> /etc/ppp/chap-secrets
     
    echo
    echo "Переадресация IPv4 и добавление этого в автозагрузку"
    cat >> /etc/sysctl.conf <<END
    net.ipv4.ip_forward=1
    END
    sysctl -p
     
    echo
    echo "Обновление IPtables Routing и добавление этого в автозагрузку"
    iptables -t nat -A POSTROUTING -j SNAT --to $ip
    # saves iptables routing rules and enables them on-boot
    iptables-save > /etc/iptables.conf
     
    cat > /etc/network/if-pre-up.d/iptables <<END
    #!/bin/sh
    iptables-restore < /etc/iptables.conf
    END
     
    chmod +x /etc/network/if-pre-up.d/iptables
    cat >> /etc/ppp/ip-up <<END
    ifconfig ppp0 mtu 1400
    END
     
    echo
    echo "Перезапуск PoPToP"
    /etc/init.d/pptpd restart
     
    echo
    echo "Настройка вашего собственного VPN завершена!"
    echo "Ваш IP: $ip? логин и пароль:"
    echo "Имя пользователя (логин):$u ##### Пароль: $p"
     
    # runs this if option 2 is selected
    elif test $x -eq 2; then
    	echo "Введите имя пользователя для создания (eg. client1 or john):"
    	read u
    	echo "введите пароль для создаваемого пользователя:"
    	read p
     
    # get the VPS IP
    ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`
     
    # adding new user
    echo "$u	*   $p  *" >> /etc/ppp/chap-secrets
     
    echo
    echo "Дополнительный пользователь создан!"
    echo "IP сервера: $ip, данные для доступа:"
    echo "Имя пользователя (логин):$u ##### Пароль: $p"
     
    else
    echo "Неправильный выбор, выход из программы..."
    exit
    fi
    
    Нажимаем Ctrl+O, затем Enter.
    Нажимаем Ctrl+X.
    Копируем и вставляем команду:
    sh vpn.sh
    Вводим 1 и нажимаем Enter. Ждем. Согласно запросам системы, вводим желаемый логин и нажимаем Enter. Аналогично с паролем. На вопросы “[Y]/[N]” вводим Y и нажимаем Enter. После завершения настройки будут показаны наши логин и пароль и IP адрес сервера.
    Готово! VPN настроен!
    Теперь открываем «Центр управления сетями и общим доступом» Windows:
    [​IMG]
    Или:
    [​IMG]
    Выбираем настройку нового подключения:
    [​IMG]
    Выбираем «Подключение к рабочему месту»:
    [​IMG]
    [​IMG]
    [​IMG]
    Ждем немного. Теперь мы работаем через VPN! Чтобы в этом удостовериться, идем на 2ip.ru и убеждаемся в том, что показываемый нам наш IP адрес совпадает с IP адресом нашего VPS.
    Когда нам станет ненужным VPN-подключение, разрываем его:
    [​IMG]
    Теперь внимание! Через личный кабинет DigitalOcean мы можем выключить наш VPS (droplet в терминологии DigitalOcean), однако даже за сервер в выключенном состоянии идет списание денежных средств по стандартному тарифу. Поэтому мы сделаем резервную копию нашего сервера, удалим его, а когда нам снова понадобится VPN, мы его восстановим из резервной копии!
    Перейдем в управление сервером (панель управления DigitalOcean находится по адресу cloud.digitalocean.com, вход в нее возможен через кнопку Sign In на главное странице digitalocean.com в правом верхнем углу).
    [​IMG]
    Нам нужно создать резервную копию (снимок, snapshot) нашего VPS. Но для этого его сначала нужно выключить.
    [​IMG]
    Ждем около минуты, пока сервер выключится. Затем переходим в раздел Snapshots, вводим произвольное имя снимка и создаем его:
    [​IMG]
    За каждый гигабайт «веса» нашего VPS при создании снимка спишется по 2 цента. Создание резервной копии (снимка) займет несколько минут.
    Теперь удаляем сервер:
    [​IMG]
    Все! Больше ни за что с нас деньги не списываются.
    Что делаем, когда VPN понадобится снова

    Нам нужно создать новый VPS из той резервной копии, которую мы сделали до этого.
    Нажимаем «создать дроплет»:
    [​IMG]
    Теперь, как и прежде, вводим любое имя сервера латинскими буквами без пробелов, выбираем первый минимальный тариф, регион должен быть тот же самый, что и тот, в котором у нас до этого был сервер.
    Чуть ниже нажимаем на название снимка, который мы сделали (был серым, а должен стать синим):
    [​IMG]
    …и нажимаем большую зеленую кнопку «Create droplet».
    Ждем около минуты.
    Смотрим, совпадает ли IP адрес нашего сервера с прежним. Если да, то в Windows просто возобновляем уже ранее созданное подключение:
    [​IMG]
    Если нет, то нажимаем правой кнопкой мыши на название нашего подключения и меняем IP адрес на новый:
    [​IMG]
    Вводим новый IP и нажимаем «ОК»:
    [​IMG]
    Внимание! Теперь, чтобы выключить VPN, нам не нужно делать резервную копию, просто сразу удаляем сервер, а в следующий раз все восстановим из старого снимка. Перед удалением сервер выключать необязательно. На всякий случай такой порядок действий в скриншотах:
    [​IMG]
    [​IMG]
    Это мы удалили VPS на время неиспользования VPN. Теперь его восстановим из старого снимка:
    [​IMG]
    Опять проверяем, сохранился ли старый IP и продолжаем работу.
    На том же самом сервере (или еще одном) можно поднять свой личный прокси, например, на базу ПО 3proxy, однако это не тема этой статьи.
     

Поделиться этой страницей