Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Страницы: 12>>
Страница: 1 из 2
ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 07, May, 2013 02:13

Небольшая утилита «ИРБИС-Прокси» перенаправляет запросы к серверу ИРБИС на указанный сетевой адрес. ИРБИС-прокси может выполнять следующие функции:

* Исследовательская
* Подключение нестабильных клиентов
* Статистика обращений и поисковых запросов

В приложенном архиве — проект для Microsoft Visual Studio 2008 и две версии утилиты — отладочная и релизная (в соответствующих подпапках папки bin).

Клиенты, подключенные через нестабильные каналы связи, например, Wi-Fi, могут приводить к «застреванию» сервера и «бегающему Барсику». Прокси защищает сервер от таких клиентов: 1) он передает на сервер только полностью прочитанный и проверенный пакет клиентского запроса (неполный или битый пакет отбрасывается) и 2) отсылка ответа клиенту по медленному каналу также не сказывается на сервере. Таким образом, каждый нестабильный клиент «отваливается» самостоятельно, не влияя на работу «нормальных» клиентов.

Обратите внимание: нестабильные клиенты как «зависали», так и продолжат «зависать». Они лишь не смогут «завесить» сервер целиком и таким образом навредить клиентам, подключающимся через стабильный канал связи.




20.12.2013: ИРБИС-прокси обновлён. Новая версия более корректно обрабатывает «мусорные» пакеты от клиента (например, не содержащие строки с длиной запроса). Соединение с «мусорящим» клиентом принудительно разрывается, и его пакеты никогда не передаются на сервер, что несколько понижает возможность атаки на сервер типа «отказ в обслуживании».




14.02.2014: ИРБИС-прокси снова обновлён. В новой версии улучшена работа с большими пакетами и длительными запросами.

Если у вас прокси «режет» долгие запросы и большие пакеты, попробуйте выставить в Always64.exe.config следующие значения:
<add key="receive-timeout" value="-1" />
<add key="send-timeout" value="-1" />

Для выяснения различных «загадочных случаев» появились новые отладочные режимы. Первый режим заставляет прокси выводить в лог все неожиданные исключения:
<add key="dump-errors" value="True" />
<add key="error-log-file-name" value="C:\Logs\Errors.log" />

Второй режим заставляет регистрировать все изменения состояния сокетов в отдельном лог-файле:
<add key="write-network-log" value="False" />
<add key="network-log-file-name" value="C:\Logs\Network.log" />

Поскольку второй режим сильно замедляет обработку пакетов, крайне не рекомендуется включать его на «боевом» сервере. Однако он очень помогает разобраться с «сетевой мистикой» на примере тестового сервера.

03.02.2016: ИРБИС-прокси снова обновлён. В новой версии исправлена досадная опечатка при чтении настройки "remote-ip".



Редактировано 8 раз. Последний раз 31.10.2016 13:47 пользователем amironov73.

Вложения: always64-2016-02-03.7z (62.1KB)  
Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 07, May, 2013 14:34

Это ставиться на сервер как прокладка между сервером ирбиса64 и клиентами?

То есть нестабильных вешаем например на 5555 порт, а стабильных на 6666?
Или же под утилиту желательно отдельная машина?

Re: ИРБИС-прокси
Пользователь: Куделя (IP-адрес скрыт)
Дата: 07, May, 2013 19:46

Konstantinus написал(а):
-------------------------------------------------------
> Это ставиться на сервер как прокладка между
> сервером ирбиса64 и клиентами?
Да

> То есть нестабильных вешаем например на 5555 порт,
> а стабильных на 6666?
нет. Он перехватывает все что приходит на указанный порт (стандартно 6666) и отправляет на другой указанный порт. Т.е. сервер ИРБИСа должен быть перенастроен слушать не 6666, а любой другой, на который будет слать пакеты ИРБИС-прокси.

> Или же под утилиту желательно отдельная машина?
нет. смсыл?

Иркутская ОГУНБ

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 07, May, 2013 20:23

