Suppose we installed ircd-hybrid as I described in this article – Installing the IRC server – ircd-hybrid
Now proceed to setup.
Let’s edit the text of the welcome message:
sudo nano /etc/ircd-hybrid/ircd.motd
Make a copy of the configuration file just in case:
sudo cp /etc/ircd-hybrid/ircd.conf /etc/ircd-hybrid/ircd_original.conf
Open the main configuration file in the text editor, configure the parameters and comment out the unnecessary ones:
sudo nano /etc/ircd-hybrid/ircd.conf
In the configuration file, the standard serverinfo parameters are first followed, if desired, we change them:
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; };
Further, contact the server administrator, if desired, change them:
admin { name = "SYSADMIN"; description = "Main Server Administrator"; email = "<admin@example.com>"; };
Network parameters (on which ports the ircd-hybrid will work, for example, you can change to 6667):
listen { port = 6665 .. 6669; };
The first auth block that allows you to connect everything from the local address 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; };
Another auth block allows you to connect to all (comment or change to your own needs):
auth { user = "*@*"; class = "users"; flags = need_ident; };
For example, create a password for the user, copy the result of the command in an encrypted form:
mkpasswd PASSWORD
We add the possibility of authorization to any users only with a password and from the specified network:
auth { user = "*@192.168.3.0/24"; class = "users"; flags = need_password; encrypted = yes; password = "PASSWORD_FROM_mkpasswd"; };
In the auth block the password will be stored in encrypted form, in the IRC client it is specified as it is.
To specify the password in the auth block in the unencrypted form, you need to remove encrypted.
In the general section, disable the need_ident:
general { ... disable_auth = yes; ... };
Restart ircd-hybrid to apply the changes:
sudo /etc/init.d/ircd-hybrid restart sudo service ircd-hybrid restart
We can also add an operator:
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"; };
You can block IP addresses as necessary in the following ways:
deny { ip = "192.168.4.4/32"; reason = "Spam"; };
After the changes in the configuration file, you need to restart the ircd-hybrid.
As a customer you can use for example free AdiIRC.