Если вам для обхода блокировки Telegram не хватает собственноручно настроенного сервера SOCKS5, то можно развернуть OpenVPN. Это решение позволит завернуть весь интернет дома или в офисе через VPN, обойдя все блокировки Роскомнадзора. Для работы OpenVPN вам должно хватить минимального виртуального сервера (VDS). При заказе укажите, что вам нужна ОС Ubuntu.

Установка сервера OpenVPN
Установка и все прочие действия проводится с правами супер-пользователя. То есть пишем:
sudo su
Устанавливаем OpenVPN.
apt-get install -y openvpn
Настройка сервера OpenVPN
Для OpenVPN 2.3 и выше набор скриптов easy-rsa не входит в пакет. Скачиваем его и распаковываем структуру ключей:
mkdir /src; cd /src && wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
cd easy-rsa-master/easyrsa3
./easyrsa init-pki
Создаём центр CA: ./easyrsa build-ca
./pki/ca.crt
./pki/private/ca.key
Генерируем запрос сертификата без пароля:
./easyrsa gen-req server nopass
Подписываем запрос:
./easyrsa sign-req server server
Получаем:
./pki/issued/server.crt
Генерируем ключи для клиента:
./easyrsa gen-req client nopass
./easyrsa sign-req client client
Вводим новый пароль для PEM и повторяем пароль, сгенерированный ранее для ca.crt
Получаем:
./pki/private/client.key
./pki/issued/client.crt
Генерируем файл с параметрами Диффи-Хеллмана (dh.pem):
./easyrsa gen-dh
Это может занять продолжительное время.
Получаем:
./pki/dh.pem
Переносим полученные файлы в /etc/openvpn/
:
mv ./pki/dh.pem /etc/openvpn/dh1024.pem
mv ./pki/private/client.key /etc/openvpn/
mv ./pki/private/server.key /etc/openvpn/
mv ./pki/ca.crt /etc/openvpn/
mv ./pki/issued/client.crt /etc/openvpn/
mv ./pki/issued/server.crt /etc/openvpn/
Файлы client.crt, client.key, ca.crt копируем на ваш компьютер:
cd /etc/openvpn
mkdir ovpn-client
cp -rp client.crt client.key ca.crt ./ovpn-client/
zip ovpn-client.zip ./ovpn-client/*
Конфигурируем OpenVPN сервер
Конфигурационный файл должен находится в директории /etc/openvpn и называться server.conf. Пример конфигурационного файла server.conf с рабочего OpenVPN сервера:
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.10.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 3
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
Вам необходимо прописать свои варианты для:
- ca
- cert
- key
- dh
Также, можно использовать абсолютные пути до файлов пути относительно директории /etc/openvpn
.
- ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
- cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
- key /etc/openvpn/easy-rsa/2.0/keys/server.key
- dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
Сохраняем файл и запускаем на выполнение команду:
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Запускаем OpenVPN
service openvpn start
Для Debian можно также использовать такой синтаксис в команде запуска:
/etc/init.d/openvpn start
При запуске потребуется ввести парольную фразу, заданную на этапе создания серверного сертификата.
Установка клиента OpenVPN
Устанавливаем клиент OpenVPN. После установки заходим в папку программы и находим каталог sample-config. Открываем текстовым редактором файл client.ovpn и пишем в строке
remote my-server-1 1194
IP своего сервера вместо my-server-1.
Сохраняем и закрываем файл.
Скачиваем с сервера три файла сертификатов в каталог sample-config:
Нажимаем правой кнопкой на файл client.ovpn и выбираем Start OpenVPN on this config file. Убеждаемся, что соединение установлено правильно.
ping 10.8.0.1
Проверяем свой внешний IP-адрес на сайте 2ip.ru.
Если в поле адрес вы видите видите свой обычный IP адрес, значит что-то пошло не так и нужно смотреть журналы подключения на сервере, на клиенте и разбираться. Если вы видите IP адрес вашего VDS, значит весь ваш трафик сейчас ходит через OpenVPN в зашифрованном виде.
Спасибо, что читаете! На данный момент большинство моих заметок, статей и подборок выходит в telegram канале «Левашов». Обязательно подписывайтесь, чтобы не пропустить новости мира ИТ, полезные инструкции и нужные сервисы.
Респект за пост! Спасибо за работу!
Хотите больше постов в блоге? Подборок софта и сервисов, а также обзоры на гаджеты? Сейчас, чтобы писать регулярно и радовать вас большими обзорами, мне требуется помощь. Чтобы поддерживать сайт на регулярной основе, вы можете оформить подписку на российском сервисе Boosty. Или воспользоваться ЮMoney (бывшие Яндекс Деньги) для разовой поддержки:
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.