Куделя написал(а):
-------------------------------------------------------
> Konstantinus написал(а):
> --------------------------------------------------
> > Это ставиться на сервер как прокладка между
> > сервером ирбиса64 и клиентами?
> Да
>
> > То есть нестабильных вешаем например на 5555
> порт,
> > а стабильных на 6666?
> нет. Он перехватывает все что приходит на
> указанный порт (стандартно 6666) и отправляет на
> другой указанный порт. Т.е. сервер ИРБИСа должен
> быть перенастроен слушать не 6666, а любой другой,
> на который будет слать пакеты ИРБИС-прокси.

А если перенастроить?

local-port Прослушиваемый порт 6666
remote-ip Адрес ИРБИС-сервера 127.0.0.1
remote-port Порт ИРБИС-сервера 5555

Меняем local и remote? То есть Нестабильные клиенты априори на 5555.

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 07, May, 2013 20:57

А вообще может сделать подобный функционал штатным?

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 07, May, 2013 22:38

Предусмотрено два сценария применения ИРБИС-прокси:

1. На прокси перенаправляется часть клиентов (например, только те, кто подключен через внешнюю сеть). В этом случае сервер «сидит» на привычном всем порту 6666, а прокси на 5555. «Плохие» клиенты перенастраиваются на порт 5555 (возможно, придется пробежаться до них ногами, чтобы внести исправления в ini-файлы).

2. На прокси перенаправляются все клиенты (в том числе «надежные»). В этом случае сервер «переезжает» на порт 5555, а прокси начинает прослушивать порт 6666. Для клиентов ничего не меняется, в т. ч. не нужно править их ini-файлы.

С точки зрения «боевого» применения второй сценарий предпочтительнее, т. к. сегодняшний «надежный» клиент может стать «ненадежным» (например, забарахлил хаб).

Но конфигурация по умолчанию (зафиксированная в zip-файле) рассчитана именно на первый сценарий — сервер не трогается, перенастраиваются один-два клиента с целью «поиграться», посмотреть, как все заработает с прокси (в том числе поизучать дампы пакетов).

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 08, May, 2013 08:35

У меня заработало только если запускать из консоли.

Если выберусь в Крым, с меня "Чениговское Белое"!



Редактировано 1 раз. Последний раз 08.05.2013 14:36 пользователем Konstantinus.

Re: ИРБИС-прокси
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 17, May, 2013 15:11

Огромное СПАСИБО за ОТЛИЧНОЕ РЕШЕНИЕ!!!

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 17, May, 2013 15:34

Windows Server 2008 прокси работает только пока запущен из консоли.
Это только у меня?

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 18, May, 2013 10:08

Сервис инсталлировали? Пробовали найти и запустить его в Консоли управления сервером?

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 18, May, 2013 10:29

Вижу службу, ее и запускаю. Пойду дальше разбираться.

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 18, May, 2013 11:15

Процесс Always64.exe видно в диспетчере после старта службы?

Если «не работает» заключается в том, что не пишутся логи, стоит убедиться, что пользователю, от имени которого запущена служба, папка доступна на запись.

Always64 молча прекращает писать логи, если видит, что писать нельзя.

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 19, May, 2013 10:30

Не стартует. См. скрин.
http://irbis.gpntb.ru/file.php?24,file=8808



Редактировано 1 раз. Последний раз 19.05.2013 10:30 пользователем Konstantinus.

Вложения: Untitled.jpg (210.9KB)  
Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 20, May, 2013 01:13

Что пишется в логах программы? Что в системных журналах?
Установлен ли .Net Framework 3.5 SP1? Я не уверен в работоспособности с другими версиями фреймворка (в т. ч. с установленным по умолчанию 4.0).
Какая версия Windows Server 2008 (SP, R2 или еще что, Standard/Web и т.д.)?
Если не трудно, выложите содержимое вашего always64.exe.config.

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 20, May, 2013 11:27

Могу дать RDP доступ на вечер, попробуете сами.
Windows Server 2008 R2 Web.
always64.exe.config стандартный.

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 21, May, 2013 01:12

А когда у Вас начинается вечер?
Подозреваю, что в это время у нас глубокая ночь…

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 21, May, 2013 11:25

+2 Гринвичу.

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 21, May, 2013 14:22

В Иркутске UTC+9

Как такой вариант: у Вас глубокая ночь, у нас утро?

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 21, May, 2013 20:11

