• Yamaha motors
  • Subaru WRX STI
  • Баба Клава!
  • Светодиодные системы освещения

Печать

Шпаргалка - "Настройка OpenVPN сервера в Mandriva при помощи Webmin"

Задача: настроить доступ с домашнего компьютера под управлением Windows XP SP-3 доступа к локальной сети в офисе. При этом с домашней машины необходимо получить доступ к внутренней сети + доступ в Интернет через шлюз на работе. Сервер с OpenVPN работает под управлением Mandriva 2008 PowerPack, он же является шлюзом в Интернет (помимо основного). Домашняя машина должна стать полноправным членом внутренней офисной сети с полным доступом ко всем ресурсам (терминальные серверы, серверы с SQL, полный доступ к Интернету и т.д.).

Данная задача была с успехом решена, не без напрягов естейственно.
  1. Устанавливаем через "Центр управления Mandriva" пакет с OpenVPN + пакет bridge-util (необходим для работы моста).
  2. Все настройки выполняем через Webmin (можно использовать и скрипты идущие с пакетом OpenVPN, лежат в папке /usr/share/openvpn/...)
  3. Заходим в модуль Servers -> OpenVPN+CA -> Certification Authority List и создаем новый сертификат.
  4. В появившемся сертификате заходим в раздел Keys list и создаем ключи для сервера и для клиента/ов.
  5. Возвращаемся в OpenVPN Administration и идем в раздел VPN List. Создаем там на основе сертификата новый VPN сервер, редактируем его параметры. Я устанавливал работу сервера в режиме моста для этого:
  6. proto (Protocol) - utp
    Device - tap
    Bridge Device - пишем типа brg0 (в меру фантазии)
    Network Device for Bridge - выбираем интерфейс подключенный непосредственно к внутренней сети офиса
    IP config for bridge - IP шлюза во внутренней сети (через который планируете получать интернет)
    IP-Range for Bridge-Clients - диапазон адресов из которых будет назначен адрес домашней машины (клиентам VPN сервера)
    enable TLS and assume server role during TLS handshake - yes
    User и Group - оставил nobody (как было предложено по умолчании)
    Additional Configurations - прописал следующее :
    push "route-gateway xxx.xxx.xxx.xxx" # IP шлюз для клиента
    push "dhcp-option DNS xxx.xxx.xxx.xxx" # DNS для клиента
    push "redirect-gateway" # перенаправить весь трафик через шлюз
  7. Для созданного сервера в разделе Client List создаем на основе ключей клиентов этого сервера. В последствии для      каждого клиента их этого раздела по клавише Export забираем настроечные файлы, сертификат и ключ.

proto (Protocol) utp
Device tap
Bridge Device brg0
Network Device for Bridge eth1
IP config for bridge 192.168.1.5
IP-Range for Bridge-Clients Start:192.168.1.100 End: 192.168.1.120
enable TLS and assume server role during TLS handshake yes
Additional Configurations script-security 2
push "route-gateway 192.168.100.1"
push "dhcp-option DNS 172.21.17.5"
push "route 192.168.200.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"
push "redirect-gateway"

 



(Прим. "push" - значит данная команда предназначена подключившемуся клиенту, , без "push" команда предназначена серверу при его старте)

При возникновении ошибки - "Path to Bridge-Start or path to Bridge-End or path to Plugin not found" укажите правильный путь к скриптам Bridge-Start и Bridge-End на вкладке Module Config WebMin

В новой версии OpenVPN 2.1 необходимо активировать режим безопасности 2 или 3 иначе сервер не стартует. Дописываем в конфиг файл сервера строку script-security 2 ( в поле Additional Configurations)

Также (косяк Mandriva 2010 не прописаны корректно пути PATH) необходимо поправить скрипт запуска сервера Bridge-Start. Указать полный путь к программам brctl и ifconfig.

В разделе VPN server list входим в раздел Client List и создаем нового клиента. От туда же берем архив с сертификатами и готовым конфигом для клиента. Давим на Export и получаем.

Все конфигурационные файлы OpenVPN храняться в папке /etc/openvpn. При старте сервиса скрипт запуска автоматически сканирует эту папку и запускает сервер или клиентское соединение с удаленным сервером VPN.
При использовании нескольких сетевых карт смотрящих в один сегмент сети рекомендую назначить их мертики (приоритеты) в порядке убывания. Если этого не сделать, то сетевые карты будут либо отвечать одновременно либо перебивать друг друга.


Настройки OpenVPN клиента под виндой простые не описываю.


Рекомендация:
Перед настройками необходимо отключить файервол в Центре управления Mandriva - Безопасность -Настройка персонального файервола. Необходимо установить галочку "Ко всем (файервол отключен)".
В Mandriva файервол построен на iptables. Правила для него формируют скрипты drakefirewall и shorewall причем независимо друг от друга. При загрузке сначала загружаются правила drakefirewall, а затем правила shorewall (правила плюсуются, а не замещаются). Необходимо помнить об этом!

файл server.conf --->

port 1194
proto udp
dev tap0
ca keys/cert_fran/ca.crt
cert keys/cert_fran/ca_server.crt
key keys/cert_fran/ca_server.key
dh keys/cert_fran/dh2048.pem
server-bridge 192.168.4.22 255.255.255.0 192.168.4.240 192.168.4.250 #@@ brg0 eth0
crl-verify keys/cert_francco/crl.pem
cipher DES-CFB
user nobody
group nogroup
status servers/server1/logs/openvpn-status.log
log-append servers/server1/logs/openvpn.log
verb 2
mute 20
max-clients 100
keepalive 10 120
client-config-dir /etc/openvpn/servers/server1/ccd
tls-server
comp-lzo
persist-key
persist-tun
ccd-exclusive
up servers/server1/bin/server1.up
plugin /usr/share/webmin/openvpn/ovpn_plugin/openvpn-down-root.so "/etc/openvpn/servers/server1/bin/server1.down-root"
script-security 3
push "route-gateway 192.168.4.22"
push "dhcp-option DNS 172.21.17.5"
push "route 192.168.4.0 255.255.255.0"
push "redirect-gateway"





Ссылки по теме: