GNU/Linux >> Linux Esercitazione >  >> Cent OS

IRC con XChat, Irssi e UnrealIRCD su CentOS 7

Questa volta parleremo di Internet Relay Chat, o semplicemente di IRC. Nella prima parte di questo articolo esamineremo questo protocollo, come utilizzare Irssi o XChat per connettersi su Freenode e altre reti IRC, entrare nei canali e parlare con le persone. Successivamente, vedrai come avviare il tuo servizio IRC con UnrealIRCd.

Indice

  • Introduzione
  • Connessione su IRC
  • Comandi IRC di base
  • Servire IRC con UnrealIRCd

Introduzione

Potresti ricordare le chat IRC, quando non esistevano Facebook Google+ o LinkedIn e i nostri social network erano canali di chat IRC. Oggi abbiamo molte alternative per parlare con qualcuno su Internet, insieme ai social network abbiamo molti servizi di messaggistica popolari, come Whatsapp, Skype, Hangouts e così via.

Tuttavia, nonostante IRC non sia il principale programma di comunicazione su Internet, è ancora vivo e rappresenta un ottimo strumento. È un protocollo leggero, ampiamente distribuito e standardizzato, originariamente creato nel 1988 dagli utenti di BBS in sostituzione e miglioramento del programma di conversazione e che, per le sue caratteristiche, ha visto la nascita e la morte di molti altri sistemi di messaggistica.

Connessione su IRC

Per connetterti a una rete IRC, avrai bisogno del software client. Ecco alcuni buoni client per Linux.

Irsi

Irssi è un client IRC basato su curses, è piuttosto eccezionale, personalizzabile, consente l'uso di script e ignora la necessità di un server X.

Installa

yum install irssi

Connettiti a una rete con il flag -c,

irssi -c irc.freenode.org

Per passare da una finestra di Irssi a un'altra può essere un po' complicato la prima volta, puoi usare [Ctrl+n] per passare alla finestra successiva e [Ctrl+p] per il precedente. il comando /window.

/window [ next | previous ]

Utilizzare il parametro list per visualizzare un elenco con le finestre aperte

/window list

