Vai al contenuto
Home » IL Blog del mondo IRC e Linux » Installare e configurare UnrealIRCD 6

Installare e configurare UnrealIRCD 6

installare e configurare Unrealircd 6

Per installare e configurare UnrealIRCd 6 su Linux, FreeBSD, OpenBSD, OS X e altri sistemi *NIX generalmente si compila e si installa dal sorgente. Oltre a ciò dovrai anche configurare UnrealIRCd. Questa pagina spiega come fare tutto questo. Anche se sei completamente nuovo su UnrealIRCd, tutti questi passaggi per far funzionare IRCd non dovrebbero richiedere più di 30 minuti in totale.

UnrealIRCD è il piu’ usato e popolare IRCD. Ecco una lista dei migliori IRCD

Guida all’installazione e configurazione di UnrealIRCD  6

Come minimo, UnrealIRCd necessita di un compilatore e della libreria OpenSSL. Ancora meglio è se installi alcune altre librerie, ma questo non è necessario poiché UnrealIRCd tornerà alle proprie librerie se le perdi.

Ecco i comandi da dare per installare i requisiti:

  • Ubuntu 20.*/21.*/22.*:sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
  • Ubuntu 18.*:sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
  • Ubuntu 16.*:sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
  • Debian 9/10/11:sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
  • Per le distribuzioni Linux non in elenco che utilizzano apt-get, il requisito minimo è:sudo apt-get install build-essential libssl-dev
  • Per le distribuzioni Linux che usano yum: è necessario un compilatore e il pacchetto openssl-dev/openssl-devel/libssl-dev.
  • Per FreeBSD: il tuo sistema normalmente ha già un compilatore (clang) e la libreria di sviluppo openssl installati, ma devi installare gmake per build: pkg install devel/gmake, e sei a posto.

Non eseguire Unrealircd 6 come root

Assicurati di compilare ed eseguire IRCd come utente normale e non come root . Se sei su un VPS / root shell, crea un utente ‘ircd’ o simile ( sudo adduser ircd ) ed esegui tutti i passaggi seguenti come quell’utente (accedi come utente ‘ircd’).

Prendi la fonte (.tar.gz)

 

Installa UnrealIRCD 6 Dalla  shell

Connettiti al server *NIX tramite SSH. Tutti i seguenti comandi vengono eseguiti sul server *NIX.

wget --no-check-certificate --trust-server-names https://www.unrealircd.org/downloads/unrealircd-6.0.1.tar.gz

Questo comando, con  parametro “–no-check-certificate” fa si che si evitino problemi con il certificato SSL utilizzato dal sito web di UnrealIRCd.

Inutile dire che unrealircd-6.0.1 questo sta a voi decidere quale versione scaricare.

Su FreeBSD potresti dover usare:

fetch https://www.unrealircd.org/downloads/unrealircd-6.0.1.tar.gz

Se nessuno dei due funziona, ad esempio ricevi un “comando sconosciuto”, dovresti installare il pacchetto “wget” sul tuo sistema o provare a caricare (vedi dopo).

Alternativa: caricamento su shell via SFTP 

Puoi anche scegliere di scaricare il file .tar.gz di UnrealIRCd tramite il tuo browser, salvarlo su disco e quindi caricarlo nella shell tramite SCP o SFTP.

Estrai la fonte

Estrai .tar.gz e accedi alla directory unrealrcd-xyz:

tar xzvf unrealircd-6.1.0.tar.gz
rm -rf unrealircd-6.1.0.tar.gz
cd unrealircd-6.1.0/code>

NOTA: c’è una logica qui. Se il file viene chiamato, ad esempio, unrealircd-6.0.1.tar.gz, verrà estratto nella directory unrealircd-6.0.1/.
Come puoi vedere, il nome della directory è diverso per ogni versione per assicurarti di non sovrascrivere accidentalmente l’installazione esistente.

 

Compilazione di Unrealircd 6

Innanzitutto, esegui lo script ./Config che porrà una serie di domande. Puoi semplicemente premere Invio per accettare le risposte predefinite.

