#################################################
# Образец файла конфигурации 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