ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   DoubleVPN за час своми руками. (https://forum.antichat.xyz/showthread.php?t=325221)

AllianceHost 24.03.2012 00:51

Потребуется 2 сервера\ vps(если openVZ должны быть включены tun\tap адаптеры). На 1 из серверов должно быть 2 ip адреса.

В качестве ос использованы debian.

Идём на сервер с 2мя ip.

Цитата:

Сообщение от None
apt-get update
apt-get install openvpn

Идём в каталог:

Цитата:

Сообщение от None
cd /usr/share/doc/openvpn/examples/sample-config-files

Разпаковываем архив:

Цитата:

Сообщение от None
gzip -d server.conf.gz

Копируем файлы

Цитата:

Сообщение от None
cp -R /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn

Можно начинать генерить сертификаты:

Цитата:

Сообщение от None
cd /etc/openvpn/2.0
./clean-all
source ./vars
./clean-all
./build-ca

Заполняем все поля

Common Name вписываем server

Цитата:

Сообщение от None
./build-key-server server

Common Name вписываем server

Challenge password Запоминаем его я вписывал 12345

Цитата:

Сообщение от None
./build-dh

Сертификаты для сервера готовы, переходим ко клиентским

Цитата:

Сообщение от None
./build-key-pass client1

Первым делом запросят пароль для клиентского сертификата(я указывал 9999)

Common Name вписываем client1

После ввода e-mail адреса запросят Challenge password вспоминаем какой вводили указываем его(в моём случае 12345)

Цитата:

Сообщение от None
./build-key-pass client2

Для генерации второго серта и тд незабываем менять Common Name.

Переходим к настройке и запуску сервера.

Цитата:

Сообщение от None
cd /etc/openvpn

Очистим файл конфигурации сервера

Цитата:

Сообщение от None
echo " " > server.conf

Инсталим консольный текстовый редактор

Цитата:

Сообщение от None
apt-get install nano
nano server.conf

Цитата:

Сообщение от None
local 46.37.169.30
port 1800
proto tcp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
push "redirect-gateway def1"
push "dhcp-option DNS 66.96.208.21"
user nobody
group nobody
server 10.8.0.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
comp-lzo
max-clients 10
up up
down down

Коменты к конфигу:

local - адрес где крутится demon

port - порт на котором запускается demon

push "dhcp-option DNS 66.96.208.21"

66.96.208.21 адрес dns сервера через который будем резолвится:

взять можно тут:

Цитата:

Сообщение от None
cat /etc/resolv.conf

Добавим права на выполнение 2м скриптам

Цитата:

Сообщение от None
chmod +x up down
nano /etc/default/openvpn

Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"

Теперь включаем ip_forward

Цитата:

Сообщение от None
echo 1 > /proc/sys/net/ipv4/ip_forward

Добавим группу nobody

Цитата:

Сообщение от None
addgroup nobody

копируем файлы сертов:

Цитата:

Сообщение от None
cp -R /etc/openvpn/2.0/keys/ca.crt /etc/openvpn/
cp -R /etc/openvpn/2.0/keys/server.crt /etc/openvpn/
cp -R /etc/openvpn/2.0/keys/server.key /etc/openvpn/
cp -R /etc/openvpn/2.0/keys/dh1024.pem /etc/openvpn/

Запускаем демон:

Цитата:

Сообщение от None
/etc/init.d/openvpn start

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

идём на сервер где у вас 1 ip.

Цитата:

Сообщение от None
apt-get update
apt-get install openvpn

Чтобы вновь не объяснять как генеряться сертификаты сгенерил пачку сертификатов и залил для общего пользования:

Цитата:

Сообщение от None

Скачиваем эти файлы, конектимся к серверу через winSCP заходим в папку /etc/openvpn Икопируем всё содержимое архива туда(Вместе с папкой ip_1)

В терминале:

Выполняем

Цитата:

Сообщение от None
cp /etc/openvpn/ip_1/server.conf /etc/openvpn/

Цитата:

Сообщение от None
nano /etc/openvpn/server.conf

Меняем в строке local ip-адрес на адрес сервера на котором вы сейчас находитесь.

И удаляем строки status и log. Этим отключим логирование нашего сервера.

теперь надо исправить up и down скрипты

Цитата:

Сообщение от None
nano /etc/openvpn/ip_1/up

Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.

Цитата:

Сообщение от None
nano /etc/openvpn/ip_1/down

Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.

Добавим права на выполнение на файлы up и down

Цитата:

Сообщение от None
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up

Далее.

Цитата:

Сообщение от None
nano /etc/default/openvpn

Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"

Теперь включаем ip_forward

Цитата:

Сообщение от None
echo 1 > /proc/sys/net/ipv4/ip_forward

Запускаем openvpn.

Цитата:

Сообщение от None
/etc/init.d/openvpn start

Возвращаемся к серверу с двумя IP.

Скачиваем http://www.sendspace.com/file/vjuiqb

Подключаемся через winSCP в папку /etc/openvpn

закидываем папку из архива ip_1

копирем файл конфига

Цитата:

Сообщение от None
cp /etc/openvpn/ip_1/client.conf /etc/openvpn/

Цитата:

Сообщение от None
nano /etc/openvpn/client.conf

remote Указываем ip адрес сервера с 1 ip

local указываем второй ip адрес вашего сервера

Удаляем строки status и log

Добавляем файлам права на выполнение

Цитата:

Сообщение от None
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up

И редактируем конфиг

Цитата:

Сообщение от None
nano /etc/openvpn/server.conf

в local вписываем 192.168.1.2

Цитата:

Сообщение от None
/etc/init.d/openvpn restart

Вот мы и подошли к финальной части настроек, а именно настроек клиентской части.

Скачиваем с сервера с 2мя ip_адресами из папки /etc/openvpn/2.0/keys

Файлы:

ca.crt

client1.crt

client1.key

Надеюсь что openvpn у вас уже установлен. Идём в папочку

C:\Program Files\OpenVPN\config

там создаём папочку test

В неё помещаем скачанные файлы.

Теперь скачиваем образец конфига:

http://www.sendspace.com/file/g89eg2

файлик помещаем в папочку test

Теперь редактируем его.

remote 217.12.220.71 1800

217.12.220.71

меняем на ip сервера на котором 1ip адрес.

ca ca.crt

cert client1.crt

key client1.key

Исправляем если сертификаты клиентов имеют иные имена.

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

Теперь осталось подключиться к нашему впн и радоваться жизни, трафик идёт по схеме : сервер с 1ipсервер с 2ipсеть.


Время: 14:20