Для линковки verlihub’ов будем использовать плагин Thublink, который можно взять на домашней странице проекта. В данной статье будет рассматривается установка плагина на FreeBSD, подразумевается что у вас уже установлен Verlihub и работает.

Проект плагина к сожалению прекратил свое развитие, скачиваем последнюю версию.
Распаковываем с архива исходники

1
# tar xf thublink-0.1.16.tar.bz2

Поскольку состояние keepalive в FreeBSD используются по умолчанию для всех соединений, коментируем 39 и 50 строки в файле thublink-0.1.16/src/cthlcoon.cpp
Устанавливаем

1
2
3
#./configure
#make
#make install

подключаем плагин

1
2
#cd  /usr/local/etc/verlihub/plugins
#ln -s /usr/local/lib/verlihub/libthublink_pi.so

перегружаем хаб, в БД появилась новая таблица pi_thublink со следующими полями

  • hub_name – имя хаба(hub_name) с которым линкуемся
  • hub_addr – ip-адрес хаба с которым линкуемся
  • hub_port – порт для линковки
  • hub_password – пароль для линковки
  • send_flag,recv_flag – должно быть по 255 каждый. Это маска, по которой проверяется, что друг другу hub’ы отсылают (штука ещё с hublink’а идёт).
  • hub_role – 0 – сервер ,1 – клиент

а также в таблице SetupList появились следующие записи

1
2
3
4
pi_thublink | hublink_password | secretpass
pi_thublink | listen_addr      | localhost
pi_thublink | listen_port      | 4545
pi_thublink | onload           | 1

Для наглядности приведу пример линковки двух хабов.

В локалке (192.16.0.0/24) поднял два verlihub’а 0.9.8d-RC2.
Хаб1(hub1) – 192.168.0.52
Хаб2(hub2) – 192.168.0.53
на каждом установил плагин thublink

БД Mysql – Хаб1
table pi_thublink

1
2
3
4
5
6
7
hub_name | hub2
hub_addr | 192.168.0.53
hub_port | 4545
hub_password| 12345678
send_flags | 255
recv_flags | 255
role | 1

БД Хаб2
table pi_thublink

1
2
3
4
5
6
7
hub_name | hub1
hub_addr | 192.168.0.52
hub_port | 4545
hub_password| 12345678
send_flags | 255
recv_flags | 255
role | 0

на обеих хостах в таблице SetupList присутствуют следующие записи

1
2
3
4
pi_thublink | hublink_password | 12345678
pi_thublink | listen_addr      | 0.0.0.0
pi_thublink | listen_port      | 4545
pi_thublink | onload           | 1

Перезапускаем хабы, и пользователи обеих хабов видят друг друга!

Замечания:

  • Если хаб-сервер не запущен,или недоступен в сети – то хаб-клиент просто не запустится
  • Обратите внимание на hub_name в pi_thublink, указывайте именно название хаба, я например, думал, что достаточно ip-адреса и пароля, а это поле как description, но я ошибался.
  • Перед установкой с исходников verlihub’а, обязательно примените патч который идет в архиве thublink’а (в портах FreeBSD патч присутствует)

Вроде ничего не пропустил. На последок хочу выразить благодарность автору Pavel Boldin aka davinchi плагина, за сам плагин и за исчерпывающую информации по настройке самой линковки. Жаль, конечно, что поддержка и развитие проекта прекратилось, хотя кто знает, возможно когда то будет продолжение :)

Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!