Карта сайта
Обслуживание компьютеров, ремонт компьютеров, 1С предприятие, обслуживание серверов,создание сайтов, продвижение сайтов, доработка 1С предприятие
О компании | Статьи | Linux и Unix системы | Простая настройка OpenVPN с фиксированными адресами клиентов

« Назад « На главную

Простая настройка OpenVPN с фиксированными адресами клиентов

В этой заметке подробно описана процедура настройки OpenVPN (virtual private network — виртуальная частная сеть), в рамках модели сервер-клиент и способ фиксации адресов клиентов в виртуальной сети, на базе сертификатной аутентификации. Эта технология позволяет быстро и экономично поднимать виртуальные локальные сети на базе существующих физических или интернета.


Стоит заметить, что компания OpenVPN предлагает использовать свой продукт OpenVPN Access Server (пакет openvpn-as) — сервер с возможностью настройки и контроля доступа через web-интерфейс, но, к сожалению, количество клиентов для него ограничено лицензией, поэтому опишем процедуру настройки пакета openvpn.


Прежде всего определимся с адресным диапазоном.
Необходим один внешний фиксированный IP адрес для VPN-сервера (в том случае если VPN будет работать через интернет), условно обозначим его 9.9.9.9
Диапазон внутренних адресов виртуальной сети мы предлагаем использовать такой: 192.168.10.2 — 192.168.10.99


Часть I — настройка сервера


Установим пакет из репозиториев, в Debian/Ubuntu это:


sudo apt-get install openvpn


После установки перейдем в папку со скриптами генерации ключей (в различных дистрибутивах путь может различаться):


cd /usr/share/doc/openvpn/examples/easy-rsa/2.0


Отредактируем файл переменных:


sudo nano vars


В файле vars измените следующие значения:


export KEY_DIR="/etc/openvpn/keys" # путь к папке где будут лежать ключи
export KEY_COUNTRY="RU" # это и следующие значения изменяйте по-собственному усмотрению
export KEY_PROVINCE="MS"
export KEY_CITY="Moscow"
export KEY_ORG="СompanyName"
export KEY_EMAIL="some@address.ru"


Следующие команды рекомендуем выполнять под root’ом, дабы не возникло проблем с правами:


su
mkdir /etc/openvpn/keys
mkdir /etc/openvpn/ccd
source ./vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
./pkitool client
openvpn --genkey --secret ta.key
mv ./ta.key /etc/openvpn/keys


Эти команды создают необходимые папки и генерируют сертификаты для сервера и клиентов с данными введенными в файл vars.
Создадим файл настроек:


nano /etc/openvpn/openvpn.conf


В него добавьте следующий текст:


mode server # указывает программе работать в режиме сервера
tls-server # активирует работу Transport Layer Security (криптографический протокол) сервера
proto tcp-server # выбираем протокол TCP (если необходим UDP, тогда: proto udp)
dev tap # используемый тип интерфейса - L2 туннель (для L3-туннеля: dev tun)
port 1200 # указываем порт, по которому будет работать OpenVPN
daemon # программа будет работать в режиме демона, если нет в этом необходимости - просто раскомментируйте строку
tls-auth /etc/openvpn/keys/ta.key 0 # активирует дополнительный уровень аутентификации
ca /etc/openvpn/keys/ca.crt # путь к корневому сертификату
cert /etc/openvpn/keys/server.crt # путь к сертификату сервера
key /etc/openvpn/keys/server.key # ключ сервера
dh /etc/openvpn/keys/dh1024.pem # файл алгоритма Diffie-Hellman
client-config-dir /etc/openvpn/ccd # путь к каталогу индивидуальных клиентских конфигураций
ifconfig 192.168.10.1 255.255.255.0 # устанавливает виртуальный адрес сервера
ifconfig-pool 192.168.10.2 192.168.10.99 # устанавливает диапазон виртуальных адресов для клиентов
push "route 192.168.10.0 255.255.255.0 192.168.10.1" # эта команда будет выполняться на клиентских компьютерах, во время инициализации OpenVPN, она будет активировать роутинг так, чтобы клиенты автоматически использовали openvpn-сервер как шлюз для этой подсети
duplicate-cn # включает возможность использования одного ключа несколькими клиентами
verb 3 # указывает уровень отладки
cipher DES-EDE3-CBC # шифрование по алгоритму DES-EDE3-CBC
persist-key # будет загружать ключи в режиме persist, то есть их перезагрузка не потребуется в случае разрыва соединения
log-append /var/log/openvpn.log # путь к файлу лога
persist-tun # активирует работу tun/tap устройств в режиме persist
comp-lzo # активирует использование сжатия


Всё, если процедура прошла без ошибок, то сервер готов. Перезапустите его командой:


sudo /etc/init.d/openvpn restart


Часть II — настройка клиента


Прежде всего установим пакет и создадим папку для хранения ключей:


sudo apt-get install openvpn
sudo mkdir /etc/openvpn/keys


С сервера надо взять 4 файла:


ca.crt
client.crt
client.key
ta.key


и скопировать их в папку /etc/openvpn/keys клиента.


Создаем файл-настроек клиента:


sudo nano /etc/openvpn/client.conf


