DevOps, Linux, 2 git`a
  • Обо мне
  • Категории
  • Теги
  • Архив

Свой собственный VPN за 10 шагов

Содержание

  • Опять
  • VPN сервер и клиент

GitHubFree

Опять

Заблокировали github и уже не первый раз. Можно пережить блокировку пиратского и нелегального контента. Но гитхаб нужен, в том числе и по работе. Значит надо расчехлять VPN.

VPN сервер и клиент

Опишу все шаги с нуля. Действительно с нуля, с создания виртуальной машины за границей.

  1. Регистрируемся в DigitalOcean по этой волшебной ссылке. Это даст нам на старте 10$ на баланс, чего хватит на 2 месяца (!) халявной работы.

  2. Создаем виртуальную машину (droplet). Жмем кнопку "Create" и проходим по шагам:

    • Droplet Hostname - соответственно имя, произвольно
    • Select Size - выбирайте тот, который за 5$
    • Select Region - Амстердам. ДЦ номер 3.
    • Select Image - Ubuntu 14.04 x64
    • Нажимаем "Crete Dropplet"
    • Ждем обещанные 55 секунд и дроплет готов. А на почту пришло письмо с айпи адресом и паролем. А пользователь root.
  3. Логинимся на нашу новую машину посредством SSH ssh [email protected]

  4. Далее необходимо установить и настроить pptpd демона, который и будет держать наш VPN:

    • Устанавливаем vpn демона

      apt-get install pptpd
      
    • Вносим в /etc/pptpd.conf

      localip 10.0.0.1
      remoteip 10.0.0.100-200
      
    • Прописываем в /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client        server  secret                  IP addresses
      your_username  pptpd   super_secret_password  *
      
    • Добавляем в /etc/ppp/pptpd-options

      ms-dns 8.8.8.8
      ms-dns 8.8.4.4
      
    • Перезагружаем демона, чтоб применить изменения service pptpd restart

  5. Разрешаем хождение трафика в системе между интерфейсами.

    • Раскоментируйте в /etc/sysctl.conf строку net.ipv4.ip_forward = 1 и сохраните
    • Примените изменения sysctl -p
  6. Примените следующие команды для включения НАТа и разрешения VPN трафика

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE &
    iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT &
    iptables -A INPUT -p 47 -j ACCEPT &
    iptables -A OUTPUT -p 47 -j ACCEPT &
    iptables -F FORWARD &
    iptables -A FORWARD -j ACCEPT &
    
  7. И эти же строки внесите в файл /etc/rc.local для автозапуска

  8. На своей рабочей машине настройте ВПН подключение (для OS X):

    • Настройки --> Сеть --> Жмем "+" --> Интерфейс:VPN --> Тип:PPTP --> Имя:любое - Создать
    • Адрес сервера: адрес своей облачной машины
    • Имя учетной записи: то имя которое вы внесли в файл /etc/ppp/chap-secrets
    • Настройки аутентификации... --> Пароль: тот пароль, который вы так же вносили в файл /etc/ppp/chap-secrets
    • Жмем подключить, если всё внесено правильно VPN поднимется
  9. Правим файл hosts. Для OS X проще через консоль sudo nano /etc/hosts и внести строку 192.30.252.131 github.com

  10. Заворачиваем гитхаб в VPN. В консоли прописываем маршрут: sudo route add 192.30.252.131 -interface ppp0

Теперь https://github.com доступен. Отсоси Роскомнадзор. Способ гиковский и неудобный, необходимо каждый раз поднимать маршрут при поднятии впн (пункт 10). Но способ рабочий и плюс вы получаете полноценную виртуальную машину в облаке. Достаточно мощную и на ssd чего с лихвой хватит для бложеков и "домашних" проектов. Тем более по ссылке два месяца бесплатно, а затем, если понравится, 5$ в месяц (пока еще небольшие деньги). Можно заморочиться и создать машину не в Европе, Амстердаме, а например в США (Нью-Йорк или Сан-Франциско) и получить доступ к закрытым американским сервисам Netflix или Pandora, но это уже для эстетов. И да инструкция дана для OS X, для любителей Windows всё остаётся так же, только с пункта 8 меняются инструменты, но задачи остаются теми же.

Комментарии
comments powered by Disqus

Опубликовано

дек 4, 2014

Категория

common

Теги

  • github 1
  • pptp 1
  • vpn 1

Контакты

Получать обновления

  • Creative Commons License DevOps, linux, 2 git`a. Дмитрий Леонов
  • Создано с помощью Pelican. Тема Elegant от Talha Mansoor. Перевод темы Дмитрий Леонов