Своя прокладка под впн, или скажем нет логированию.

BDFINFO1.9
Оффлайн
Регистрация
12.05.16
Сообщения
1.927
Реакции
523
Репутация
0
Хорошечного всем денечка, уважаемые пользователи bdfclub.com. Сегодня поговорим про прокладку между вами и vpn, дабы спрятать концы в воду.

Все мы знаем, что в вопросах анонимности в сети главное пожалуй - не бросаться в крайности и найти ту самую золотую середину, придерживаясь которой вы будете в относительной безопасности и при этом у вас не будет появляться ощущения, что вы используете Dial-up.

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

Собственно ничего супер нового я не предложу, просто расскажу как добавить звено между вами и вашим vpn-сервисом, дабы не светить свой ip-адрес для них.
Стоит рассмотреть два распространенных случая настроек:
1) для тех кто работает со своей хостовой машины
2) для тех кто работает с виртуалки

Для обоих случаев общим будет необходимость поднять свой vpn-сервер на отдельной vps, через который мы и будем подключаться к vpn-сервису, которым мы пользуемся. Собственно привожу тут набор команд, необходимый для поднятия минимального и простейшего vpn-сервера на базе vps с установленным Debian. Конфиг приводиться просто для справки, и не претендует на полноту.


Код:
apt-get install openvpn
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/

# редактируем переменные для генерации сертификатов
nano ./vars

# обязательны к изменению строки (остальные по желанию)
export KEY_SIZE=1024 # Длинна ключа (ставим минимум 2048)
export KEY_EXPIRE=3650 # Срок действия ключа в днях

# инициализируем переменные и чистим папку keys
. ./vars
. ./clean-all

#создаем сертификаты
./build-ca # корневой сертификат
./build-key-server server # сертификат сервера
./build-dh # параметры для протокола Диффи-Хелмана

#переносим полученные сертификаты
cp ./keys/ca.crt /etc/openvpn
cp ./keys/server.crt /etc/openvpn
cp ./keys/server.key /etc/openvpn
cp ./keys/dh1024.pem /etc/openvpn #цифра после dh будет зависеть от битности ключа

#ну и создаем сертификаты пользователей
./build-key-pkcs12 myvpn.windows # имя выбираете какое хотите, поля заполнять необзательно, главное как всегда запомнить пароль который вас попросят ввести дважды


#теперь настраиваем сам vpn-сервер
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf #берем заготовку из состава самого пакета

nano /etc/openvpn/server.conf

# обязательно меняем следующее (просто чтобы работало):
local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS x.x.x.x"
push "dhcp-option DNS y.y.y.y"
port 1194 #порт стандартный, желательно поменять но при этом надо не забыть поменять и в настройках клиента

# применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
nano /etc/rc.local

# добавляем
iptables -A FORWARD -s z.z.z.z/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s z.z.z.z/24 -o eth0 -j MASQUERADE
# сохраняем

nano /etc/sysctl.conf

# раскомментировать обязательно (разрешение перенаправления трафика)
net.ipv4.ip_forward=1

reboot #перезагружаем vps
Когда половина дела сделано, можно подключаться к уже поднятому VPN-серверу. Для этого надо сначала вытащить сертификаты из папки:
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ (ssh, sftp, mc - как вам угоднее)

Далее примеры конфига:

Код:
remote IP_СЕРВЕРА 1194 # порт менять не забываем, если на сервере его перенесли
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls server
pkcs12 myvpn.windows.p12 #проверьте имя сертификата чтобы совпадало с тем что вытащили с сервера
verb 3
pull

Собственно запускаем у себя на пк vpn с этим config-ом, вводим пароль, проверяем свой ip (whoer.net, 2ip), там должен светиться сейчас адрес вашего VPS-сервера.

Далее для тех кто работает с виртуальной машины все просто:
0) направляем трафик с виртуальной машины через хостовую (не пишу точный путь настроек, т.к. у разных систем виртуализации они отличаются, просто можно выставить NAT как способ подключения к интернету в настройках виртуальной машины)
1) Со своей хостовой машины подключаемся к нашему vpn-серверу
2) С виртуальной машины подключаемся к vpn-сервису
3) профит - заходим с виртуалки на whoer.net и радуемся увидев там выходную точку своего vpn-сервиса

Для тех кто работает со своей хостовой машины нужно совершить следующие действия:
1) На ваш vps нужно закинуть конфиг с которым вы подключаетесь к вашему vpn-сервису
2) на сервере подключиться с использованием этого конфига. Если ввод пароля для vpn не требуется то запускаем сразу в бекграунд: nohup openvpn ./config.ovpn &. В случае если требуется вводить пароль, запускаем как обычно: nohup openvpn ./config.ovpn , затем дожидаемся подключения и нажатием CTRL-Z усыпляем процесс, затем командой bg 1 убираем его в бекграунд. З.Ы. вместо nohup можете ипользовать любые другие аналогичные утилиты.
3) Готово - заходим и проверяем свой ip.

На этом всё, спасибо за внимание и уделенное время. Надеюсь, кому-нибудь да пригодиться.
 
  • Like
Реакции: Wancor и CLAY
W
Оффлайн
Регистрация
30.03.18
Сообщения
6
Реакции
1
Репутация
0
Спасибо за статью. Как раз искал подобный мануал. Можете дать какие-то рекомендации по выбору хостинга под VPS? Страна, тип виртуализации и т.п.
 
Сверху Снизу