Как настроить частный (только для друзей) IRC-сервер?

13

Я пытаюсь настроить IRC-сервер на моей машине для группы друзей и меня, чтобы использовать. Это ящик с Ubuntu, и я установил службы Dancer-IRCD и Dancer-Services и установил все в соответствии с Документами Ubuntu . Теперь я хочу заблокировать сервер, чтобы пользователям был необходим глобальный пароль для подключения. Кроме того, каждый пользователь может иметь свое собственное имя пользователя / пароль, если у меня есть возможность предварительно одобрить, кто регистрирует ник на сервере.

Рон Гейман
источник

Ответы:

5

Когда-то у меня были IRC-серверы. Если я правильно помню, вы устанавливаете пароль подключения в третьем поле строк I: в ircd.conf.

Клиенты соединяются с чем-то вроде / server yourserver.com:port пароль, и я полагаю, что большинство клиентов будут запрашивать пароль, если вы не предоставите его в строке подключения.

Есть ряд других опций, если вы хотите еще больше ограничить соединения.

I:address mask:password:domain mask::connection class

Класс соединения определяется строкой Y :. Вероятно, в конфигурации по умолчанию есть один, на который вы можете ссылаться. Рассматривая пример, ircd.conf, вероятно, является хорошей идеей, большинство параметров конфигурации объясняется там.

Рой
источник
Пароль соединения обычно передается в открытом виде или хэшируется?
Макс А.
Я думаю, что в исходном ircd была опция времени компиляции, но я полагаю, все зависит от того, какой у вас вариант. Страница man или ircd.conf той, которую вы устанавливаете, вероятно, будет иметь некоторую информацию об этом.
Рой
1
Похоже, танцор ircd использует хеш MD5: makepasswd --crypt-md5 --clearfrom пароль
Рой
1

Рассматривали ли вы запуск бота IRC, такого как Eggdrop, на канале + i в публичной сети? Это имеет следующие преимущества:

  • Можно написать сценарий для бота, раздающего приглашения заранее настроенным людям с заранее настроенными паролями.
  • Существует множество сценариев Eggdrop TCL, включая ведение журнала.
  • Запуск одного экземпляра Eggdrop намного дешевле (с точки зрения вычислительных ресурсов), чем весь IRCd.

Очевидно, есть недостатки:

  • Eggdrop скрипты написаны на TCL. Это можно рассматривать как преимущество, в зависимости от того, насколько хорош ваш TCL-фу и каково ваше мнение о языке в целом.
  • Вы зависите от инфраструктуры общедоступной сети. Хотя это полезно, потому что все хорошее было сделано для вас, такие события, как сетевые сплиты или бунты / изгнания серверов могут повлиять на ваш частный канал. Такое случается не так часто в больших, стабильных и устоявшихся сетях, таких как Undernet или Freenode .

Еще один момент, который следует учитывать, это то, что IRC не является безопасным протоколом. Некоторые серверные программы поддерживают соединения SSL, хотя я никогда не сталкивался с такими серверами на практике. YMMV.

SILC является еще одной альтернативой, хотя для некоторых пользователей PK-криптография может быть слишком большой.

Макс А.
источник
1
В то время как в EFnet есть только один SSL-сервер, в Undernet и Freenode есть несколько. Связь между IRC-серверами также была перенесена на SSL для большинства сетей. С другой стороны, SSL не так безопасен, как мы привыкли думать, как недавно был обнаружен человек в средней атаке.
Рой
1
+1 за предложение общедоступной сети, +1 за предложение silc, -1 за предложение IRC бота должно быть написано в TCL.
WheresAlice
0

Может быть способ ограничить подключения только определенными IP-адресами, но кажется, что вы серьезно усложняете себя, поскольку я никогда не видел сервера, для которого требуется пароль для подключения.

Вам просто нужно получить канал в общедоступной сети и защитить его паролем, или, что еще лучше, использовать какой-либо инструмент чата, например Yahoo Messenger, в котором есть режим конференции, где вы можете пригласить больше людей на одно обсуждение.

gekkz
источник
Ах, интересно. Знаете ли вы, есть ли опция «глобальный пароль сервера», доступная на IRC-серверах, которая не широко используется, или это несуществующая функция? Мы хотим использовать IRC, чтобы мы могли регистрировать все сказанное, даже когда не все присутствуют (это главная причина, по которой мы хотим его настроить). Чаты на лету не работают для этого.
Рон Гейман
Jabber может справиться с этим, пригласив бота на все ваши чаты или используя свой собственный сервер Jabber (Openfire довольно неплохо). IRC-бот в общедоступной сети также неплохо справится с этим, и его не нужно писать на tcl, вы можете использовать любой язык, который вам нравится.
WheresAlice
Существует глобальный пароль сервера, даже если я опоздал на два года :)
tekknolagi
0

Я обнаружил это через несколько лет после этого, но я хотел бы добавить, что способ, которым я делаю это, состоит в том, чтобы настроить IRCd для прослушивания только на локальном хосте и настроить ZNC.

ZNC имеет учетные записи пользователей и использует либо пароль сервера, либо пользователя USER, который содержит оба.

Я использую этот подход для TRC, например: https://irc.teamrelaychat.nl/ (используйте demo2 / demo2)

Pepijn
источник