Добавляем в него следующий текст:


tls-client # указывает программе работать в режиме клиента
proto tcp-client # активирует протокол TCP
remote 9.9.9.9 # внешний адрес сервера
dev tap # используемый тип интерфейса - L2 туннель
port 1200 # номер openvpn-порта сервера
cd /etc/openvpn # указывает на директорию по-умолчанию
pull # указывает принимать команды от сервера
tls-auth /etc/openvpn/keys/ta.key 1 # активирует дополнительный уровень аутентификации
ca /etc/openvpn/keys/ca.crt # путь к корневому сертификату сервера
cert /etc/openvpn/keys/client.crt # путь к сертификату клиента
key /etc/openvpn/keys/client.key # путь к ключу клиента
cipher DES-EDE3-CBC # шифрование по алгоритму DES-EDE3-CBC
log-append /var/log/openvpn.log # путь к файлу лога
comp-lzo # активирует использование сжатия


Клиент готов, можно запускать:


sudo /etc/init.d/openvpn restart


После успешного запуска должен появиться виртуальный сетевой интерфейс с адресом в пределах выделенного на сервере диапазона.


Также, вероятно, вам потребуется настроить корректным образом роутинг на вашей клиентской машине. К примеру в linux для добавления маршрута к другой подсети доступной на сервере обычно это делается так:


sudo route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.10.1 tap0


Также необходимые подсети вы можете добавить в конфигурационный файл сервера /etc/openvpn/openvpn.conf, добавив строки подобно этой:


push "route 192.168.5.0 255.255.255.0 192.168.10.1"


Это даст возможность не поднимать каждую подсеть вручную.


Часть III — настройка фиксированных адресов


Если есть необходимость в том, чтобы клиентские адреса не выдавались автоматически в пределах диапазона, а были всегда строго фиксированы, то достаточно выполнить следующие инструкции…


Информация о фиксированных адресах в нашем случае будет храниться на сервере, а назначаться они будут в соответствии с ключами (то есть каждый клиент с фиксированным адресом должен будет иметь свой уникальный ключ, ну а те клиенты, кому подходят динамические адреса — могут использовать общий клиентский ключ). Для этого на сервере генерируем два дополнительных ключа:


cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./pkitool client1
./pkitool client2


Создаем файл для client1:


sudo nano /etc/openvpn/ccd/client1


В него добавляем строку:


ifconfig-push 192.168.10.51 255.255.255.0


Аналогичным образом сделаем и для client2:


sudo nano /etc/openvpn/ccd/client2


Где добавим строку:


ifconfig-push 192.168.10.52 255.255.255.0


Такая настройка сделает адрес client1 — 192.168.10.51, а client2 — 192.168.10.52.
К этому стоит добавить, что эти файлы в папке ccd (параметр — client-config-dir) являются отдельными конфигурационными файлами клиентов, можете добавить в них какие-либо параметры по-своему усмотрению.


Настройка клиента для использования фиксированного адреса производится аналогично тому, как описано выше, единственное отличие в шагах, это то, что вместо client.crt и client.key вам надо скопировать и указать в файле конфигурации client1.crt и client1.key или client2.crt и client2.key соответственно.

06 Ноябрь 2012 г.



метки:



Вверх

Подписаться на RSS

  • Новости
  • Статьи
  • Разделы статей

    Наши контакты

    +7 922 292-00-34

    +7(343)361-52-00

    Напишите нам через форму!!!

    Быстрая форма связи с нами

     
    Ваше имя?*
    Как с Вами связаться?*
    Опишите вопрос или сообщение*
    Введите код *


    Знаком (*) выделены обязательные поля.
    Каталог интернет ресурсов - ИнфоПитер
    1С Предприятие
    1С Предприятие

    Антивирусная защита, FireWall
    Антивирусная защита, FireWall

    Заправка Samsung/Xerox
    Заправка Samsung/Xerox

    Заправка картриджей Brother
    Заправка картриджей Brother

    Заправка картриджей Epson/Konica Minolta
    Заправка картриджей Epson/Konica Minolta

    Заправка картриджей HP/Canon black
    Заправка картриджей HP/Canon black

    Заправка картриджей HP/Canon color
    Заправка картриджей HP/Canon color

    Заправка картриджей Lexmark
    Заправка картриджей Lexmark

    Информационные услуги
    Информационные услуги

    Монтаж локальной сети
    Монтаж локальной сети

    Монтирование кабель каналов
    Монтирование кабель каналов

    Настройка внутреннего оборудования
    Настройка внутреннего оборудования

    Настройка работоспособности переферийного оборудования
    Настройка работоспособности переферийного оборудования

    Обслуживание компьютеров
    Обслуживание компьютеров

    Обслуживание серверов
    Обслуживание серверов

    Оптимизация веб сайтов
    Оптимизация веб сайтов

    Разовые услуги
    Разовые услуги

    Ремонт
    Ремонт

    Ремонт оргтехники
    Ремонт оргтехники

    Создание веб (WEB) сайтов
    Создание веб (WEB) сайтов


    упвап

    Юридические услуги
    Юридические услуги

    Наверх

    ООО "Бизнес Технологии"© 2010 г.

    Написать автору

    Карта сайта