Freedom#002: Большая инструкция свободного интернета

Осторожно, “многобукаф“.

“.. когда ты просто идёшь по улице, ничего не подозревая, ты даже не знаешь, что происходит в этом долбанном мире, сейчас, в эту же секунду умирает десятки людей от насилия, от болезней, от голода, но мы ничего не знаем, мы никогда не знали, эта ширма, она везде, мы слепы, до безумства слепы, наши привычки дают им силы, они питаются нами, а мы ничего не знаем, мы даже не подозреваем, наши желания и мечты под ширмой, большой занавес над нами, бежать некуда, мы взаперти..”

Итак, сегодня в рубрике “Freedom”: как открыть доступ к свободному интернету! Пока что правительство Украины не предпринимало никаких действий по поводу блокировки сайтов, как это практикуют наши соседи, но в эту сторону смотрят, так что нужно начинать действовать!
Дальше будет инструкция, как создать свой виртуальный сервер в Амстердаме, поставить там VPN, и радоваться открытому интернету, попивая колу у себя на диване!
Что вам будет нужно?

  • компьютер,
  • интернет,
  • чай или кофе (кому что),
  • немножко терпения.

Первая мысль, которая пришла к вам в голову: “Сервер? Свой сервер? Это же, наверное, безумно дорого!?” — нет, скажу я, это бесплатно! Не вечно, но бесплатно!

Поехали!

Переходим на сайт DigitalOcean, кто не знает, это — Virtual Private Server (виртуальные приватные серверы) хостинг. Их можно использовать, как хочешь: можно сделать из него веб-сервер, поставить там свой сайт, можно сделать всё, что можно сделать с обычным сервером на Линуксе. Проходим мини регистрацию и попадаем в панель управления. Итак, первое, что нужно сделать — это достать халявных денег. Можете использовать вот этот вот промо-код: DIVEIN10. Он даст вам 10$, это — два месяца постоянной роботы одного сервера. Но, если он не заработает, тогда заходим на страницу DO in Twitter и ищем там последний промо-код, они их очень часто раздают, так что — не переживайте, просто ищите! Когда у нас есть промо код, сайт нам предлагает сразу же привязать банковскую карту, если вдруг не предложит, то нужно будет перейти на вкладку “Billing” и ввести данные своей карты (или не своей). Но это обязательно надо, иначе сервис не позволит вам создать Дроплет (Виртуальный сервер). Перед вводом данных желательно внизу этой же страницы ввести свой промо-код. После успешной привязки карты нажимаем на зеленую кнопку “CREATE”. Теперь у нас открывается страница “Создание дроплетов”, ура! Сейчас начинается самое интересное, поэтому можете сходить и сделать чаю/кофе или, в общем, как хотите.

Шаг второй

Первое — это, конечно, же придумываем название нашему чудо серверу. Я назову ForKEDDRServerVPN. Далее — выбираем характеристики нашего сервера, для наших потребностей нам хватит минимума, это — 5$ в месяц за 20 Gb SSD, 1 ядро, 512 Mb RAM и  1 Tb трафика, если вы думаете, что наш сервер будет слабенький, то нет – это не так, его нам хватит с головой, а вся ОЗУ, которая нам понадобится — это несчастные 100 Мб, максимум. Далее — это выбор, где наш сервер будет находится территориально, выбор не велик, но этого вполне достаточно. Не рекомендую использовать американские серверы, поскольку скорость работы и пинг будут слабые. Поэтому я выбираю Амстердам, а вы — как хотите. Теперь выбираем систему, которая будет стоять на нашем сервере. Я буду ставить стабильную Ubuntu 12.04 x64, на другие системы инструкция будет немного отличаться. Нажимаем Create Droplet и ждём, сервер создаётся очень быстро (55 секунд, как заявляют сами DigitalOcean). Но, увы, практика говорит, что не всегда так! Когда дроплет будет создан, вам на почту придёт письмо с поздравлениями об успешном создании VPS и вас перебросит в панель управление вашим сервером. Самое главное, что придёт на почту: IP адрес сервера, имя и пароль пользователя. Что с этим делать — дальше, в следующем шаге.

Шаг третий

Теперь нам нужно как-то подключиться к нашему серверу. Если у вас Mac OS или Linux, то подключаться будем через терминал, если у вас Форточки (Windows), то нужно скачать маленькую утилиту, называется она PuTTY (скачать). Для подключения через терминал пишем
ssh root@Айпи_вашего_дроплета и нажимаем Enter
вводим пароль пользователя и — вуаля! — вы в системе.
Для подключения через Putty: запускаем, вместо адреса пишем айпи и подключаемся, в появившемся окне пишем имя пользователя (root) и пароль.
Итак, поздравляю! Вы подключились к своему серверу в Амстердаме, звучит круто, не так ли? Как вы поняли, вся настройка и установка VPN будет… Да, да, именно в консоли!

