AllianceHost
24.03.2012, 00:51
Потребуется 2 сервера\ vps(если openVZ должны быть включены tun\tap адаптеры). На 1 из серверов должно быть 2 ip адреса.
В качестве ос использованы debian.
Идём на сервер с 2мя ip.
apt-get update
apt-get install openvpn
Идём в каталог:
cd /usr/share/doc/openvpn/examples/sample-config-files
Разпаковываем архив:
gzip -d server.conf.gz
Копируем файлы
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
Можно начинать генерить сертификаты:
cd /etc/openvpn/2.0
./clean-all
source ./vars
./clean-all
./build-ca
Заполняем все поля
Common Name вписываем server
./build-key-server server
Common Name вписываем server
Challenge password Запоминаем его я вписывал 12345
./build-dh
Сертификаты для сервера готовы, переходим ко клиентским
./build-key-pass client1
Первым делом запросят пароль для клиентского сертификата(я указывал 9999)
Common Name вписываем client1
После ввода e-mail адреса запросят Challenge password вспоминаем какой вводили указываем его(в моём случае 12345)
./build-key-pass client2
Для генерации второго серта и тд незабываем менять Common Name.
Переходим к настройке и запуску сервера.
cd /etc/openvpn
Очистим файл конфигурации сервера
echo " " > server.conf
Инсталим консольный текстовый редактор
apt-get install nano
nano server.conf
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 сервера через который будем резолвится:
взять можно тут:
cat /etc/resolv.conf
Добавим права на выполнение 2м скриптам
chmod +x up down
nano /etc/default/openvpn
Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"
Теперь включаем ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Добавим группу nobody
addgroup nobody
копируем файлы сертов:
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/
Запускаем демон:
/etc/init.d/openvpn start
VPN сервер готов впринципе через него уже можно работать, но у нас целью был DoubleVPN поэтому продолжаем настройку.
идём на сервер где у вас 1 ip.
apt-get update
apt-get install openvpn
Чтобы вновь не объяснять как генеряться сертификаты сгенерил пачку сертификатов и залил для общего пользования:
http://www.sendspace.com/file/9eu4s7
Скачиваем эти файлы, конектимся к серверу через winSCP заходим в папку /etc/openvpn Икопируем всё содержимое архива туда(Вместе с папкой ip_1)
В терминале:
Выполняем
cp /etc/openvpn/ip_1/server.conf /etc/openvpn/
nano /etc/openvpn/server.conf
Меняем в строке local ip-адрес на адрес сервера на котором вы сейчас находитесь.
И удаляем строки status и log. Этим отключим логирование нашего сервера.
теперь надо исправить up и down скрипты
nano /etc/openvpn/ip_1/up
Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.
nano /etc/openvpn/ip_1/down
Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.
Добавим права на выполнение на файлы up и down
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up
Далее.
nano /etc/default/openvpn
Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"
Теперь включаем ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Запускаем openvpn.
/etc/init.d/openvpn start
Возвращаемся к серверу с двумя IP.
Скачиваем http://www.sendspace.com/file/vjuiqb
Подключаемся через winSCP в папку /etc/openvpn
закидываем папку из архива ip_1
копирем файл конфига
cp /etc/openvpn/ip_1/client.conf /etc/openvpn/
nano /etc/openvpn/client.conf
remote Указываем ip адрес сервера с 1 ip
local указываем второй ip адрес вашего сервера
Удаляем строки status и log
Добавляем файлам права на выполнение
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up
И редактируем конфиг
nano /etc/openvpn/server.conf
в local вписываем 192.168.1.2
/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сеть.
В качестве ос использованы debian.
Идём на сервер с 2мя ip.
apt-get update
apt-get install openvpn
Идём в каталог:
cd /usr/share/doc/openvpn/examples/sample-config-files
Разпаковываем архив:
gzip -d server.conf.gz
Копируем файлы
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
Можно начинать генерить сертификаты:
cd /etc/openvpn/2.0
./clean-all
source ./vars
./clean-all
./build-ca
Заполняем все поля
Common Name вписываем server
./build-key-server server
Common Name вписываем server
Challenge password Запоминаем его я вписывал 12345
./build-dh
Сертификаты для сервера готовы, переходим ко клиентским
./build-key-pass client1
Первым делом запросят пароль для клиентского сертификата(я указывал 9999)
Common Name вписываем client1
После ввода e-mail адреса запросят Challenge password вспоминаем какой вводили указываем его(в моём случае 12345)
./build-key-pass client2
Для генерации второго серта и тд незабываем менять Common Name.
Переходим к настройке и запуску сервера.
cd /etc/openvpn
Очистим файл конфигурации сервера
echo " " > server.conf
Инсталим консольный текстовый редактор
apt-get install nano
nano server.conf
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 сервера через который будем резолвится:
взять можно тут:
cat /etc/resolv.conf
Добавим права на выполнение 2м скриптам
chmod +x up down
nano /etc/default/openvpn
Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"
Теперь включаем ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Добавим группу nobody
addgroup nobody
копируем файлы сертов:
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/
Запускаем демон:
/etc/init.d/openvpn start
VPN сервер готов впринципе через него уже можно работать, но у нас целью был DoubleVPN поэтому продолжаем настройку.
идём на сервер где у вас 1 ip.
apt-get update
apt-get install openvpn
Чтобы вновь не объяснять как генеряться сертификаты сгенерил пачку сертификатов и залил для общего пользования:
http://www.sendspace.com/file/9eu4s7
Скачиваем эти файлы, конектимся к серверу через winSCP заходим в папку /etc/openvpn Икопируем всё содержимое архива туда(Вместе с папкой ip_1)
В терминале:
Выполняем
cp /etc/openvpn/ip_1/server.conf /etc/openvpn/
nano /etc/openvpn/server.conf
Меняем в строке local ip-адрес на адрес сервера на котором вы сейчас находитесь.
И удаляем строки status и log. Этим отключим логирование нашего сервера.
теперь надо исправить up и down скрипты
nano /etc/openvpn/ip_1/up
Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.
nano /etc/openvpn/ip_1/down
Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.
Добавим права на выполнение на файлы up и down
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up
Далее.
nano /etc/default/openvpn
Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"
Теперь включаем ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Запускаем openvpn.
/etc/init.d/openvpn start
Возвращаемся к серверу с двумя IP.
Скачиваем http://www.sendspace.com/file/vjuiqb
Подключаемся через winSCP в папку /etc/openvpn
закидываем папку из архива ip_1
копирем файл конфига
cp /etc/openvpn/ip_1/client.conf /etc/openvpn/
nano /etc/openvpn/client.conf
remote Указываем ip адрес сервера с 1 ip
local указываем второй ip адрес вашего сервера
Удаляем строки status и log
Добавляем файлам права на выполнение
chmod +x /etc/openvpn/ip_1/down
chmod +x /etc/openvpn/ip_1/up
И редактируем конфиг
nano /etc/openvpn/server.conf
в local вписываем 192.168.1.2
/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сеть.