Puoi quindi passare al numero della finestra elencato con [Alt+#] , dove # è il numero della finestra compreso tra 1 e 9. Un altro modo per farlo è con il parametro goto

Puoi anche trovare buoni consigli su come usare Irssi sul sito web di quadpoint.

/window goto [1-9]

XChat

XChat semplifica il processo per i nuovi arrivati ​​offrendoti opzioni punta e fai clic sui comandi e sulla maggior parte delle azioni.

Puoi installare XChat con yum

yum install xchat

Collegati alle reti IRC, usando la finestra di dialogo che ti viene presentata appena avvii XChat, accessibile anche dal menu XChat->Elenco reti [Ctrl+s]

Quando ti connetti correttamente alla rete, puoi selezionare una delle opzioni per unirti ai canali. Puoi anche utilizzare il menu Server->Elenco canali.

Comandi IRC di base

Ora che hai un client, ecco alcuni comandi che puoi usare su IRC. Quando ti connetti per la prima volta a una rete, ti verrà assegnato un soprannome basato sul tuo accesso al sistema dal client e, ad esempio, per cambiare il tuo soprannome in Tuxman, prova questo.

/nick Tuxman

Con un nuovo, potresti voler entrare in un canale. Per elencare canali relativi alla prova di sviluppo

/list #devel*

Una volta trovato il canale che ti interessa, prova a unirti con /unisciti a #nomecanale.

/join #linux

OK, sei su un canale, puoi iniziare a parlare ora, per sapere chi è sul canale, fallo con nomi

/names

Forse vuoi saperne di più su chi è qualcuno sulla rete, prova whois.

/whois MrRobot

Vuoi una finestra di chat con qualcuno? interroga.

/query MrRobot

Registrati il ​​tuo nick

Non è necessario creare un account per chattare su reti IRC. Tuttavia, se vuoi evitare che il tuo nickname venga utilizzato da qualcun altro, devi registrare il tuo nickname sulla rete. Questo ti darà anche accesso a risorse che richiedono soprannomi registrati, come cloaking e accesso a più canali.

Supponiamo che tu voglia registrare il nickname di Tuxman su Freenode. Chiedi al NickServ di REGISTRARE il tuo nickname

/msg NickServ REGISTER password [email protected]

Dopodiché devi ottenere il codice di verifica che è stato inviato all'e-mail che hai fornito e inviarlo a NickServ

/msg NickServ VERIFY REGISTER nickname verifycode

Hai registrato il tuo nickname, ora puoi identificarti nella rete

/msg NickServ IDENTIFY password

Connettiti e identifica all'avvio di Irssi con i flag -n e -w.

irssi -c irc.freenode.net -n nickname -w password

Dovresti anche cambiare la tua password di tanto in tanto, usa il seguente comando

/msg nickserv set password newpassword

Installazione di UnrealIRCd

Tra le altre implementazioni di Ircd, c'è UnrealIRCd. È completo, modulare e altamente documentato, è anche il server IRC più implementato al giorno d'oggi, corrispondente a oltre il 50% dei server IRC attualmente in esecuzione.

Requisiti aggiuntivi

Ecco alcuni requisiti per ottenere il meglio dal tuo UnrealIRCd, nonostante non sia richiesto, è fortemente raccomandato come vedrai.

Ntp - Devi avere l'ora e la data corrette, ntp è la scelta migliore per mantenere l'ora e la data corrette.

Installa ntp

yum install ntp

Abilita ntpd

chkconfig ntpd on

OpenSSL - Anche questo è facoltativo, verrà utilizzato se desideri il supporto SSL/TLS.

yum install openssl

Zlib - Ciò ti consentirà di comprimere i pacchetti di rete e ridurre il carico sui collegamenti.

yum install zlib

Ottieni UnrealIRCd

Scarica Unrealrcd.

wget --no-check-certificate https://www.unrealircd.org/downloads/Unreal3.2.10.5.tar.gz

Estrai il tarball

tar zxvf Unreal3.2.10.5.tar.gz

Entra nell'albero delle fonti

cd Unreal*

Abilita utente chroot irc e gruppo irc (consigliato)

Questo passaggio è facoltativo ma fortemente raccomandato in quanto ti consentirà di eliminare i diritti di superutente ed eseguire UnreadIRCd con un account utente senza privilegi, all'interno di un ambiente chroot, e quindi renderà l'intera configurazione molto più sicura.

Per fare ciò devi modificare include/config.h file all'interno della directory delle sorgenti.

La funzionalità dell'ambiente Chroot è definita dalla seguente direttiva

/* #define CHROOTDIR    */

Definisci la costante IRC_USER

/* #define IRC_USER  "<user name>" */

Definisci la costante IRC_GROUP

/* #define IRC_GROUP "<group name>" */

Crea gruppo per ircd

groupadd ircd

Crea un utente ircd e aggiungilo al gruppo ircd.

useradd ircd -s /bin/false -g ircd

Imposta la password per l'utente ircd per assicurarti che nessuno possa entrare.

passwd ircd

Configura la build

A questo punto segui le domande sullo schermo e puoi utilizzare le impostazioni predefinite per la maggior parte, tuttavia, ti consiglio di rispondere Sì quando ti viene chiesto di abilitare il supporto ssl.

./config

Costruisci le fonti

make

Installa i file

make install

Se hai abilitato le funzionalità utente, gruppo e chroot di ircd, ora dovresti cambiare la proprietà della directory UnrealIRCd.

chown -R ircd:ircd /home/ircd/UnrealIRCd

Configura

È ora di far funzionare il tuo demone IRC. Per questa modifica il unrealircd.conf , il file di configurazione per UnrealIRCd. Puoi trovare il file ben documentato doc/sample.conf sotto il tuo albero di directory UnrealIRCD, potrebbe aiutarti nel tuo viaggio. Ho creato questo snippet funzionante con una breve descrizione.

io - Questo blocco imposta alcune impostazioni di base del server, nome , informazioni di base e il numero valore che deve essere univoco tra i server sulla stessa rete.

me {

nome "irc.localhost"; info "Il mio server"; numerico 1;

};

amministratore - Qui puoi impostare chi è l'amministratore del server, il suo nome, nickname e email.

admin {

"Giorgio Jedi"; /* Nome */ "geroge";/* Soprannome */ "[email protected]"; /* E-mail */

};

Clienti/server di classe - Questo imposta come i client e gli altri server vengono gestiti rispettivamente dal nostro server. frequenza di ping, numero massimo di connessioni client, frequenza di tentativi di riconnessione, code di ricezione e invio.

class clients {

frequenza ping 90; maxclient 500; inviaq 100000; recvq 8000;

};' server di classe {

frequenza ping 90; maxclient 10; /* Numero massimo di server che possiamo collegare alla volta */ sendq 1000000; frequenza di connessione 100; /* Quanti secondi tra ogni tentativo di connessione */

};

consenti - Definisci chi può connettersi al server e come. Il primo blocco consente connessioni utente da qualsiasi IP o nome host e limita le connessioni a 5 per IP. Il secondo blocco consente solo una connessione autenticata alle persone da ugly.people.com

allow {

IP*; Nome host *; clienti di classe; maxperip 5;

}; consenti {

ip **@*; nome host *@*.ugly.people.com; clienti di classe; password "jayajaya"; max perip 1;

};