./Config

Ora, compila UnrealIRCd eseguendo make , questo potrebbe richiedere un minuto (o due):

make

Infine, esegui make install (importante!):

make install

Se vedi questo messaggio qui sotto, significa che l’installazione è andata a buon fine

* UnrealIRCd is now installed.
* Leave this directory and run "cd /home/user/unrealircd" now
* Directory layout:
 * Base directory: /home/user/unrealircd
  * Configuration files: /home/user/unrealircd/conf
  * Log files: /home/user/unrealircd/logs
  * Modules: /home/user/unrealircd/modules
* To start/stop UnrealIRCd run: /home/user/unrealircd/unrealircd"

Again, be sure to change to the /home/user/unrealircd directory!

Creazione di un File di Configurazione per UnealIRCD 6

  1. Passare alla directory UnrealIRCd installata, questa è /home/yourusername/unrealircd per impostazione predefinita (per ulteriori informazioni sulla struttura della directory vedere File e directory UnrealIRCd).
    cd ~/unrealicd
  2. Copia conf/example/example.conf nella tua directory conf/ e rinominala in unrealircd.conf
    aktarus@ircwebnet.com:~/unrealircd$ cp conf/examples/example.conf conf/unrealircd.conf
    

     

#Config di AkTaRuS - http://www.Ircwebnet.com - UnrealIRCd 6.0.1
includere "snomasks.default.conf";
loadmodule "cloak_md5";
includere "modules.default.conf";
includere "operclass.default.conf";
//loadmodule "third/<modulo>"; <-- potenziali moduli di terze parti da caricare

includere "help/help.it.conf";
includere "badwords.conf";
includere "spamfilter.conf";

Me {
    nome irc.indirizzodeltuoserver.it;
    info "Server IRC TEST";
    sid 001;
};

amministratore {
     "Nome-Admin";
     "mecojioni@email.it";
};

client di classe {
    frequenza ping 90;
    max clienti 250;
    sendq 99000;
    recvq 5500;
};

server di classe {
    frequenza ping 180;
    max clienti 10;
    sendq 1000000;
    connfreq 100;
};


permettere {
    maschera "*@*";
    clienti di classe;
    massimoperip 3;
};


permettere {
    maschera "*@127.0.0.1";
    server di classe;
    maxperip 20;
};

oper NetAdmin {
    clienti di classe;
    maschera *;
    password "tuapassword";
    maxlogins 3;
    operclass netadmin-con-override;
    modalità "q";
    vhost "netadmin.test.it";
    swhois "è un amministratore di rete";
};
oper ServicesAdmin {
    clienti di classe;
    maschera *;
    password "tupassword";
    maxlogins 3;
    amministratore dei servizi di operclass;
    modalità "q";
    vhost "serviziadmin.test.it";
    swhois "è un amministratore";
};

/* SSL */
Ascoltare {
    IP*;
    porta 6697;
    opzioni { tls; };
};

Ascoltare {
    IP*;
    porta 6667;
};

//SERVIZI
Ascoltare {
    ip127.0.0.1;
    porta 6669;
};
link servizi.test.it {
    in arrivo {
        maschera *;
    };
    password "tuapassword";
    server di classe;
};

linee {
    services.test.it;
};

drpass {
    riavvio "riavvio";
    muori MUORI";
};

tronco d'albero {
        fonte {
            !debug;
            Tutto;
        }
        destinazione {
            file "ircd.log" { dimensione massima 100M; }
        }
}

alias NickServ { digitare servizi; };
alias ChanServ { digitare servizi; };
else OperServ { digitare servizi; };
alias HelpServ { digitare servizi; };
alias StatServ { type stats; };

alias "servizi" {
    formato "^#" {
        destinazione "chanserv";
        servizi di tipo;
        parametri "%1-";
    };
    formato "^[^#]" {
        destinazione "nickserv";
        servizi di tipo;
        parametri "%1-";
    };
    digitare il comando;
};