Шаг четвертый

Итак, поехали! Начинаем установку обновлением существующих пакетов:

apt-get update

теперь ставим openvpn:

apt-get install openvpn -y

Для полной защиты нам нужно будет создать собственный центр сертификаций, звучит громко, но на деле — обычная папочка, пишем:

mkdir /etc/openvpn/easy-rsa

копируем содержимое из установленной папки в созданную:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Следующим шагом мы будем создавать сертификаты и ключ, но для это надо openssl, эта штука нужна для создания сертификатов, ключей, и шифрования данных. Переходим в наш рабочий каталог:

cd /etc/openvpn/easy-rsa

Узнаем, что у нас стоит в системе сейчас:

aptitude show openssl

У меня вот что вышло: 1.0.1-4ubuntu3, если у вас тоже самое (а так и должно быть), то подойдёт версия 1.0.0, переименуем наш файл:

mv openssl-1.0.0.cnf openssl.cnf

Создаем сертификат

./clean-all
./build-ca

Нужно будет ввести в сертификат данные о сервере, пишем всё, что хотим, или же просто нажимаем enter. Теперь у вас в папочке /etc/openvpn/easy-rsa/keys лежат два файла: ca.crt (сертификат) и ca.key (ключ). Теперь сгенерируем сертификаты openvpn сервера:

./build-key-server keddro-test

Вводим данные для ключей (не обязательно), просто нажимайте Enter, только в конце нужно будет подтвердить подпись сертификатов: дважды ввести “y” — и всё. Вместо keddro-test можете написать, что угодно, это название вашего openvpn сервера. Ещё важным действием является выбор алгоритма Диффи-Хеллмана.

./build-dh

После окончания получите ключ в папке keys и вот такую вот картинку. Все основные ключи и сертификаты сгенерированы в папке keys, для простоты копируем наши ключики в папку /etc/openvpn

cd /keys
cp ca.crt dh1024.pem keddro-test.crt keddro-test.key /etc/openvpn/

Теперь можно создать сертификаты для разных пользователей

./build-key-pkcs12 vpn.for.keddr

Опять нужно нажать несколько раз enter, дважды согласиться и ввести пароль для этого пользователя. Вместо vpn.for.keddr можете написать всё, что угодно, и создать таких пользовательских сертификатов можно огромное количество, я остановлюсь на одном. Теперь переходим к настройке самого сервера. Возьмём файл из примера и распакуем его в нашу рабочую папку командой:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Теперь нужно отредактировать его:

nano /etc/openvpn/server.conf

Изменять мы почти ничего не будем, нам нужно только роскомментировать пару тройку строк:

local (здесь пишите айпи вашего сервера)
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”

Ещё находим строку cert server.crt, меняем на cert keddo-test.crt, key server.key на key keddro-test.key, можно ещё найти строку port и сменить номер порта для большей безопасности. Теперь нужно добавить пару строк в настройки фаервола:

nano /etc/rc.local

Перед exit 0 вставляем:

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Теперь открываем:

nano /etc/sysctl.conf

Раскомментируем строчку:

net.ipv4.ip_forward=1

Последний шаг в настройке сервера — это скопировать себе сертификаты с него. Если у вас Mac/Linux, то открываем новое окно терминала и пишем:

