Настройка «Двойного» (Double) OpenVPN (2015)
Часто пользователи сети Интернет по различным причинам не хотят показывать свой реальный IP, который выдает им провайдер. Известно, что многие организации предоставляют услуги VPN, Proxy, Socks, которые помогают пользователю сохранить свою анонимность в сети. Для чего это нужно отдельному пользователю — причин может быть множество, на этом мы не будем акцентировать внимание. Рассмотрим процесс создания OpenVPN-сервера, который соединен с другим OpenVPN-сервером, при этом трафик от пользователя идет через первый сервер, после этого на второй и далее уже к нужному ресурсу. Возвращается трафик по этой же цепочке в обратной последовательности. Много владельцев подобной схемы называют ее «double» (двойным) OpenVPN. Схематически такую схему можно отобразить таким образом:
Клиент --> OpenVPN-сервер 1 --> OpenVPN-сервер 2 --> Интернет Возврат трафика по обратной схеме: Клиент <-- OpenVPN-сервер 1 <-- OpenVPN-сервер 2 <-- Интернет Для создания подобной схемы необходимо наличие двух VPS/VDS (как правило, VDS используется при больших нагрузках (объемах передаваемого трафика)). При этом, если будет использоваться VPS с типом виртуализации OpenVZ или другим, при котором контейнеры виртуальных машин используют общее ядро хост-системы, необходимо уточнить у хостера, разрешена ли загрузка модуля tun для виртуальных машин. Реализация схемы предполагает настройку соединения через OpenVPN между клиентом и OpenVPN-сервером 1, между двух OpenVPN-серверов, настройку NAT на OpenVPN-сервере 2 и настройку маршрутизации на двух OpenVPN-серверах. Устанавливаем на обеих серверах OpenVPN. Приведем, например, процесс установки для ОС CentOS. В стандартных репозиториях CentOS пакет openvpn отсутствует, поэтому подключаем нужные источники (учитываем версию и архитеркуту ОС) rpm -ihv http://mirror.yandex.ru/epel/6/x86_6...6-7.noarch.rpm rpm -ihv http://centos.alt.ru/repository/cent...6-1.noarch.rpm Устанавливаем OpenVPN Code:
yum -y install openvpn Code:
lsmod | grep tun Code:
modprobe tun Code:
dev tun Содержимое команды route-up зависит от настройки клиентской сети и настроек соединения между серверами. Включаем форвардинг пакетов. В файле /etc/sysctl.conf значение параметра net.ipv4.ip_forward меняем с 0 на 1 Code:
net.ipv4.ip_forward = 1 Code:
sysctl -p Code:
iptables -t nat -A POSTROUTING --src 10.0.1.0/24 -o eth0 -j SNAT --to-source 1.1.1.1, На первом сервере также устанавливаем OpenVPN и создаем конфигурационный файл /etc/openvpn/s2s.conf: Code:
dev tun0 Настраиваем OpenVPN-сервер 1 для подключения клиентов. Для этого создаем конфигурационный файл /etc/openvpn/server.conf: Code:
port 1194 После настройки на каждом сервере запускаем OpenVPN Code:
/etc/init.d/openvpn start Для возможности подключения клиенту необходимы следующие файлы: ca.crt client01.crt client01.key dh1024.pem tls.key Нужно передать их вместе с параметрами конфигурации. Со стороны клиента в зависимости от ОС нужно выполнить такие действия. Для ОС linux: Установить openvpn. Проверить, загружен ли модуль tun. Создать конфигурационный файл /etc/openvpn/client01.conf Code:
client Code:
/etc/init.d/openvpn start Для Windows: Установить OpenVPN для windosw (http://openvpn.net/index.php/open-source/downloads.html). Скопировать полученные файлы (ca.crt, client01.crt, client01.key, dh1024.pem, tls.key) в C:\Program Files\OpenVPN\config\client01. В том же каталоге создать конфигурационный файл client01.ovpn (идентичный по содержанию с client01.conf для linux). Подключиться. После подключения проверить, как идет трафик. Оба сервера должны фигурировать в трассе: Code:
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets По информации с 10serv.com |
All times are GMT. The time now is 07:28 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
vB.Sponsors