alias "identificare" {
    formato "^#" {
        destinazione "chanserv";
        servizi di tipo;
        parametri "IDENTIFICA %1-";
    };
    formato "^[^#]" {
        destinazione "nickserv";
        servizi di tipo;
        parametri "IDENTIFICA %1-";
    };
    digitare il comando;
};

alias "glinebot" {
    formato ".+" {
        comando "gliline";
        tipo reale;
        parametri "%1 2d I bot non sono consentiti su questa rete";
    };
    digitare il comando;
};

alias "glineproxy" {
    formato ".+" {
        comando "gliline";
        tipo reale;
        parameters "%1 2d I Proxies non sono ammessi su questo network";
    };
    digitare il comando;
};

ban nick {
    maschera "*C*h*a*n*S*e*r*v*";
    causale “Riservato per Servizi”;
};

ban utente {
    maschera *@*tor*;
        reason "I proxy non sono consentiti!";
};

ban nome reale {
    maschera "sub7server";
    motivo "Virus sub7";
};

tranne divieto {
    maschera *@127.0.0.1;
};

nega dcc {
    nome file "*sub7*";
    motivo "Possibile virus Sub7";
};

nega canale {
    canale "*warez*";
    motivo "Warez è illegale";
};

nega canale {
    channel "#canale";
    reason "Questo è un canale di esempio";
};

nega canale {
    canale "#chan";
    reason "Questo è un canale di esempio";
};

impostato {
    network-name         "Prova";
    server predefinito "irc.test.it";
    servizi-server "services.test.it";
    server-statistiche "stats.test.it";
    canale di aiuto "#IRCHelp";
    prefisso host nascosto "TEST";
    allow-userhost-change "force-rejoin";
    prefix-quit "ciao ciao:";
    mode-on-join "+ntG";
    chiavi del mantello {
      "aoAxaax2r1HnR625gsdfl3sJ7hVzddddd4Zb7x4YwpWd";
      "aib62fgt7eufgve2dsf3g25352gwydfsfsfs2u8gZhBd";
      "oij7ghvtf6sdfrd3cF22525gytfuGdfdffduiuh79d6d";
    };

    };

impostato {
    kline-indirizzo "mecojioni@email.it";
    modalità alla connessione "+ixw";
    modalità-on-opera "+ixwgs";
    snomask-on-oper "+bBcdfkqsSoO";
    oper-auto-join         "#Opers,#IRChelp,#vHost";
    opzioni {
        nascondere-linee;
        identd-controllo;
        mostra-connetti-info;
    };
    
    auto-join "#test,#test2";

    maxchannelsperuser 20;

    restrizioni-modalità utente "xs";

    anti-spam-quit-message-time 60s;
    
    /* static-quit "Client quit"; */
    /* parte statica sì; */

    default-bantime "12h";
    filtro antispam {
        tempo di divieto 1d;
        ban-reason "Spam/Pubblicità";
        canale di aiuto virus "#IRCHelp";
        tranne "#IRCHelp";
    };
};
includere "alias/anope.conf";

