среда, 22 апреля 2009 г.

После сборки обработать напильником

Продолжаю рассказыввать про свой карманный сервер мгновенных сообщений.

Сегодня я его унёс со стола в кабинете в серверную, чтобы он мне постоянно под ухом не жужжал. Пусть теперь жужжит вместе с остальными, может, ему там лучше будет. Мне-то точно лучше.

Сервер Openfire, к счастью, оказался достаточно прост в установке и настройке, даже несмотря на английский язык. Запустил установочный пакет, он чего-то пошуршал, поморгал буковками на экране, потом сказал, что установился и предложил пойти мне для настройки в веб-интерфейс. То есть настраивать его можно с другой машины в сети через любимый браузер. Что я и сделал. Настройки там достаточно простые, а, главное, понятные. Что непонятно, можно просто не трогать, оно и так работает. Видимо, это для более сложных случаев, не таких, как у меня.

Пользователей можно создавать на сервере, а можно регистрироваться прямо из любого джаббер-клиента. Например Pidgin, которым я пользуюсь. Потом можно этих пользователей объединять в группы и с помощью одной хитрой галочки в настройках сервера эти группы будут сразу подгружаться в ростер новым (и существующим тоже) пользователям. То есть всё красиво и хорошо.

Всё, кроме одной закавыки. У нас пользователи привыкли пересылать друг другу файлы прямо через локальную аську. Причём, как выяснилось, шлют целыми каталогами, сотнями мегабайт. То есть берут компашку с музыкой - и отправляют. Хотя, когда я ставил асько-сервер, я такого даже и не предполагал. Задача была сделать систему обмена сообщениями, а файлы, я думал, можно и по почте послать. По локальной разумеется. Но... В общем, обмен файлами стал едва ли не более важной фичей локальной аськи.

Джаббер тоже умеет передавать файлы. В теории. На практике всё немного сложнее, как я поонял из различных текстов в интернете. Но, вроде как внутри локальной сети проблем возникнуть не должно было, так как у  каждого компьютера свой реальный адрес и можно передавать файлы напрямую между клиентами. Угу... Чтобы всё получилось с первого раза? Соединение-то они устанавливали, да вот только файлы не передавались. Я и разными клиентами пробовал, точнее, двумя - Pidgin и Gajim. В разных сочетаниях: с Пиджина на Пиджин, с Гаджима на Гаджим, с Пиджина на... Ну, вы поняли. Всё бесполезно.

Это вчера. А сегодня решил поменять направление передачи. Не с моего компьютера (Linux) на тестовый (Windows), а наоборот. И файлик передался! То есть передача в одну сторону работала - с Windows на Linux. А наоборот никак :(

Чтобы не развозить тут всё слишком долго, скажу коротко - “виноват” оказался линуксовый фаайервол, iptables. По умолчанию входящие соединения запрещены. Пока не разрешил входящие с нашей локалки - файлы не передавались. Оказывается, когда я пытаюсь отправить файл на другой компьютер, соединение открывается не с моей стороны. Принимающая сторона пытается открыть порт на передающем компьютере. А iptables отрубал соединение. Вот оно как, оказывается...

Теперь зато всё работает, всё передаётся.



Powered by ScribeFire.

Комментариев нет :

Отправить комментарий