Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> документация —> man —> security —> OpenVPN

Файл конфигурации OpenVPN сервера

Автор: serge.


#################################################
# Образец файла конфигурации OpenVPN 2.0 для    #
# многоклиентного сервера.                      #
#                                               #
# Этот конфиг файл для серверной стороны        #
# при работе OpenVPN в режиме                   #
# множество клиентов <-> один сервер.           #
#                                               #
# OpenVPN также поддерживает конфигурацию       #
# одиночная машина <-> одиночная машина         #
# (Смотри страницу примеров                     #
# на сайте для получения дополнит. информации). #
#                                               #
# Этот конфиг должен работать на Windows        #
# или Linux/BSD системах. Помните, что в        #
# Windows в путях к файлам используется         #
# двойной обратный слеш, т.е.:                  #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
#                                               #
# Коментарии начинаются с символов '#' или ';'  #
#################################################

# Какой локальный IP адрес OpenVPN
# должен слушать? (опционально)
;local a.b.c.d

# Какой TCP/UDP порт должен слушать OpenVPN?
# Если вы хотите запустить несколько OpenVPN процессов
# на одной машине, используйте различные номера
# портов для каждого процесса.  Вы должны
# открыть этот порт в вашем файерволе.
port 1194

# TCP или UDP сервер?
;proto tcp
proto udp

# "dev tun" создаст маршрутизируемый IP туннель,
# "dev tap" создаст ethernet туннель.
# Используйте "dev tap0" если вам нужен мост
# и объедините полученный tap0 виртуальный интерфейс
# в режиме моста с вашим ethernet интерфейсом.
# Если вы хотите управлять правами доступа
# через VPN, вы должны создать правила файервола
# для TUN/TAP интерфейса.
# На не-Windows системах, вы можете указать
# явный номер устройствам, как например, tun0.
# В Windows, используйте для этого "dev-node".
# В большинстве систем, VPN не будет работать
# пока вы частично или польностью не отключите
# файервол для TUN/TAP интерфейса.
;dev tap
dev tun

# В Windows нужно указать имя адаптера TAP-Win32
# в панеле Network Connections, если вы используете
# более чем один адаптер.  В XP SP2 или старших,
# вам возможно придется отключить
# Windows файервол для TAP адаптера.
# Не-Windows системы обычно не требуют этого.
;dev-node MyTap

# SSL/TLS корневой сертификат (ca), сертификат
# (cert), и частный ключ (key).  Каждый клиент
# и сервер должны иметь свой собственный cert и
# ключевой файл. Сервер и все клиенты будут
# использовать один и тот же ca файл.
#
# Смотри в "easy-rsa" директории наборы
# скриптов для генерации RSA сертификатов
# и частных ключей.  Незабывайте использовать
# уникальные общие имена сертификатов для сервера
# и каждого клиента.
#
# Можно использовать любую X509 систему управления ключами.
# OpenVPN может также использовать ключевой файл формата PKCS #12
# (смотри директиву "pkcs12" в man).
ca ca.crt
cert server.crt
key server.key  # Этот файл необходимо хранить в секрете

# Diffie hellman параметры.
# Сгенерируйте ваш собственный:
#   openssl dhparam -out dh1024.pem 1024
# Замените 1024 на 2048, если вы используете
# 2048 битные ключи. 
dh dh1024.pem

# Установите серверный режим и укажите VPN подсеть
# из которой OpenVPN будет выделять адреса клиентам.
# Сервер возьмет себе адрес 10.8.0.1,
# остальные остануться доступными для клиентов.
# На каждом клиенте указывается адрес сервера
# 10.8.0.1. Закоментируйте эту строку, если вы используете
# ethernet мост. Смотри man для получения дополнительной информации.
server 10.8.0.0 255.255.255.0

# Укажите хранить соответствие клиент <-> виртуальный IP адрес
# в файле. Если OpenVPN будет остановлен или
# перезапущен, переприсоединившиеся клиенты смогут получить
# тот же виртуальный IP адрес из пула, что был назначен ранее.
ifconfig-pool-persist ipp.txt

# Установите серверный режим для ethernet моста.
# Вы должны сначала в своей ОС настроить мост
# между TAP и NIC интерфейсом.
# Затем вы должны вручную установить
# IP/маску на мост, к примеру 10.8.0.4/255.255.255.0.
# В заключении мы должны установить диапазон IP
# адресов в этой подсети для выделения клиентам
# (начало=10.8.0.50 конец=10.8.0.100).
# Оставьте эту строку закоментированной, если вы
# не используете ethernet мост.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Установите клиенту соответствующие маршруты
# для возможности работать с другими подсетями
# за сервером. Помните, что эти подсети так же
# должны знать маршрут к клиентам
# адресного пула OpenVPN (10.8.0.0/255.255.255.0)
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"

# Чтобы назначить специфический IP адрес
# специфическому клиенты или если за клиентом
# располагается подсеть, которая тоже использует эту VPN,
# используйте поддиректирию "ccd" для хранения специфических
# файлов конфигурации клиентов (смотри man для получения
# дополнительой информации).

# ПРИМЕР: Допустим клиент
# имеент сертификат с именем "Thelonious",
# а также имеет за собой небольшую подсеть из
# машин с адресами, например 192.168.40.128/255.255.255.248.
# Сначала раскоментируйте эти строки:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Затем создайте файл ccd/Thelonious со следующей строкой:
#   iroute 192.168.40.128 255.255.255.248
# Это разрешить подсети 'Thelonious'
# доступ к VPN. Этот пример будет работать только
# если у вас режим роутера, но не моста, т.е. вы
# используете директивы "dev tun" и "server".

# ПРИМЕР: Допустим вы хотите дать
# Thelonious постоянный VPN IP адрес 10.9.0.1.
# Вначале раскоментируйте следующую строку:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Затем добавьте следующую строку в ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

