VPN своими руками

Zonder

RIPPER
Messages
113
Reaction score
36
Points
28
Впринципе часто поднимаеться вопрос собственной безопасности в среде андеграунда
Решения множество но пожалуй сейчас хочу рассказать о самом главном козыре хацкера , это сокрытие следов от провайдера и посторонних глаз
тоесть сейчас я расскажу как можно сделать собственный сервер OpenVPN
где вы будете полноправным хозяином и сами будете распоряжаться своими ресурсами
Статью буду описывать на примере собственного опыта
так что все описанные решение рабочеспособны и по сей день
И так жертвой своих истезаний я выбрал простое и очень дешовое решение
у хостинг провайдера firstvds.ru
Для начало я арендовал за 160рублей/месяц самый дешовый VPS на базе Linux Debian (другая ось не работает для VPN)

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

HTML:
apt-get install -y openvpn

После успешной установки командой apt-get install openvpn необходимо будет создать ключи шифрования, которые будут использоваться для авторизации на OpenVPN сервере

Создание криптографических ключей

Скопируйте файлы (утилиты для создания ключей) в папку файлов конфигурации openvpn выполнив команду:

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

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

HTML:
cd /etc/openvpn/

и выполните следующие команды для инициализации переменных окружения:

HTML:
. ./vars 
source ./vars

Инициализируйте каталог с ключами (ВНИМАНИЕ! Команда удалит старые ключи если они уже были созданы до этого) командой:

HTML:
./clean-all

Создайте корневой сертификат (Certificate Authority) сервера:

HTML:
./build-ca

Создайте сертификат и ключ для сервера:

HTML:
./build-key-server server

При создании указываем все необходимые данные, в поле Common name обязательно указать имя server (оно также указано по-умолчанию).

Следующим действием, после создания файлов сертификатов сервера, создается файл ключей (параметров) DH (Диффи и Хеллмэна), для его создания следует использовать скрипт build-dh:

HTML:
./build-dh

Создание сертификатов и ключей для сервера закончено. Теперь необходимо создать ключи и сертификаты для подключения клиентов:

Указываете имя клиента (например, carder1) при создании сертификата и выполните команду:

HTML:
./build-key carder1

После завершения создания всех файлов рекомендую сохранить резервную копию папки /etc/openvpn/keys где-либо в безопасном месте

В каталоге /etc/openvpn/keys нас интересуют 3 файла со следующими именами:
ca.crt
carder1.crt
carder1.key

Их необходимо будет скопировать на компьютер с которого будет осуществляться подключение. Копирование можно осуществить, например, используя протокол SCP/SFTP, а в качестве клиентского программного обеспечения для операционной системы Microsoft Windows использовать для этого программу WinSCP либо тупо через панель ISPmanager

Настройка файлов конфигурации OpenVPN

После создания ключей следует настроить сервер. Скопируйте пример файлов конфигурации в каталог /etc/openvpn/ и разархивируйте его выполнив следующие команды:

HTML:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn 
cd /etc/openvpn 
gunzip server.conf.gz

Теперь в каталоге /etc/openvpn находится файл конфигурации с именем server.conf

Внесите в него следующие необходимые изменения (укажите полные пути к файлам ключей):

HTML:
ca /etc/openvpn/keys/ca.crt 
cert /etc/openvpn/keys/server.crt 
key /etc/openvpn/keys/server.key 
dh /etc/openvpn/keys/dh1024.pem

Остальные параметры оставляем такие какие были, то есть по-умолчанию.

Также для ведения логов (после настройки необходимо отключить) для поиска возможных проблем в работе можно в файле конфигурации OpenVPN сервера /etc/openvpn/server.conf добавить строку

HTML:
log /var/log/openvpn.log

После окончания настройки запустите сервер и убедитесь в том, что он запускается с помощью следующих команд:

HTML:
/etc/init.d/openvpn start 
Starting virtual private network daemon: server. 

ps ax|grep openvpn 
 5175 ? Ss 0:00 /usr/sbin/openvpn --writepid /var/run/openvpn.server.pid --daemon ovpn-server --cd /etc/openvpn --config /etc/openvpn/server.conf

Настройка трансляции адресов (NAT) для выхода в интернет через сервер с установленным OpenVPN

Сервер настроен, однако выход в интернет после подключения к нему невозможен (возможна только установка VPN-тунеля до сервера).
Необходимо в файле конфигурации /etc/openvpn/server.conf указать необходимые маршруты (для перенаправления default gateway клиента на сервер):

HTML:
push "redirect-gateway"



также необходимо поменять DNS-сервера, поскольку серверы интернет-провайдера могут запрещать рекурсивные запросы с чужих адресов, например, указав (DNS-сервер предварительно должен быть настроен на VDS) сервер 10.8.0.1 или какие-либо публичные DNS, например, Google Public DNS. Для этого в конфигурационный файл /etc/openvpn/server.conf также следует добавить строки:

HTML:
push "dhcp-option DNS 8.8.8.8" 
push "dhcp-option DNS 8.8.4.4"



Если необходимо, чтобы клиенты, которые подключаются к серверу могли "видеть" друг-друга (отправлять к другу-другу пакеты и тем самым ходить "через сервер"), то необходимо раскоментировать параметр

HTML:
client-to-client



Для работы NAT (трансляции адресов) необходимо настроить правила в firewall используя интерфейс управления фильтром пакетов iptables.

Для этого пропишите в файле /etc/rc.local следующие строки:

HTML:
/sbin/iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE 
/sbin/iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
/sbin/iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT


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

Выполните эти команды вручную чтобы применить необходимые правила, либо перезагрузите VDS чтобы убедиться что сервисы openvpn и правила iptables (их можно посмотреть командой iptables-save) запускаются автоматически.

На этом настройка OpenVPN сервера на VDS с операционной системой Debian Linux закончена непалитесь господа ))
 
Zonder, хорошая статья. Вопрос немного не по теме, но все же, как к таким манипуляциям и дальнейшей работе через VPN относятся хостинг-провайдеры? Ведь многие четко прописывают в соглашение на оказание услуг, что размещение прокси-серверов или VPN запрещено. Или это просто один из пунктов, за соблюдением которого не следят?
 
к примеру на данном хостинг провайдере это разрешено
обычно такие ограничения (vpn прокси торент трекер и прочие пиринговые сети)
ставяться с целью экономии и избежании паразитного трафа
в больших ДЦ к этому относяться нейтрально
 
Top