Любой вам удобный. У нас 7.00 у вас +7 = 14.00. То есть обед? Выслал данные в ЛС.

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 21, May, 2013 22:38

Настроил «боевой» режим. Подробности в ЛС.

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 03, June, 2013 07:56

Еще раз спасибо. Ставим потихоньку вашу программу по городу. В одной из библиотек возник вопрос, что логи формируются не для всех подключенных клиентов. Такое в принципе возможно?

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 03, June, 2013 09:41

Лог доступа (access log) должен формироваться для всех подключений, проходящих через прокси.

Лог поиска (search log) формируется только для запросов "K", приходящих из АРМ "Читатель".

Естественно, клиенты, подключенные к серверу напрямую (т. е. минуя прокси), в логах никак не отражаются.

Хотелось бы услышать, почему библиотекари считают, что лог ведется не для всех клиентов. Нет ли у них клиентов, подключенных напрямую?

Re: ИРБИС-прокси
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 03, June, 2013 11:20

таки нашли "забытого клиента". А так теперь как часики. Вообще непонятно как мы раньше работали!

Re: ИРБИС-прокси
Пользователь: artgonch (IP-адрес скрыт)
Дата: 04, July, 2013 15:06

А меня заинтересовал параметр, который уведомляет администратора о проблемах. Программа действительно может посылать СМС?

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 05, July, 2013 02:32

Сам по себе прокси ничего никуда посылать не умеет. Он умеет по наступлению определенного события (например, отсутствие ответа от сервера ИРБИС64) запустить указанную в конфигурации программу. А уж та вольна делать что угодно: посылать СМС, e-mail или просто выводить в колонки трубный звук.

Например, в ИрГТУ к библиотечному серверу подключен 3G-модем HUAWEI E173, так что посылка СМС представляет собой довольно несложное программистское упражнение.

Re: ИРБИС-прокси
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 08, December, 2013 18:35

amironov73 написал(а):
-------------------------------------------------------
> Небольшая утилита «ИРБИС-Прокси» перенаправляет

Есть информация об успешном использовании утилиты в очень большом объединении библиотек, работающих в интрасети. Альтернативные решения (WEBtoIrbisServer, ИРБИС 128) не удобны, или ресурсоёмки.

Поэтому был бы очень рад видеть автора в Крыму, чтобы вручить заслуженную бутылку ;)



Редактировано 1 раз. Последний раз 08.12.2013 18:39 пользователем Кирилл Соколинский (СЗТУ).

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 25, December, 2013 02:52

ИРБИС-прокси обновлён. Новая версия более корректно обрабатывает «мусорные» пакеты от клиента (например, не содержащие строки с длиной запроса). Соединение с «мусорящим» клиентом принудительно разрывается, и его пакеты никогда не передаются на сервер, что несколько понижает возможность атаки на сервер типа «отказ в обслуживании».

Вложения: always64-2013-12-20.zip (68KB)  
Re: ИРБИС-прокси
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 08, February, 2014 20:54

> Новая версия более корректно обрабатывает «мусорные» пакеты от клиента
> (например, не содержащие строки с длиной запроса)

Возможность отличная, но обратил внимание, что при нарушении длинны запроса Прокси пишет в LOG файле в качестве ответа от сервера -2222(Ошибка протокола), а сам разрывает соединение. Мне кажется, что было бы лучше если бы ошибка -2222 отправлялась так же и клиенту.

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

Re: ИРБИС-прокси
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 09, February, 2014 05:52

Кирилл Соколинский (СЗТУ) написал(а):
-------------------------------------------------------
> Должен отметить, что многие версии клиентов
> отправляют неверное с точки зрения Прокси значение
> длинны запроса.


Можно привести конкретные примеры: какие клиенты и что именно посылают (мало/много)?

Re: ИРБИС-прокси
Пользователь: shorox (IP-адрес скрыт)
Дата: 12, February, 2014 13:03

У себя в библиотеке настройку в свое время сделал, чтобы через 953 поле можно было бы пдф файлы на сервер загружать, когда установил прокси не получилось подцепить файл весом 3 мб (главное доки в пол мб цепляет без проблем).В чем тут может быть проблема?!

Страницы: 12>>
Страница: 1 из 2


Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.