# Допустим вы хотите сделать различные права доступа
# на файерволе для различных групп клиентов
# Есть два способв:
# (1) Запустит несколько OpenVPN демонов, по одному на
#     каждую группу, и настроить файервол на каждом TUN/TAP
#     интерфейсе для каждой группы/демона соответственно.
# (2) (Advanced) Создать скрипт для динамической
#     модификации файервола при подключении
#     различных клиентов. Смотри man для получения
#     дополнительной информации по learn-address скрипту.
;learn-address ./script

# Если включена, то эта директива заменит
# всем клиентам их дефолтный шлюз
# на VPN, причем весь IP трафик,
# такой как веб трафик и DNS запросы
# будут направляться через VPN
# (На машине с OpenVPN сервером должен быть настроен NAT
# в интернет с TUN/TAP интерфейса для того чтобы это
# работало правильно).
# ПРЕДОСТЕРЕЖЕНИЕ: У клиента может перестать работать сеть, если
# пакеты на локальный клиентский DHCP сервер
# пойдут через туннель.  Решение: убедитесь что
# локальный DHCP сервер клиента доступен через более
# специфичный маршрут, чем маршрут по умолчанию 0.0.0.0/0.0.0.0.
;push "redirect-gateway"

# Определения Windows-специфичных сетевых параметров
# могут быть переданы клиенту, такие как адреса DNS
# или WINS серверов.  ПРЕДОСТЕРЕЖЕНИЕ:
# http://openvpn.net/faq.html#dhcpcaveats
;push "dhcp-option DNS 10.8.0.1"
;push "dhcp-option WINS 10.8.0.1"

# Раскоментируйте эту директиву, чтобы
# клиенты могли "видеть" друг друга в сети.
# По умолчанию, клиенты могут видеть только сервер.
# Чтобы заставить клиента видеть только сервер,
# вы должны внести соответствующие правила 
# в файервол сервера, касающиеся TUN/TAP интерфейсов.
;client-to-client

# Раскоментируйте эту директиву для того, чтобы
# многочисленные клиенты могли соединяться с одними и темеже
# сертификатом/ключем или именем.  Это рекомендуется включать только
# на период тестирования.  Для рабочего использования,
# каждый клиент должен иметь личный пару сертификат/ключ
#
# ЕСЛИ ВЫ НЕ СГЕНЕРИРОВАЛИ ИНДИВИДУАЛЬНУЮ
# ПАРУ СЕРТИФИКАТ/КЛЮЧ ДЛЯ КАЖДОГО КЛИЕНТА,
# РАСКОМЕНТИРУЙТЕ ЭТУ ЛИНИЮ.
;duplicate-cn

# keepalive директива устанавливает 
# отправку ping-подобных сообщений
# для того, чтобы каждая сторона знала
# что другая перестала отвечать.
# Пинг каждые 10 секунд, если в течение
# 120 секунд нет ответа, то считается
# что удаленных хост не доступен.
keepalive 10 120

# Для дополнительной безопасности при
# использовании SSL/TLS, создайте "HMAC firewall"
# для защиты от DoS аттак и флуда UDP порта.
#
# Сгенерируйте с помощью:
#   openvpn --genkey --secret ta.key
#
# Сервер и каждый клиент должны иметь
# копию этого ключа.
# Второй параметр выставляется в '0'
# для сервера и '1' для клиентов.
;tls-auth ta.key 0 # Этот файт секретный

# Выберите криптографический сертификат.
# Этот пункт конфига должен копироваться
# в конфиг клиента, так же как он установлен здесь.
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES

# Включить сжатие на VPN линии.
# Если вы включаете это здесь, вы так же
# должны включить сжатие в конфиге клиента.
comp-lzo

# Максимальное число одновременных
# клиентских подключений.
;max-clients 100

# Это хорошая идея запускать процесс OpenVPN
# от имени непривелигированного пользователя.
#
# Вы можете раскоментировать эти строки
# для не-Windows систем.
;user nobody
;group nobody

# Эти опции позволяют избежать необходимости
# получения доступа к определенным ресурсам
# после рестарта, т.к. это может быть невозможным
# из-за понижения привелегий.
persist-key
persist-tun

# Устанавливает файл состояния, в который ежеминутно
# заносятся текущие подключения и ошибки.
status openvpn-status.log

# По умолчанию, логи направляются в syslog (на
# Window, при работе в качестве службы, в
# "\Program Files\OpenVPN\log" каталог).
# Используйте log или log-append чтобы измененить это.
# "log" перенаправит логи в файл,
# тогда как "log-append" добавит еще и вывод в файл.
# Используйте одну из двух (но не обе) директив.
;log         openvpn.log
;log-append  openvpn.log

# Установите необходимый уровень логирования.
#
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 3

# Запрещает повтор сообщений.  Не более 20
# идущих друг за другом сообщений одного типа
# будут направлены в лог.
;mute 20

Ветка форума для обсуждения статьи



размещено: 2007-11-20,
последнее обновление: 2007-11-20,
автор: serge


Kolesya, 2007-11-21 в 11:22:57

ca ca.crt
cert server.crt
key server.key
tls-auth ta.key
рекомендую заменить на полный путь к ключам
например так
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
tls-auth /etc/openvpn/ta.key

jekader, 2012-06-28 в 15:54:18

перевод опций log и log-append неверный. В первом случае, при запуске openvpn, старый лог стирается. Во втором - продолжается запись в него.

Одновременную выдачу в syslog и файл, похоже, openvpn не поддерживает



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1486 секунд
Из них PHP: 63%; SQL: 37%; Число SQL-запросов: 55 шт.
Исходный размер: 26192; Сжатая: 8066