Как получить свободный доступ к информации при помощи VPS: #инструкция

В данной статье будет рассмотрен один из самых эффективных и безопасных способов обеспечения себе свободного доступа к информации. Этой цели послужит VPS сервер, находящийся за границей и связанный с вами с помощью зашифрованного VPN туннеля. 

В отличие от tor или i2p конфиденциальность передаваемой информации таким способом гарантирована, так как вероятность того, что кто-то будет расшифровывать ваши данные или устраивать рейд на заграничный сервер ничтожно мала. Исключением может быть разве что только тот случай, когда вы являетесь хакером мирового масштаба.

Как выбирать VPS?

В данном конкретном случае речь идет о бесплатной версии – подобрать вариант для себя можно в этом списоке бесплатных VPS хостингов. В основном бесплатные варианты доступны на 1 месяц, тем не менее ничто не мешает через месяц выбрать другой пробный сервис. Безусловно, здесь вам никто ничего не гарантирует, но если вам нужна гарантированная конфиденциальность – тогда вам лучше остановиться на платных сервисах.

При выборе необходимо обращать внимание на наличие «белого» IP адреса и способ виртуализации сервера. Последнее не особенно важно в выбранном здесь способе, но если с серверами c изолированным ядром (например KVM) проблем с недостающими модулями обычно не возникает, то если ядро общее и немодифицируемое (например OpenVZ) – необходимо связываться с техподдержкой. И при регистрации систему лучше выбрать debian-подобную, она проще и инструкции ниже написаны для нее. Все прочее выбирайте на свой вкус.

Установка и конфигурирование

Итак, после того как вы получили/оплатили vps сервер, нужно действовать дальше, а именно – поднимать на нем VPN. Для этого можно использовать OpenVPN — бесплатный, безопасный и быстрый в настройке. Если вы выбрали VPS на базе популярного OpenVZ — скорее пишите в техподдержку, чтобы вам включили модули для поддержки iptables, NAT и tun, первые два скорее всего уже есть. Далее подключаемся к нему, ставим и настраиваем OpenVPN:

apt-get install openvpn

Дальше есть два пути: быстрый и надежный

Путь быстрый

Этот способ использует статичный ключ-пароль, но он не отличается безопасностью. Генерируем ключ:

cd /etc/openvpn
openvpn --genkey --secret static.key

Сохраняем его на свой компьютер (cat + Ctrl-V) и создаем конфиг /etc/openvpn/tun0.conf:

/etc/openvpn/tun0.conf:
dev tun0
ifconfig 192.168.1.1 192.168.1.2
secret /etc/openvpn/static.key
Путь надежный

Данный способ активирует TLS/SSL шифрование на сервере, но он дольше в настройке. Скопируем кухню для создания ключей и сертификатов в папку с openvpn:

cd /etc/openvpn
mkdir easy-rsa
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* easy-rsa/
chmod -R +x easy-rsa/

Инициализируем скрипт:

cd easy-rsa/
source ./vars
./clean-all

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

./build-ca

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

./build-key-server server

Сгенерируем ключи для шифрования SSL/TSL соединения

./build-dh

И создадим ключи для себя

./build-key myname

В папке /etc/openvpn/easy-rsa/keys теперь есть все необходимые ключи, для авторизации нам нужны только myname.crt, myname.key (свои сертификат с ключом) и ca.crt (сертификат CA)

Создадим и отредактируем текстовым редактором конфиг /etc/openvpn/tun.conf:

port 1194
proto udp # если нужна гарантированная доставка пакетов, исользуем proto tcp
dev tun

ca      /etc/openvpn/easy-rsa/keys/ca.crt    # созданные ключи
cert    /etc/openvpn/easy-rsa/keys/server.crt
key     /etc/openvpn/easy-rsa/keys/server.key  # держать в секрете
dh      /etc/openvpn/easy-rsa/keys/dh1024.pem

server 192.168.1.0 255.255.255.0  # наша виртуальная подсеть, можно выбрать и другую
ifconfig-pool-persist ipp.txt

keepalive 10 120

comp-lzo         # Сжатие трафика, должно быть включено и у клиента
persist-key
persist-tun

status /var/log/openvpn-status.log # собственно логи
log /var/log/openvpn.log

verb 3  # уровень болтливости логов

push "dhcp-option DNS 8.8.8.8" # выдаем по умолчанию DNS сервер от гугла

Проверка

Теперь OpenVPN сервер можно запустить:

service openvpn start 

Если все успешно, тогда получится подключиться к серверу, используя скачанные выше сертификаты и ключи (не забудьте LZO сжатие на клиенте, если включили на сервере). Если же нет, то в логах скорее всего будет подобное:
Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory
Это означает, что техподдержка не включила нам tun модуль. Если же все хорошо, можно пинговать VPS, но интернета еще не будет, для этого необходим NAT:

echo 1 > /proc/sys/net/ipv4/ip_forward
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o venet0 -j SNAT --to-source SERVER_IP

При выборе другой подсети укажите ее вместо 192.168.1.0/24. Вместо venet0 укажите интерфейс (привет ifconfig), который смотрит в интернет, а вместо SERVER_IP укажите внешний IP адрес VPS. Теперь сохраняйте настройки iptables:

iptables-save > /etc/iptables.rules

В /etc/rc.local:

iptables-restore < /etc/iptables.rules

Поставить на автозагрузку openvpn и перезагрузить openvpn сервер:

update-rc.d openvpn defaults
service openvpn restart

На этом все – ваш собственный “островок виртуальной свободы” готов.

Источник https://habrahabr.ru/