Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: OpenVPN сервер и два клиента  (Прочитано 6577 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Antoha_82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
OpenVPN сервер и два клиента
« : 15 Ноября 2012, 14:11:00 »
Добрый день!
У меня есть такая проблема. Никак не получается подключить к OpenVPN серверу одновременно 2-х клиентов. Постоянно происходят переконнекты. Т.е. Сначало подключается один пользователь, все нормально, потом подключается второй юзер и у первого пошел переконнект, как только он снова подключился на переконнект уходит второй юзер и так до бесконечности.

Конфиг сервера server.conf
user            nobody # не даем привелегий
group           nogroup # процессу OpenVPN

mode            server # включаем сервер
                tls-server # в режиме TLS

ca              /etc/openvpn/my-ca.crt # Наш сертификат, которому "доверяют"
cert            /etc/openvpn/Server.crt # Сертификат самого сервера
key             /etc/openvpn/Server.pem # Закрытый ключ сервера
dh              /etc/openvpn/server.dh # Параметры Диффи-Хеллмана

dev             tap0 # Виртуальная сетевая карта
persist-tun          # Сохранять устройство при перезагрузке соединения
persist-key          # Не перечитывать файлы ключей при перезагрузке соединения

server          77.30.2.0 255.255.255.0 # Адрес нашего виртуального устройства и маска подсети
port            480 # Указываем порт на котором будет "слушать" сервер
route           77.30.2.0 255.255.255.0
push            "route 77.30.2.0 255.255.255.0"

keepalive       10 120
topology        subnet # Явно указываем, что это подсеть
proto           tcp-server # Включаем режим "прослушки" по tcp-протоколу (по умолчанию udp)

max-clients     5 # Максимальное число клиентов
client-to-client  #Разрешить пересылку пакетов между клиентами
cipher          BF-CBC #включаем шифрацию пакетов

client-config-dir /etc/openvpn/ccd

log /var/log/openvpn/openvpn.log #Лог файл

comp-lzo        yes # Включить сжатие трафика

В папке /etc/openvpn/ccd находятся файлы Client_1 и Client_2
Client_1:
ifconfig-push 77.30.2.1 77.30.2.2Client_2:
ifconfig-push 77.30.2.5 77.30.2.6
Конфиг юзера №1 Client_1.conf
client
# user            nobody
# group           nogroup

ca              /etc/openvpn/my-ca.crt
cert            /etc/openvpn/Client_1.crt
key             /etc/openvpn/Client_1.pem

dev             tap0
persist-tun
persist-key
proto           tcp-client
                tls-client
# ifconfig        77.30.2.4 255.255.255.0
# topology        subnet

cipher BF-CBC

remote  XX.XX.XX.XX 480
comp-lzo        yes

Конфиг юзера №1 Client_2.conf
client
# user            nobody
# group           nogroup

ca              /etc/openvpn/my-ca.crt
cert            /etc/openvpn/Client_2.crt
key             /etc/openvpn/Client_2.pem

dev             tap0
persist-tun
persist-key
proto           tcp-client
                tls-client
# ifconfig        77.30.2.5 255.255.255.0
# topology        subnet

cipher BF-CBC

remote  XX.XX.XX.XX 480
comp-lzo        yes

Подключаем к серверу 1-го клиента:
Цитировать
sudo openvpn --config /etc/openvpn/client.conf
Thu Nov 15 15:55:48 2012 OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Oct  8 2012
Thu Nov 15 15:55:48 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Thu Nov 15 15:55:48 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Nov 15 15:55:48 2012 WARNING: file '/etc/openvpn/Client_1.pem' is group or others accessible
Thu Nov 15 15:55:48 2012 LZO compression initialized
Thu Nov 15 15:55:48 2012 Attempting to establish TCP connection with [AF_INET]XX.XX.XX.XX:480 [nonblock]
Thu Nov 15 15:55:49 2012 TCP connection established with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 15:55:49 2012 TCPv4_CLIENT link local: [undef]
Thu Nov 15 15:55:49 2012 TCPv4_CLIENT link remote: [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 15:55:56 2012 [Anton] Peer Connection Initiated with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 15:55:59 2012 TUN/TAP device tap0 opened
Thu Nov 15 15:55:59 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Thu Nov 15 15:55:59 2012 /sbin/ifconfig tap0 77.30.2.2 netmask 255.255.255.0 mtu 1500 broadcast 77.30.2.255
Thu Nov 15 15:55:59 2012 Initialization Sequence Completed

В другом терминале конектим 2-го юзера:
Цитировать
openvpn --config /etc/openvpn/client.conf
Thu Nov 15 16:00:39 2012 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Mar 30 2012
Thu Nov 15 16:00:39 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Thu Nov 15 16:00:39 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Nov 15 16:00:39 2012 WARNING: file '/etc/openvpn/Client_2.pem' is group or others accessible
Thu Nov 15 16:00:39 2012 LZO compression initialized
Thu Nov 15 16:00:39 2012 Attempting to establish TCP connection with [AF_INET]XX.XX.XX.XX:480 [nonblock]
Thu Nov 15 16:00:40 2012 TCP connection established with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:00:40 2012 TCPv4_CLIENT link local: [undef]
Thu Nov 15 16:00:40 2012 TCPv4_CLIENT link remote: [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:00:47 2012 [Anton] Peer Connection Initiated with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:00:50 2012 TUN/TAP device tap0 opened
Thu Nov 15 16:00:50 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Thu Nov 15 16:00:50 2012 /sbin/ifconfig tap0 77.30.2.2 netmask 255.255.255.0 mtu 1500 broadcast 77.30.2.255
Thu Nov 15 16:00:50 2012 Initialization Sequence Completed

В этот момент на терминале 1-го юзера:
Цитировать
Thu Nov 15 16:01:06 2012 Connection reset, restarting

Thu Nov 15 16:01:06 2012 SIGUSR1[soft,connection-reset] received, process restarting
Thu Nov 15 16:01:11 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Thu Nov 15 16:01:11 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Nov 15 16:01:11 2012 Re-using SSL/TLS context
Thu Nov 15 16:01:11 2012 LZO compression initialized
Thu Nov 15 16:01:11 2012 Attempting to establish TCP connection with [AF_INET]XX.XX.XX.XX:480[nonblock]
Thu Nov 15 16:01:12 2012 TCP connection established with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:01:12 2012 TCPv4_CLIENT link local: [undef]
Thu Nov 15 16:01:12 2012 TCPv4_CLIENT link remote: [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:01:19 2012 [Anton] Peer Connection Initiated with [AF_INET]XX.XX.XX.XX:480
Thu Nov 15 16:01:22 2012 Preserving previous TUN/TAP instance: tap0
Thu Nov 15 16:01:22 2012 Initialization Sequence Completed

Как только доходит до Initialization Sequence Completed разумеется все повторяется на экране 2-го юзера

Не пойму куда копать?
PS: Вместо XX.XX.XX.XX реальный белый ip OpenVPN сервера
« Последнее редактирование: 15 Ноября 2012, 14:15:06 от Antoha_82 »
Ubuntu-server 12.04 LTS (samba, DNS, DHCP, UniFi Controller) + Kubuntu 12.10

Оффлайн rayanAyar

  • Старожил
  • *
  • Сообщений: 1027
  • Да пребудет с вами совпавшая контрольная сумма
    • Просмотр профиля
Re: OpenVPN сервер и два клиента
« Ответ #1 : 16 Ноября 2012, 04:25:00 »
Ключи у клиентов точно разные?

Оффлайн Antoha_82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: OpenVPN сервер и два клиента
« Ответ #2 : 16 Ноября 2012, 05:53:46 »
Ну файлы создавались по отдельности с помощью OpenSSL как описано здесь https://forum.ubuntu.ru/index.php?topic=182135.0.  Названия файлов разные, а вот информация которая вводится на этапе создания ключей в принципе одинаковая, ну разве что Organization name разные, у одного Job у другого Home, остальное все одинаковое.
 Я обратил внимание, что оба клиента получают IP адрес 77.30.2.2 , т.е. один и тот же, наверное поэтому пытаются заново приконектится, а сервер не даёт другой IP. Хотя в папке ccd для каждого прописан свой IP. Не понимаю...
« Последнее редактирование: 16 Ноября 2012, 05:55:40 от Antoha_82 »
Ubuntu-server 12.04 LTS (samba, DNS, DHCP, UniFi Controller) + Kubuntu 12.10

Оффлайн rayanAyar

  • Старожил
  • *
  • Сообщений: 1027
  • Да пребудет с вами совпавшая контрольная сумма
    • Просмотр профиля
Re: OpenVPN сервер и два клиента
« Ответ #3 : 17 Ноября 2012, 04:14:08 »
По всей видимости CN у них одинаковый. Т.е. они считаются одним и тем же ключом. А подключения с одним ключом по умолчанию запрещены. Можно конечно duplicate-cn включить... Хотя я бы не рекомендовал это делать.

Оффлайн Antoha_82

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: OpenVPN сервер и два клиента
« Ответ #4 : 17 Ноября 2012, 12:40:09 »
Вы оказались совершенно правы! Пересоздал ключи и сертификаты на сервере и все, оба клиента подключились. Теперь другая проблема, пинги до сервера ходят, а вот от клиента к клиенту нет, хотя client-to-client прописано, дальше копаю... )

Пользователь решил продолжить мысль 17 Ноября 2012, 22:12:50:
Все, разобрался, нужно было на сервере включить форвардинг
Цитировать
echo "1" > /proc/sys/net/ipv4/ip_forward
rayanAyar, большое спасибо!  Тема закрыта
« Последнее редактирование: 17 Ноября 2012, 22:12:50 от Antoha_82 »
Ubuntu-server 12.04 LTS (samba, DNS, DHCP, UniFi Controller) + Kubuntu 12.10

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.