Доброго всем времени суток.Сложилось так, что необходимо создать отказоустойчивый кластер OpenVPN ибо на этот сервер завязано не мало всего.
Сразу опишу систему.
node1: openvpn1.testdomain.mydomain.ru 192.168.32.10 (192.168.32.9- virtual IP)
node2: openvpn2.testdomain.mydomain.ru 192.168.32.11Решено было сделать следующую связку. OpenVPN + Heartbeat + rsync. Последнее для синхронизации /etc/openvpn с первой Ноды на вторую Ноду. Из Мира к виртуальному IP сервера проброшен порт 1194(udp).
И всё, вроде бы, гладко. Виртуальный интерфейс заводится. При "вылетании" Node1 сервис OpenVPN автоматом заводится на Node2, туда же "перекочевывает" и виртуальный IP. По этому виртуальному IP я могу админить сервер (заходить по SSH, просматривать Веб интерфейс Webmin).
Но вот беда. Никак не могу зацепиться по виртуальному IP к OpenVPN серверу. Лог клиента ниже.
Sat May 18 17:54:05 2013 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat May 18 17:54:05 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat May 18 17:54:05 2013 UDPv4 link local: [undef]
Sat May 18 17:54:05 2013 UDPv4 link remote: [AF_INET]94.247.244.70:1194
Sat May 18 17:55:05 2013 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat May 18 17:55:05 2013 TLS Error: TLS handshake failed
Sat May 18 17:55:05 2013 SIGUSR1[soft,tls-error] received, process restarting
Sat May 18 17:55:07 2013 WARNING: No server certificate verification method has been enabled....И вот этого я понять не могу. Я пробросил из Мира порт 10000 на виртуальный IP и могу заходить на свой Вебмин, что говорит о том, что форвардинг на виртуальный IP работает. Но вот OpenVPN не стартует и всё тут.
Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.Может есть идеи в какую сторону копать?
А если попробовать без TLS, а просто через статический ключ?P.S.
а какой глубокий смысл в такой связке? Что в итоге хотели получить?
> А если попробовать без TLS, а просто через статический ключ?
> P.S.
> а какой глубокий смысл в такой связке? Что в итоге хотели получить?Статический ключ обязательно попробую, а смысл в такой связке это отказоустойчивость. Если умрет одна машина- другая её заменит. Или я не правильно понял назначение Heartbeat'a?
>> А если попробовать без TLS, а просто через статический ключ?
>> P.S.
>> а какой глубокий смысл в такой связке? Что в итоге хотели получить?
> Статический ключ обязательно попробую, а смысл в такой связке это отказоустойчивость. Если
> умрет одна машина- другая её заменит. Или я не правильно понял
> назначение Heartbeat'a?на машинах то что крутится (http/smtp/pop3/etc...) и зачем в этой связке openvpn?
P.S.
ну и не плохо бы конфиги openvpn увидеть
>>> А если попробовать без TLS, а просто через статический ключ?
>>> P.S.
>>> а какой глубокий смысл в такой связке? Что в итоге хотели получить?
>> Статический ключ обязательно попробую, а смысл в такой связке это отказоустойчивость. Если
>> умрет одна машина- другая её заменит. Или я не правильно понял
>> назначение Heartbeat'a?
> на машинах то что крутится (http/smtp/pop3/etc...) и зачем в этой связке openvpn?
> P.S.
> ну и не плохо бы конфиги openvpn увидетьНа машинах чтоит чистая CentOS 5(64 bit). Установлено только OpenVPN Heartbeat и rsync. Просто на предприятии используется OpenVPN. На данный момент OpenVPN сервер всего один и если вдруг он умрет то всем станет грустно, по этой причине я задумал сделать второй OpenVPN сервер и связать их Heartbeat'ом.
Все конфиги сейчас выложу в новом посте.
>[оверквотинг удален]
> Sat May 18 17:55:05 2013 TLS Error: TLS handshake failed
> Sat May 18 17:55:05 2013 SIGUSR1[soft,tls-error] received, process restarting
> Sat May 18 17:55:07 2013 WARNING: No server certificate verification method has
> been enabled....
> И вот этого я понять не могу. Я пробросил из Мира порт
> 10000 на виртуальный IP и могу заходить на свой Вебмин, что
> говорит о том, что форвардинг на виртуальный IP работает. Но вот
> OpenVPN не стартует и всё тут.
> Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.
> Может есть идеи в какую сторону копать?Настройки netfilter на второй ноде правильны? Что показывает netstat -apnu на первой ноде (когда она активна) и на второй (когда активна она)?
Вместо rsync можно использовать drbd - классная штука, рекомендую)
>[оверквотинг удален]
>> been enabled....
>> И вот этого я понять не могу. Я пробросил из Мира порт
>> 10000 на виртуальный IP и могу заходить на свой Вебмин, что
>> говорит о том, что форвардинг на виртуальный IP работает. Но вот
>> OpenVPN не стартует и всё тут.
>> Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.
>> Может есть идеи в какую сторону копать?
> Настройки netfilter на второй ноде правильны? Что показывает netstat -apnu на первой
> ноде (когда она активна) и на второй (когда активна она)?
> Вместо rsync можно использовать drbd - классная штука, рекомендую)И так подробные конфиги.
####################
Сетевые настройки ##
####################Node1: openvpn1.testdomain.mydomain.ru
Eth0 192.168.32.10Node2: openvpn2.testdomain.mydomain.ru
Eth0 192.168.32.11######################
Настройки Heartbeat ##
######################Node1:
/etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
udpport 694
bcast eth0
auto_failback on
node openvpn1.testdomain.mydomain.ru
node openvpn2.testdomain.mydomain.ru
/etc/ha.d/haresources
openvpn1.testdomain.mydomain.ru 192.168.32.9 openvpn
/etc/ha.d/authkeys
auth 2
2 sha1 test-haNode2:
/etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
udpport 694
bcast eth0 # Linux
auto_failback on
node openvpn1.testdomain.mydomain.ru
node openvpn2.testdomain.mydomain.ru
/etc/ha.d/haresources
openvpn1.testdomain.mydomain.ru 192.168.32.9 openvpn
/etc/ha.d/ayuthkeys
auth 2
2 sha1 test-ha####################
Настройки OpenVPN ##
####################Node1:
/etc/openvpn/testserver.conf
port 1194
proto udp
dev tun0
ca keys/testdomain/ca.crt
cert keys/testdomain/testserver.crt
key keys/testdomain/testserver.key
dh keys/testdomain/dh1024.pem
server 192.168.33.0 255.255.255.0
crl-verify keys/testdomain/crl.pem
cipher AES-128-CBC
user nobody
group nobody
status servers/testserver/logs/openvpn-status.log
log-append servers/testserver/logs/openvpn.log
verb 2
mute 20
max-clients 100
management 127.0.0.1 7505
keepalive 10 120
client-config-dir /etc/openvpn/servers/testserver/ccd
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 192.168.32.0 255.255.255.0"Node2:
/etc/openvpn/testserver.conf
port 1194
proto udp
dev tun0
ca keys/testdomain/ca.crt
cert keys/testdomain/testserver.crt
key keys/testdomain/testserver.key
dh keys/testdomain/dh1024.pem
server 192.168.33.0 255.255.255.0
crl-verify keys/testdomain/crl.pem
cipher AES-128-CBC
user nobody
group nobody
status servers/testserver/logs/openvpn-status.log
log-append servers/testserver/logs/openvpn.log
verb 2
mute 20
max-clients 100
management 127.0.0.1 7505
keepalive 10 120
client-config-dir /etc/openvpn/servers/testserver/ccd
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 192.168.32.0 255.255.255.0"##############################
Вывод команды netstat -panu ##
##############################Node1:
[root@openvpn1 node1]# netstat -apnu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:10000 0.0.0.0:* 1743/perl
udp 0 0 0.0.0.0:929 0.0.0.0:* 1177/rpc.statd
udp 0 0 0.0.0.0:932 0.0.0.0:* 1177/rpc.statd
udp 0 0 0.0.0.0:1194 0.0.0.0:* 4668/openvpn
udp 0 0 0.0.0.0:694 0.0.0.0:* 1654/heartbeat: wri
udp 0 0 0.0.0.0:41442 0.0.0.0:* 1654/heartbeat: wri
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1693/avahi-daemon
udp 0 0 0.0.0.0:111 0.0.0.0:* 1142/portmap
udp 0 0 0.0.0.0:36863 0.0.0.0:* 1693/avahi-daemonNode2:
[root@openvpn2 ~]# netstat -apnu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:10000 0.0.0.0:* 1683/perl
udp 0 0 0.0.0.0:52899 0.0.0.0:* 26331/heartbeat: wr
udp 0 0 0.0.0.0:56230 0.0.0.0:* 1633/avahi-daemon
udp 0 0 0.0.0.0:694 0.0.0.0:* 26331/heartbeat: wr
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1633/avahi-daemon
udp 0 0 0.0.0.0:879 0.0.0.0:* 1127/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1092/portmap
udp 0 0 0.0.0.0:882 0.0.0.0:* 1127/rpc.statd
По поводу drbd. Не вижу особого смысла его использовать ради синхронизации максимуму пары десятков конфигов. rsync, думаю, с этим вполне справится.
>[оверквотинг удален]
> Sat May 18 17:55:05 2013 TLS Error: TLS handshake failed
> Sat May 18 17:55:05 2013 SIGUSR1[soft,tls-error] received, process restarting
> Sat May 18 17:55:07 2013 WARNING: No server certificate verification method has
> been enabled....
> И вот этого я понять не могу. Я пробросил из Мира порт
> 10000 на виртуальный IP и могу заходить на свой Вебмин, что
> говорит о том, что форвардинг на виртуальный IP работает. Но вот
> OpenVPN не стартует и всё тут.
> Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.
> Может есть идеи в какую сторону копать?А может можно и без heartbeat обойтись. У OpenVPN есть опция remote которую можно указывать несколько раз и также задать remote-random, тогда клиент будет цепляться к одному из серверов указанных в remote, только надо проверить что произойдет при обрыве связи, и все вроде готово.
>[оверквотинг удален]
> Sat May 18 17:55:05 2013 TLS Error: TLS handshake failed
> Sat May 18 17:55:05 2013 SIGUSR1[soft,tls-error] received, process restarting
> Sat May 18 17:55:07 2013 WARNING: No server certificate verification method has
> been enabled....
> И вот этого я понять не могу. Я пробросил из Мира порт
> 10000 на виртуальный IP и могу заходить на свой Вебмин, что
> говорит о том, что форвардинг на виртуальный IP работает. Но вот
> OpenVPN не стартует и всё тут.
> Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.
> Может есть идеи в какую сторону копать?multihome?
попробуйте 1194/tcp
>[оверквотинг удален]
>> Sat May 18 17:55:07 2013 WARNING: No server certificate verification method has
>> been enabled....
>> И вот этого я понять не могу. Я пробросил из Мира порт
>> 10000 на виртуальный IP и могу заходить на свой Вебмин, что
>> говорит о том, что форвардинг на виртуальный IP работает. Но вот
>> OpenVPN не стартует и всё тут.
>> Если сделать форвардинг на Реальный IP (192.168.32.10) то ВПН запускается и работает.
>> Может есть идеи в какую сторону копать?
> multihome?
> попробуйте 1194/tcpСпасибо, reader. multihome спас положение.
Решение НАЙДЕНО :)
SOLVED