#Lista nera
lista nera dronebl {
    DNS {
        nome dnsbl.dronebl.org;
        tipo record;
        risposta { 2; 3; 5; 7; 8; 9; 10; 255; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Host nella lista DroneBL. Per maggiori informazioni visita http://dronebl.org";
};

lista nera blitz {
    dns
    {
        nome opm.blitzed.org;
        tipo record;
        risposta { 1; 2; 4; 8; 16; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Mi spiace, un Open Proxy e' stato trovato sul tuo host. Visita http://www.blitzed.org per maggiori informazioni.";
};

lista nera njabl {
    DNS {
        nome dnsbl.njabl.org;
        tipo record;
        risposta { 9; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella nostra Lista Open Proxy... http://www.njabl.org";
};

lista nera virbldnsbl {
    DNS {
        nome virbl.dnsbl.bit.nl;
        tipo record;
        risposta { 2; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella nostra Lista Virus... http://virbl.bit.nl/list.php";
};

blacklist dnsblsectorde {
    DNS {
        nome tor.dnsbl.sectoor.de;
        tipo record;
        risposta { 1; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella lista TOR Server... http://www.sectoor.de/";
};

lista nera nomorefun {
    DNS {
        nome no-more-funn.moensted.dk;
        tipo record;
        risposta { 10 ; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella nostra lista Open Proxy... http://moensted.dk/";
};

la lista nera assorbe {
    DNS {
        nome dnsbl.sorbs.net;
        tipo record;
        risposta { 2; 3; 4; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella nostra lista Open Proxy Sorbs.net.. http://dnsbl.sorbs.net/";
};

winbot lista nera {
    DNS {
        nome spbl.bl.winbots.org;
        tipo record;
        risposta { 1; 2; 3; 4; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' nella nostra Lista WinBots.org ... Invia un'email a cobi@winbots.org per risolvere.";
};

blacklist noderebellion {
    DNS {
        nome dronebl.noderebellion.net;
        tipo record;
        risposta { 3; 4; 5; 10; 14; 17; 19; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo IP e' in lista in DroneBL, visita http://www.noderebellion.net/";
};

lista nera dnslista nera {
    DNS {
        nome dnsblacklist.co.uk;
        tipo record;
        risposta { 3; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo host e' nella lista dnsblacklist.co.uk.";
};

settore della lista nera {
    DNS {
        nome tor.sectoor.de;
        tipo record;
        risposta { 1; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Sei nella lista tor.sectoor.de DNSBL. Visita http://www.sectoor.de/tor.php";
};

lista nera proxybl {
    DNS {
        nome dnsbl.proxybl.org;
        tipo record;
         risposta { 2; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo host e' nella lista proxyBL. Per maggiori informazioni, visita www.proxybl.org/";
};

abuso della lista nera {
    DNS {
        nome dnsbl.abuse.ch;
        tipo record;
        risposta { 2; 3; 4; 5; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo host e' nella lista dnsbl.abuse.ch. Per maggiori informazioni, visita www.dnsbl.abuse.ch/removal.php";
};

lista nera martynip {
    DNS {
        nome dnsbl.martynip.co.uk;
        tipo record;
        risposta { 2; 3; 4; 5; 6; 10; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Il tuo host e' nella lista dnsbl.martynip.co.uk";
};

lista nera efnetrbl {
    DNS {
        nome rbl.efnetrbl.org;
        tipo record;
        risposta { 1; 2; 3; 5; };
    };
    linea d'azione;
    tempo di divieto 7d;
    reason "Host presente nella lista rbl.efnet.org. Visita http://rbl.efnet.org";
};

#Blocco eccezioni
tranne lista nera {
        maschera 25.121.56.*;
        maschera 92.91.101.*;
};

Il file di configurazione è piu’ o meno cosi’, ovviamente dovete cambiare i parametri settabili con i vostri. La cosa è abbastanza intuitiva.

Dopo di chè potete avviare il vostro UNREALIRCD 6 con il seguente comando:

cd ~/unrealicd/
./unrealicd start

Ora che abbiamo visto come partire da zero per installare e configurare UnrealIRCD 6 passiamo a chi ha già una versione precedente e vuole aggiornare.

Aggiornare da UnrealIRCD 5 a UnrealIRCD 6

Aggiornare UnrealIRCd 5.xx a 6.xx è molto semplice. Puoi aggiornare da qualsiasi versione a qualsiasi versione più recente.

NOTA: Se stai aggiornando da UnrealIRCd 5 a UnrealIRCd 6 è quasi lo stesso e molto semplice.

Linux/BSD/OS X

Automatico

Se sei d’accordo con la sostituzione dell’attuale installazione di U5 con U6, puoi utilizzare il seguente comando su *NIX:

./unrealrcd upgrade --unreal6

Il comando dall’alto creerà un backup dell’installazione corrente in ~/unrealircd.bak.*, quindi scaricherà, estrarrà, compilerà e installerà, rendendo questo passaggio molto semplice.

Manuale

Se NON sei d’accordo con la sostituzione della tua attuale installazione U5, ad esempio se vuoi averli in directory diverse, allora:

  • Installa manualmente UnrealIRCd 6 scaricando il file .tar.gz e seguendo tutte le solite procedure da Installare e configurare UnrealIRCD 6 .
  • Copia manualmente il tuo UnrealIRCD5 conf/unrealircd.conf nella tua directory conf UnrealIRCD6. Inoltre, non dimenticare i tuoi ircd.motd, tls/server.cert.pem, tls/server.key.pem, ecc.

IMPORTANTE : NON copiare alla cieca TUTTI i file *.conf. In particolare, non copiare moduli.default.conf da U5 a U6.

Ci sono poche modifiche tra la versione 5 e 6, hai un file di configurazione di snomask incluso, quindi aggiungere al file di configurazione le seguenti righe in cima:

includere "snomasks.default.conf";
loadmodule "cloak_md5";

sostituire il blocco del log {} con quanto segue:

log {
        source {
            !debug;
            all;
        }
        destination {
            file "ircd.log" { maxsize 100M; }
        }
}

IMPORTANTE: In UnrealIRCd 6 le lettere snomask sono diverse rispetto a UnrealIRCd 5!!

In UnrealIRCd 6 le snomask disponibili sono:

SNOWMask Descrizione
B Ban del server (KLINE, GLINE, SHUN, ecc.)
B Messaggi dal modulo lista nera DNS
C Il client locale si connette
C Il client remoto si connette (su altri server, eccetto services/u-lines)
D DCC rifiutati a causa di blocchi Deny dcc
D Debug/spazzatura (sconsigliato da impostare, può essere rumoroso su cose completamente innocue)
F avvisi di alluvione (consigliato)
J unisce, parti e calci
K avvisi di uccisione (/KILL utilizzo)
N Cambiamenti di nick locali
N Avvisi di modifica del nickname da remoto
Q Deny nick (QLINE) avvisi di rifiuto
S Avvisi del server: tutti gli altri avvisi che non rientrano negli altri snomask (include messaggi molto importanti, altamente consigliati da impostare)
S Colpi di filtro antispam
O IRCOp override nei canali (OperOverride)
O IRCOp che modifica le proprietà dell’utente (/CHGNAME, /CHGIDENT, /CHGHOST, ..) o costringe un utente a fare cose (/SAJOIN, /SAPART)
In Utilizzo VHOST

In UnrealIRCd 6 puoi anche creare le tue (nuove) snomask tramite il blocco di log.

Puoi controllare quali snomask IRCOps ricevono di default tramite set::snomask-on-oper, o in specifici blocchi oper tramite oper::snomask.
o

Testa la tua configurazione e riavvia il server IRC

Una volta apportate le modifiche alla configurazione di soprattutto dovrebbe essere buono, quindi ora è il momento di testare ed eseguire il nuovo UnrealIRCd 6:

Vai alla tua directory ~/unrealircd/ (o ovunque tu abbia installato UnrealIRCd) ed esegui:

./unrealrcd test di configurazione

Questo ti dirà se ci sono errori (rimanenti). Se tutto sembra a posto, puoi avviare UnrealIRCd 6:

./unrealrcd riavvio

Moduli di terze parti

Come detto, se utilizzi moduli di terze parti, potresti dover chiedere all’autore di aggiornarli per UnrealIRCd 6.

Se (tutti) i tuoi moduli di terze parti sono già stati aggiornati per l’uso in UnrealIRCd 6 dall’autore(i) e si trovano nel repository dei moduli unrealrcd, allora l’aggiornamento dovrebbe essere apparente e non richiedere di fare nulla di speciale. Quando installi (o aggiorni) UnrealIRCd, questi vengono aggiornati automaticamente.

Riavvia l’IRCd per rendere effettive le modifiche:

cd /home/xxx/unrealicd
./unrealrcd riavvio

Spero che la guita IRC su come installare e configurare UnrealIRCD 6 ed aggiornare da Unrealircd 5 a 6 sia stata utile. Leggi anche la guida: come installare un EGGDROP IRC BOT

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *