Документация по ОС FreeBSD Среда, 01.05.2024, 03:49
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » VPN

OpenVPN с авторизацией в OpenLDAP [2008]
1. Установка программ
Шаг 1
Установите OpenVPN из портов. Не удаляйте исходный код!
# cd /usr/ports/security/openvpn/
# make install
# rehash

Шаг 2
Установите из портов re2c:
# cd /usr/ports/devel/re2c
# make install clean
# rehash

Шаг 3
Скачайте архив http://openvpn-auth-ldap.googlecode.com/files/auth-ldap-2.0.3.tar.gz и установите:
# cd /home/krav/install/
# tar xzpf auth-ldap-2.0.3
# cd auth-ldap-2.0.3
# ./configure \
? -–prefix=/usr/local \
? –-with-openldap=/usr/local \
? –-with-openvpn=/usr/ports/security/openvpn/work/openvpn-2.0.6/
# make
# make install

Примечание! Это для FreeBSD 6.2. В 7-ке появился порт /usr/ports/security/openvpn-auth-ldap

2. Создание сертификатов
Эта часть практически полностью скопирована из статьи http://www.lissyara.su/?id=1549

Шаг 1
Загрузите переменные в оболочку:

# cd /usr/local/share/doc/openvpn/easy-rsa/
# sh
# . ./vars

Шаг 2
Запустите скрипт для создания серийного и индексного файла для новых ключей:
# ./clean-all

Шаг 3
Создайте сертификат. При создании сертификата введите всю необходимую информацию:
# ./build-ca
Generating a 1024 bit RSA private key
.....++++++
....++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name 
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [KG]:UA
State or Province Name (full name) [NA]:Dnepropetrovsk
Locality Name (eg, city) [BISHKEK]:Dnepropetrovsk
Organization Name (eg, company) [OpenVPN-TEST]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) []:server
Email Address [me@myhost.mydomain]:kravchenko@xxxxxx.dp.ua

Шаг 4
Создайте сертификат X.509 для сервера. На вопросы отвечайте как и на предыдущем шаге, после этого введите пароль и имя организации, и подтвердите подпись:
# ./build-key-server server
Generating a 1024 bit RSA private key
...........................++++++
..........................................++++++
writing new private key to 'gamma.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name 
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [KG]:UA
State or Province Name (full name) [NA]:Dnepropetrovsk
Locality Name (eg, city) [BISHKEK]:Dnepropetrovsk
Organization Name (eg, company) [OpenVPN-TEST]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) []:server
Email Address [me@myhost.mydomain]:kravchenko@xxxxxx.dp.ua

Шаг 5
Создайте ключ Диффи Хельман:
# ./build-dh

Шаг 6
Выйдите из оболочки sh и создайте ключ для tls-аутентификации:
# exit
# openvpn --genkey --secret \
? /usr/local/share/doc/openvpn/easy-rsa/keys/server/ta.key

Серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиенту ca.crt.


3. Настройка сервера
Шаг 1
Создайте 2 директории:
# mkdir /usr/local/etc/openvpn
# mkdir/usr/local/etc/openvpn/keys

Шаг 2
Скопируйте все ключи (ca.crt, dh1024.pem, server.crt, server.key, ta.key) в /usr/local/etc/openvpn/keys.
Шаг 3
Создайте конфигурационный файл /usr/local/etc/openvpn/server.conf:
# Включаем плагин и в качестве аргумента - конфигурационный файл
plugin /usr/local/lib/openvpn-auth-ldap.so 
 "/usr/local/etc/openvpn/openvpn-auth-ldap.conf"
port 2000
proto tcp
# На tun0 у меня провайдер PPPoE
dev tun1
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
client-cert-not-required
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
#client-config-dir ccd
route 10.8.0.0 255.255.255.252
tls-server
tls-auth /usr/local/etc/openvpn/keys/ta.key 0
tls-timeout 120
auth MD5
cipher BF-CBC
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

Шаг 4
Создайте директории и файлы, указанные в переменных status и log:
# mkdir /var/log/openvpn/
# cd /var/log/openvpn/
# touch openvpn-status.log openvpn.log

Шаг 5
В директории /usr/local/etc/openvpn/ создайте файл openvpn-auth-ldap.conf следующего содержания:
<LDAP>
   URL             ldap://192.168.1.3/
   BindDN          cn=manager,dc=mycompany,dc=local
   Password        password
   Timeout         15
   TLSEnable       no
   FollowReferrals yes
</LDAP>

<Authorization>
       BaseDN          "ou=users,dc=mycompany,dc=local"
       SearchFilter    "(&(uid=%u)(objectclass=posixAccount))"
       RequireGroup    false
# Group у меня не используется        
       <Group>
               BaseDN          "ou=groups,dc=vicor-ibs,dc=local"
               SearchFilter    "(|(cn=developers)(cn=artists))"
               MemberAttribute uniqueMember
       </Group>
</Authorization>

Шаг 6
Для запуска OpenVPN внесите в файл /etc/rc.conf строки:
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_dir="/usr/local/etc/openvpn"

Шаг 7
Внесите изменения в конфигурационный файл BIND, чтобы VPN-клиенты могли использовать DNS 192.168.1.1. К перечисленным сетям в переменной allow-auery добавьте сеть 10.8.0.0/24:
allow-query { 192.168.1.0/24; 127.0.0.1; 10.8.0.0/24; };

Шаг 8
Добавьте правила в межсетевой экран:
${FwCMD} add allow all from any to me dst-port 2000
${FwCMD} add allow all from 10.8.0.0/24 to ${lan_net}
${FwCMD} add allow all from ${lan_net} to 10.8.0.0/24

Шаг 9
Запустите OpenVPN:
# /usr/local/etc/rc.d/openvpn start

4. Настройка клиента Windows XP
Шаг 1
Скачайте и установите openvpn-2.0.6-gui-1.0.3-install.exe

Шаг 2
Создайте конфигурационный файл C:\Program Files\OpenVPN\config\openvpn.ovpn. И скопируйте в эту директорию сертификат ca.crt и ключ ta.key.
auth-user-pass
dev tun
proto tcp
# Внешний IP сервера OpenVPN
remote 22.22.22.22
port 2000
client
resolv-retry infinite
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
tls-client
tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
push "dhcp-option DNS 192.168.1.1"
verb 3

Шаг 3
Подключитесь к серверу OpenVPN. Для этого:
1. Нажмите правой кнопкой мыши на иконке «OpenVPN GUI» --> «Connect».
2. На приглашение ввести логин и пароль, введите свой логин и пароль в домене (LDAP-е).

Примечание! При таких настройках клиенту не будет выдаваться шлюз по умолчанию, только IP, DNS.



Источник: http://www.lissyara.su/?id=1712
Категория: VPN | Добавил: oleg (15.07.2008) | Автор: aleksey.kravchenko
Просмотров: 1383 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024