scp root@айпи_сервера:/etc/openvpn/* /место/куда/сохранить

Введите пароль и ждите, пока скопируются. Для Windows вам нужно открыть консоль Пуск-cmd и пишем:

pscp root@айпи_сервера:/etc/openvpn/* c:\

Все ваши сертификаты будут в корне диска С:\

Шаг пятый

Всё, сервер у нас готов к работе, теперь нам нужно настроить клиент у себя, чтобы можно было подключаться. Первое, что нам нужно сделать, это, конечно же, установить openvpn у себя на машине, как это сделать, я думаю, вы знаете. Для Ubuntu/Debian просто пишем:

sudo apt-get install openvpn -y

Создаем папочку для сертификатов и скрипта подключения:

mkdri /opt/openvpn

Создаем скрипт (после каждой строки нажимаем Enter):

echo ‘cd /opt/openvpn
/usr/sbin/openvpn –config /opt/openvpn/myvpnconfig.ovpn
‘ > /opt/openvpn/start.run

И теперь создаем файл конфига:

echo ‘remote IP_ВАШЕГО_СЕРВЕРА 1194
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls keddo-test
pkcs12 vpn.for.keddr
verb 3
pull’ > /opt/openvpn/myvpnconfig.ovpn

Меняем права:

chmod +x /opt/openvpn/start.run

И всё, у нас всё готово. Для того, чтобы подключиться, просто пишем:

/opt/openvpn/start.run

Для WIndows:

Скачиваем клиент: (x86)/(x64)

Открываем блокнот (или просто создаем обычный текстовый документ) и пишем:

remote IP_вашего_сервера 1194
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls keddro-test
pkcs12 vpn.for.keddr
verb 3
pull

сохраним его вот так: C:\openvpn\keddoconfig.ovpn . Теперь создаём скрипт для запуска. Создаём текстовый файл и пишем:

cd C:\openvpn\
“C:\Program Files\OpenVPN\bin\openvpn.exe” –config C:\openvpn\keddroconfig.ovpn

Сохраняем файл, как start.cmd в нашу папку openvpn, туда же скачиваем наши сертификаты. Можете ещё сделать ярлык на файл start.cmd на рабочий стол.

Если у вас Mac OS, то вам нужно успользовать программу TunnelBlick. С ней все просто, инструкция есть на сайте скачки. Предварительно скачайте с сервера сертификаты. Дл андроида тоже существует приложения в Google Play – OpenVPN for Android.

Удачи вам и вашему серверу! Берегите себя, впереди — тяжкие времена! С вами был ваш Параноик!

Please wait...
Теги: , , , , , , , , ,
0
16 Комментарий
Сначала Новые
Сначала Старые Популярные
guest

Межтекстовые Отзывы
Посмотреть все комментарии
who
who
11 лет назад

Отлично, спасибо.

Please wait...
Тарас Спивак
Тарас Спивак
11 лет назад

Господин Параноик, у меня вот назрел вопрос. На сайте провайдера VPN вы указываете данные своей кредитной карты. То есть вы действительно считаете, что если кто-то захочет вас найти, он не выйдет на провайдера и не зажмет его в тиски? Пробить кредитку — в два счета. Виртуальные вроде бы без каких либо данных тоже не зарегестрируешь. Я вот не верю, что в спецслужбах сидят совсем далёкие люди и что для них составит труд пробить всех известных VPN провайдеров. И наверняка, если вы совершили что-то серьезное, потребуют выдать вас, и, думаю, мало кто сумеет противостоять этому ради одного лишь имиджа. Что скажете?

Please wait...
Vlad Skripchenko
Vlad Skripchenko
11 лет назад

оп, а этот парень знает, что пишет. Ув. Господин Параноик, как вы отреагируете?

Please wait...
MAD HEAD
MAD HEAD
11 лет назад

Тут, скорей, автор не ставит цели сокрытия своих действий в интернете. Здесь стоит вопрос в обходе блокировки доступа к различным ресурсам.

Please wait...
gde_hvost
gde_hvost
11 лет назад

Зачем же указывать данные карты зарегистрированной на свое имя? Есть же виртуальные карты типа Киви, в которых будет только номер телефона купленный возле метро.

Please wait...
Михаил Кириллов
Михаил Кириллов
11 лет назад

Не понял, что тут про свободу? Про свободу пиратства? Или про какую свободу?
У соседей блокируют варезятники и торренты.
И второе, почему убунта х64? В 512 метрах это жуткий тормоз. В такие инстансы люди ставят 32-разрядные системы.

Please wait...
Михаил Кириллов
Михаил Кириллов
11 лет назад
Ответ  xo8bit

Может в случае, если там только впн, то жрать и нечему. Про иксы на инстансе я даже подумать не смог. Ну если я не авторитет… Ты “радио-т” слушаешь? Там в 360м выпуске Бобук с Умпутуном дружно и безапелляционно сказали, что на такие микроинстансы они ставят только х32. тема была не про это, но прост вскользь, умные и авторитетные люди оказались того же мнения что и я.

Please wait...
Михаил Кириллов
Михаил Кириллов
11 лет назад
Ответ  xo8bit

Ну то да. А так свободно можно ещё пяток небольших сайтов держать.

Please wait...
Виктор Цырфа
Виктор Цырфа
11 лет назад

у соседей блокируют все, что неправильно лежит. худшее из зол то, что добром прикидывается.

Please wait...
MAD HEAD
MAD HEAD
11 лет назад

Неплохо. Только пока не вижу смысла в этом. Для большинства пользователей будет проще воспользоваться Tor’ом. И если уж арендовать VPS, то лучше поднять собственный почтовый сервер.

Please wait...
Vlad Skripchenko
Vlad Skripchenko
11 лет назад
Ответ  xo8bit

например?

Please wait...
MAD HEAD
MAD HEAD
11 лет назад
Ответ  Vlad Skripchenko

Можно поднять почтовый сервер, веб-сервер, (модное сегодня слово) облачное хранилище, например для бэкапов или просто как файло-помойку. Можно джаббер сервер сделать. Или игровой сервер. Это то что первое в голову приходит.

Please wait...
Наверх