URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 73099
[ Назад ]

Исходное сообщение
"OpenVPN - не работает client-config"

Отправлено BadLand , 25-Мрт-07 05:46 
Всем доброго!

Есть сервак с внешним айпишником на линухе и клиенты на виндах. Для идентификации используются сертификаты ca/client.crt/client.key.
Проблема в том, что никак не могу заставить OpenVPN определять пользователя и прикреплять ему правило из папки CCD(короче выдавать нужный мне айпи).
Клиенты видят друг друга и видят сервер. Но айпишники раздаются от балды. Перерыл кучу манов, к сожалению где-то что-то упустил, т.к. не работает...
Выглядит все примерно так:

1) Сервер:

local xx.xx.xx.xx
port 1194
proto tcp
dev tun

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

client-config-dir ccd
route 10.8.0.0 255.255.255.252

push "dhcp-option DNS 10.8.0.1"
push "dhcp-option WINS 10.8.0.1"

client-to-client

keepalive 10 120
cipher AES-128-CBC   # AES
comp-lzo
max-clients 30

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log

log openvpn.log
verb 3

mute 20
daemon

Папка CCD содержит фаил notebook [это Common Name, который я дал сертификату, собсна и в логах он виден также]
notebook содержит:

ifconfig-push 10.8.0.5 10.8.0.6

2) Клиент(пример одного из клиентов, common name: notebook):

client
dev tun
proto tcp

remote xx.xx.xx.xx 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

ns-cert-type server
cipher AES-128-CBC    #AES
comp-lzo
verb 3

3)Логи:

openvpn.log

Sun Mar 25 05:04:30 2007 TCP connection established with xx.xx.xx.xx:5318
Sun Mar 25 05:04:30 2007 TCPv4_SERVER link local: [undef]
Sun Mar 25 05:04:30 2007 TCPv4_SERVER link remote: xx.xx.xx.xx:5318
Sun Mar 25 05:04:30 2007 xx.xx.xx.xx:5318 TLS: Initial packet from xx.xx.xx.xx:5318, sid=beeeb32b 63dcb06b
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 VERIFY OK: depth=1, /C=RU/ST=RU/L=Moscow/O=xxxxxx/OU=ca/CN=casertificate/emailAddress=xxxx@xxxx
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 VERIFY OK: depth=0, /C=RU/ST=RU/O=xxxxxxx/OU=notebook/CN=notebook/emailAddress=xxxxx@xxxxx
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Sun Mar 25 05:04:31 2007 xx.xx.xx.xx:5318 [notebook] Peer Connection Initiated with xx.xx.xx.xx:5318
Sun Mar 25 05:04:31 2007 notebook/xx.xx.xx.xx:5318 MULTI: Learn: 10.8.0.14 -> notebook/xx.xx.xx.xx:5318
Sun Mar 25 05:04:31 2007 notebook/xx.xx.xx.xx:5318 MULTI: primary virtual IP for notebook/xx.xx.xx.xx:5318: 10.8.0.14
Sun Mar 25 05:04:33 2007 notebook/xx.xx.xx.xx:5318 PUSH: Received control message: 'PUSH_REQUEST'
Sun Mar 25 05:04:33 2007 notebook/xx.xx.xx.xx:5318 SENT CONTROL [notebook]: 'PUSH_REPLY,dhcp-option DNS 10.8.0.1,dhcp-option WINS 10.8.0.1,route 10.8.0.0 255.255.255.0,ping 10,ping-restart 120,ifconfig 10.8.0.14 10.8.0.13' (status=1)

openvpn-status.log

OpenVPN CLIENT LIST
Updated,Sun Mar 25 05:03:19 2007
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
notebook,xx.xx.xx.xx:5236,83125,24754,Sun Mar 25 04:53:52 2007
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.8.0.14,notebook,xx.xx.xx.xx:5236,Sun Mar 25 05:03:16 2007
GLOBAL STATS
Max bcast/mcast queue length,0
END


Содержание

Сообщения в этом обсуждении
"OpenVPN - не работает client-config"
Отправлено sdm , 25-Мрт-07 14:52 
да, c CCD есть какие-то странные вещи, я привязывался раньше к тем адресам(подсетям) что прописываются в  ipp.txt, но оказалось что в этом файле у некоторым клиентам может быть присвоен и другой адрес, т.е. если в начале или середине файла есть запись pdsk2,10.10.10.28 то ниже или в конце может быть pdsk2,10.10.10.136.

"OpenVPN - не работает client-config"
Отправлено BadLand , 26-Мрт-07 10:17 
>Всем доброго!
>
>Есть сервак с внешним айпишником на линухе и клиенты на виндах. Для
>идентификации используются сертификаты ca/client.crt/client.key.
>Проблема в том, что никак не могу заставить OpenVPN определять пользователя и
>прикреплять ему правило из папки CCD(короче выдавать нужный мне айпи).
>Клиенты видят друг друга и видят сервер. Но айпишники раздаются от балды.
>Перерыл кучу манов, к сожалению где-то что-то упустил, т.к. не работает...
>

Вообщем сам и отвечаю.

1) Два кофига, с которыми заработало и которые избавлены от мусора:

Сервер:

local xx.xx.xx.xx
proto tcp
port 1195
dev tun
tls-server
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.100.10.0 255.255.255.0
ccd-exclusive
client-config-dir /etc/openvpn/ccd/ccd-vip
keepalive 10 120
tls-auth /etc/openvpn/keys/key 0
comp-lzo
max-clients 30
user openvpn
group openvpn
cipher AES-128-CBC
status /etc/openvpn/logs/vip/openvpn-status.log
log         /etc/openvpn/logs/vip/openvpn.log
log-append  /etc/openvpn/logs/vip/openvpn.log
verb 4

2) Клиент:

client
pull
dev tun
proto tcp
remote xx.xx.xx.xx 1195
resolv-retry infinite
tls-client
ca F:\\LAN\\OpenVPN\\config\\ca.crt
cert F:\\LAN\\OpenVPN\\config\\client.crt
key F:\\LAN\\OpenVPN\\config\\client.key
tls-auth F:\\LAN\\OpenVPN\\config\\ta.key 1
ns-cert-type server
cipher AES-128-CBC
comp-lzo
verb 3

3) Для новичков типа меня:

Когда переходите в режим ccd-exclusive, ОБЯЗАТЕЛЬНО вводите реальные user и group(да и вообще собственно нормальные надо вводить данные :) ), которые имеют реальные права на директорию с опенвпн и все что ниже уровнем. Иначе будете наталкиваться в соединении в клиенте на строчку с невозможной авторизацией на сервере. Т.е. сервак стартанет, клиент его увидит, а при авторизации, даже при наличии ключей, выведет, что происходит сбой при проверке прав.

4) Эпилог:

user nobody
group nobody

Это то что было написано у меня, а надо:

user nobody
group nogroup

=)) вот и вся проблема - невнимательность. А вообще лучше сделать отдельную круппу и пользователя и назначить им права на папку.