В поисках чата или роутинг мультикаст пакетов под Linux
03.12.2004 | khomya

Задача: Нужен чат, главное требование – чтобы после инсталляции (и в ее процессе) не надо было указывать никаких настроек кроме пути куда устанавливается. Именно по этой причине пришлось отказаться от IRC, т.к. для его настройки еще и голову нужно приложить (а у большинства пользователей она не всегда на мести, не говоря уже о руках). Ну, в общем, чтобы этот чат мог поставить каждый. Итак, выбор пал на Prochat 2.5 (для более поздних версий я кряка не нашел).

Качаем: Файлы » Софт » Общение в сети (Чаты) » ProChat 2.8

Если подсеть одна то тут все просто: поставил чат и бед не знаешь. Только вот проблема – у меня не одна подсеть!!! :(.
Начинаю рыть Интернет в поисках решения.
Широковещательные запросы отпадают, остается только мультикаст. На роутере у меня стоит Red Hat Linux… Вот для него то мне и предстоит настроить роутинг мультикаст пакетов. За это отвечает mrouted (функция у него весьма примитивная – просто перебрасывать из одной подсети в другую мультикаст пакеты), привычных многим rpm пакета, по-моему, просто не существует. И в стандартной поставке Линукса этого пакета естественно тоже нет. Как оказалось, найти пакет mrouted – не так уж просто! Скачав с десяток пакетов разных версий я обнаружил, что они все неполноценные!!! И скомпилировать их мне не удалось из-за отсутствия одного файла. Это были версии пакета до 3.8.1, потом все же я нашел версию 3.8.1.

Для нормальной работы роутинга мультикаст пакетов ядро необходимо скомпилировать с опциями:

IP multicasting
IP forwarding/gatewaying
IP multicast routing
IP tunneling

И вроде все.

Приступаем к установке пакета mrouted.

Распаковываем архив:
tar xvfz dvbrouter.tar.gz
Заходим в каталог куда был распакован архив:
cd dvbrouter/mrouted/

Выполняем установку:
./Install
Далее нужно ввести то, что он требует в процессе инсталляции. Ничего сверхъестественного у вас не спросит :).
Теперь нужно подредактировать файл конфигурации, который находится в /etc/mrouted.conf.

Там ничего писать не надо, а нужно только закомментировать одну строчку (т.е. поставить перед ней значок: # ).

Вот она эта строчка:
tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500

И после этого запустить демон:
./mrouted

Проверьте что демон действительно запустился. Сделать это можно просмотрев список процессов командой:
ps –ef | grep mrouted

Если же демона там не оказалось то запустите демон с опцией –d (т.е. debug –отладка):
./mrouted –d
…и посмотрите какая ошибка происходит при запуске.

Теперь нужно проверить, как работает эта система. Сделать это можно при помощи утилиты, которая входит в пакет, называется она: mtrace

Проверка проводится следующим образом:
./mtrace ip1 ip2
где ip1 и ip2 – это два ip адреса из разных подсетей, между которыми вы проверяете связь. Если все нормально, то результат работы этой команды должен быть примерно такой:

./mtrace 192.168.0.1 192.168.1.5 Mtrace from 192.168.0.1 to 192.168.1.5 via group 224.2.0.1 Querying full reverse path…
0 ? (192.168.1.5)
-1 ? (192.168.1.200) DVMRP thresh^ 1
-2 ? (192.168.0.1)
Round trip time 1 ms

Waiting to accumulate statistics… Results after 10 seconds:

Source Response Dest Packet Statistics For Only For Traffic
192.168.0.1 192.168.1.200 All Multicast Traffic From 192.168.0.1
v __/ rtt 1 ms Lost/Sent = Pct Rate To 224.2.0.1
192.168.0.200
192.168.1.200 ?
v __ ttl 1
192.168.1.5 192.168.1.200
Receiver Query Source

Вроде все предельно ясно и все должно работать.
Удачи!

Если что не понятно или я что-то упустил, по вашему мнению, то пишете мне на мыло: info@astragal.ru
Авторские права оставляю за собой, так что если кто надумает распространять или изменять, то убедительная просьба поставить меня в известность.

Автор: Лебедев Вадим (Pontiy_Pilat).
Редактирование и исправления: Tavik

Просмотров новости: 873  <, , , >


-->