ascolta - Quali porte ascoltare per le connessioni. Nel blocco stiamo ascoltando sulla porta 6697 i client utente che si connettono tramite Secure Socket Layer (SSL). Nota anche l'istruzione line simple per le connessioni in chiaro alla porta 6667

listen *:6697 {

opzioni {

ssl; solo clienti;

};

}; #ascolta *:8067; ascolta *:6667; #ascolta *:6660-6669;

aperto - Attributi dell'operatore, in questo esempio utilizziamo un operatore soprannominato george che può connettersi da qualsiasi luogo con la password "fuba"

oper george {clienti di classe; da { userhost **@*; };

password "fuba"; flag {

amministratore di rete; can_gkline; can_kline; can_unkline; can_gzline; can_zline; può_riavviare; può_morire; può_rehash; globale;

};

swhois "Esempio di maschera whois"; maschera da neve cFfkoSsqNG;

};

modulo di carico - Carica moduli, questi sono i minimi consigliati

loadmodule "modules/commands.so";
loadmodule "modules/cloak.so";

registro - Come verranno scritti i file di registro, nell'esempio registriamo gli eventi contrassegnati come errori, kill e così via

log ircd.log {

dimensione massima 5 MB; flag {

errori; uccide; opera; tkl;

};

};

imposta - Puoi impostare molte altre cose qui, nel nostro esempio abbiamo una rete al dominio gaia.net chiamata gaianet, che collega le persone al canale #welcome, impostiamo 3 chiavi di cloak alfanumeriche diverse, impostiamo gli host sulla rete, creiamo un #help channel e altre opzioni dettagliate su nrealircd.org.

set {

kline-indirizzo [email protected]; adesione automatica #benvenuto; op

opzioni {

nascondigli;

};

maxchannelsperuser 10; servizi-server "services.gaia.net"; server predefinito "localhost"; nome di rete "gaianet"; canale di aiuto "#help"; hiddenhost-prefisso "gaia";

chiavi del mantello {

"aoAr1O6fh3Q6w4Hnl3J7hVz4Zb7x4YwpW"; "andaoAr1HnR6gl3sJ7uhVzO6fh3Q6w4oN3"; "a2Ja2JO6fh3Q6w4oNs7O6fh3Q6w4oN3s7";

};

ospita {

locale "locop.gaia.net"; globale "ircop.gaia.net"; coadmin "coadmin.gaia.net"; amministratore "admin.gaia.net"; servicesadmin "csops.gaia.net"; netadmin "netadmin.gaia.net"; host-on-oper-up "no";

};

};

Avvia UnrealIRCd

Con tutte le cose a posto, puoi avviare il tuo demone IRC ora. Aggiungi il seguente comando su rc.local per avviare UnrealIRCd all'avvio del sistema.

/home/ircd/UnrealIRCd/unreal start

Dovrebbe funzionare senza problemi, tuttavia se dovessi riscontrare problemi durante l'avvio, leggi i messaggi di errore sul terminale e anche sul file ircd.log per capire cosa c'è che non va.

Conclusione

Per ora hai finito, il tuo client e server dovrebbero essere in esecuzione ora, puoi parlare con persone in tutto il mondo usando alcune delle reti globali o usando la tua rete. Tuttavia, è una buona idea saperne di più sul protocollo IRC, su come gestire reti, canali e utenti, ecc. I seguenti documenti dovrebbero aiutarti.

Documenti RFC

La seguente RFC definisce gli standard per il protocollo IRC. Dovresti leggere questo prima di poter ottenere il meglio da IRC.

RFC-1459, RFC-2810, RFC-2811, RFC-2812, RFC-2813, RFC-7194

Supporto e documenti per UnrealIRCd

Fare riferimento alla documentazione ufficiale di UnrealIRCd per acquisire maggiori informazioni. Contiene tutti i dettagli che non sono descritti in questo documento. Puoi anche ottenere aiuto da IRC collegandoti su irc.unrealircd.org:6667 sul canale #unreal-support. Grazie per aver letto!


Cent OS
  1. Centos 4.8 e Glibc 2.5?

  2. Installa Ruby on Rails con Apache e Passenger su CentOS 6

  3. Configura un server di posta con Exim e Dovecot su CentOS 7

  4. Installa Magento su CentOS 7, con Nginx, PHP-FPM e MariaDB

  5. Configura un server di posta con PostfixAdmin e MariaDB su CentOS 7

Come installare e configurare OpenLiteSpeed ​​con PHP 7 su CentOS 7

Monitoraggio del server con munin e monit su CentOS 5.2

Monitoraggio del server con Munin e Monit su CentOS 7

Monitoraggio del server con Munin e Monit su CentOS 7.2

PhpMyAdmin Installa e configura con Nginx su CentOS 7

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6