Допустим мы установили ircd-hybrid как я описывал в этой статье — Установка IRC сервера — ircd-hybrid
Теперь приступим к настройке.
Отредактируем текст приветственного сообщения:
sudo nano /etc/ircd-hybrid/ircd.motd
Сделаем копию конфигурационного файла на всякий случай:
sudo cp /etc/ircd-hybrid/ircd.conf /etc/ircd-hybrid/ircd_original.conf
Откроем в текстовом редакторе основной файл конфигурации, настроим параметры и закомментируем ненужные:
sudo nano /etc/ircd-hybrid/ircd.conf
В конфигурационном файле сначала идут стандартные параметры serverinfo, по желанию изменим их:
serverinfo { name = "hybrid8.debian.local"; description = "test"; network_name = "debian"; network_desc = "This is My Network"; hub = no; default_max_clients = 512; max_nick_length = 15; max_topic_length = 300; };
Далее контакты администратора сервера, по желанию изменим их:
admin { name = "SYSADMIN"; description = "Main Server Administrator"; email = "<admin@example.com>"; };
Сетевые параметры (на каких портах будет работать ircd-hybrid, например можно изменить на один 6667):
listen { port = 6665 .. 6669; };
Первый блок auth который разрешает подключаться всем с локального адреса 127.0.0.1:
auth { user = "*@127.0.0.1"; spoof = "i.love.debian.org"; class = "opers"; flags = need_password, spoof_notice, exceed_limit, kline_exempt, xline_exempt, resv_exempt, no_tilde, can_flood; };
Еще один блок auth разрешающий подключаться всем (его закомментируем или изменим под свои нужды):
auth { user = "*@*"; class = "users"; flags = need_ident; };
Например, создадим пароль пользователю, скопируем результат команды в зашифрованном виде:
mkpasswd PASSWORD
Добавим возможность авторизации любым пользователям только с паролем и с указанной сети:
auth { user = "*@192.168.3.0/24"; class = "users"; flags = need_password; encrypted = yes; password = "PASSWORD_FROM_mkpasswd"; };
В блоке auth пароль будет хранится в шифрованном виде, в IRC клиенте указывается как есть.
Чтобы указать в блоке auth пароль в нешифрованном виде, нужно убрать encrypted.
В секции general отключим need_ident:
general { ... disable_auth = yes; ... };
Перезапустим ircd-hybrid чтобы применить изменения:
sudo /etc/init.d/ircd-hybrid restart sudo service ircd-hybrid restart
Также можем добавить оператора:
auth { name = "admin"; user = "admin@192.168.3.254/32"; class = "opers"; flags = need_password, spoof_notice, exceed_limit, kline_exempt; encrypted = yes; password = "PASSWORD_FROM_mkpasswd"; };
Блокировать IP адреса в случае необходимости можно следующим образом:
deny { ip = "192.168.4.4/32"; reason = "Spam"; };
После изменений в конфигурационном файле нужно перезапустить ircd-hybrid.
В качестве клиента можно использовать например бесплатный AdiIRC.