O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Internet Relay Chat (IRC) este ceva care a existat încă din primele zile ale internetului. În acest ghid, vă voi arăta cum să configurați un server IRC cu InspIRCd cu Atheme pentru servicii IRC suplimentare. InspIRCd este unul dintre puținele servere IRC scrise de la zero și unul dintre doar câteva servere IRC care oferă un număr reglabil de funcții prin utilizarea unui sistem de module avansat.
InspIRCd ar trebui să funcționeze cu orice dimensiune a instanței. Cerințele sale minime de sistem sunt un procesor de 700 MHz și 300 MB de memorie RAM.
Când vă conectați ca utilizator sudo, puteți actualiza sistemul la cel mai recent statut stabil, după cum urmează:
apt-get update && apt-get upgrade
Mai întâi, să întărim puțin VPS-ul. Vom activa ufw
și adăuga câteva reguli. Să începem cu configurarea porturilor:
ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable
Firewall-ul va solicita un dialog pentru a accepta modificările. Doar apăsați Ypentru da.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
În continuare putem instala InspIRCd, pentru Ubuntu 16.04 acest pachet este disponibil prin intermediul depozitului principal.
apt-get install inspircd
După terminarea instalării, putem începe configurarea serviciului. Configurația principală poate fi găsită în /etc/inspircd/inspircd.conf
fișier și are aspectul unui fișier XML.
nano /etc/inspircd/inspircd.conf
Prima căutare pentru server
etichetă. Această etichetă este locul în care introduceți detaliile serverului / rețelei dvs., majoritatea acestor setări sunt vizibile pentru utilizatorii dvs.
name
: Numele gazdă al serverului dvs. Nu trebuie să se rezolve, dar trebuie să fie sintaxa corectă (de exemplu:) sub.example.net
.description
: Descrierea serverului. id
: SID-ul de utilizat pentru acest server. Acest lucru nu ar trebui să fie necomentat decât dacă există un conflict SID. Aceasta trebuie să aibă trei caractere. Primul personaj trebuie să fie o cifră [0-9], celelalte două caractere pot fi litere [AZ] sau cifre.network
: Numele rețelei dat pe conectarea la clienți. Ar trebui să fie la fel pe toate serverele din rețea și să nu conțină spații.În ghidul nostru vom folosi următoarele:
<server name="irc.example.net"
description="My EXAMPLE.NET server"
id="5AA"
network="ExampleNET">
Înlocuiți eticheta originală cu cea de mai sus.
Apoi, căutați admin
eticheta. Aceste setări sunt detaliile administrative ale serverului dumneavoastră. Acestea sunt afișate atunci când tastați /ADMIN
comanda.
name
: Nume realnick
: Porecla (de preferat ceea ce utilizați în rețea)email
: adresa de email. Nu trebuie să fie valabil, dar această adresă va fi cea pe care utilizatorii dvs. ar trebui să vă contacteze în caz de probleme.Să folosim administratorul Xenial
:
<admin name="Xenial Xerius"
nick="xenial"
email="[email protected]">
Acum treceți la bind address
. Această etichetă este folosită pentru deschiderea serviciului. În mod implicit, veți vedea IP-ul localhost ( 127.0.0.1
). Aceasta înseamnă că serviciul nu poate fi contactat de lumea exterioară. Haideți să ne deschidem serviciul, folosind deloc nicio adresă. Acest lucru va determina serviciul să se lege la orice interfață Ethernet pe care o deține mașina:
<bind address="" port="6667" type="clients">
Următoarea etichetă va fi power
eticheta. Această etichetă definește două parole.
diepass
: Parolă pe care operatorii să o folosească dacă doresc să oprească un server.restartpass
: Parolă pe care operatorii să o folosească dacă au nevoie de repornirea unui server.Cel mai bine este să schimbați aceste parole implicite:
<power diepass="die123" restartpass="restart123" pause="2">
Ultimele setări pe care le vom modifica sunt oper
setările. Acestea definesc autentificarea operatorilor.
name
: autentificare operator care este utilizat pentru a opera (Exemplu:) /oper name password
.password
: text înfășurat și simpluhost
: Ce nume de gazdă / IP sunt autorizate să funcționeze. Mai multe opțiuni pot fi separate prin spații, iar CIDR-urile sunt permise. Puteți utiliza *
sau @
pentru această secțiune.type
: Ce tip de oper este acesta. Blocul de mai sus ar trebui să aibă trei clase deja definite: NetAdmin
, GlobalOp
și Helper
. Acesta NetAdmin
este cel pe care îl vom folosi.Schimbați oper
eticheta folosind următorul conținut. Rețineți că, de exemplu, vom folosi " @
" pentru gazdă. Într-un mediu de producție, nu este de dorit să folosiți acest lucru:
<oper name="xenial"
password="mypassword"
host="*@*"
type="NetAdmin">
Înainte de a reporni serviciul, editați fișierele motd
și rules
:
nano /etc/inspircd/inspircd.motd
Înlocuiți-l cu unul propriu, de exemplu:
This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.
În sfârșit, editați fișierele cu reguli.
nano /etc/inspircd/inspircd.rules
Adăugați propriile reguli, de exemplu:
The first rule of Fight Club is: You do not talk about Fight Club. The second rule of Fight Club is: You DO NOT TALK ABOUT FIGHT CLUB!
Acum că totul este configurat, reporniți serviciul IRC:
service inspircd restart
Pentru a verifica dacă totul funcționează, interogați netstat
instrumentul:
netstat -tulpn | grep -i inspircd
Ar trebui să enumere programul inspircd
, ascultând în port 6666
:
tcp6 0 0 :::6667 :::* LISTEN 31313/inspircd
udp 0 0 0.0.0.0:39335 0.0.0.0:* 31313/inspircd
Pentru a testa serverul putem instala un client IRC terminal. Pe Windows puteți utiliza un program, cum ar fi mIRC. În exemplul nostru vom folosi Weechat. Acesta este un client IRC bazat pe text care poate fi utilizat într-o sesiune de terminal.
Instalați aplicația weechat prin intermediul depozitelor:
apt-get install weechat
După instalarea acestei aplicații, rulați acest client IRC:
weechat
Pentru a vedea toate comenzile pe care trebuie să le oferim, puteți solicita comanda de ajutor:
/help
Pentru a ieși din Weechat, puteți introduce următoarea comandă:
/quit
Adăugați serverul nostru local la o conexiune în weechat:
/server add local localhost
Acum ne putem conecta la profilul de conexiune numit „local”:
/connect local
Veți vedea motd-ul nostru și regulile apar în fereastra terminalului.
Pentru a vă promova în fața unui operator, introduceți următoarele:
/oper xenial mypassword
Aceasta ne va arăta o confirmare a succesului:
22:40:34 local -- | User mode [+o] by irc.example.net
22:40:34 local -- | You are now a NetAdmin
Asta e pentru serverul nostru IRC.
Atheme este un set de servicii pentru rețele IRC concepute pentru rețele IRC mari, cu cerințe de scalabilitate ridicate. Acesta adaugă servicii suplimentare, cum ar fi NickServ (Nickname Registration) la rețeaua dvs. IRC.
Atheme pot fi găsite în depozitul Ubuntu:
apt-get install atheme-services
După instalarea binarelor, extrageți fișierul de configurare de exemplu și copiați-l în atheme
folder:
gunzip /usr/share/doc/atheme-services/examples/atheme.conf.example.gz
cp /usr/share/doc/atheme-services/examples/atheme.conf.example /etc/atheme/atheme.conf
Apoi, editați acest fișier de configurare:
nano /etc/atheme/atheme.conf
Mai întâi căutați loadmodule
comanda protocolului. Aceasta trebuie definită după cum urmează:
loadmodule "modules/protocol/charybdis";
Înlocuiți charybdis
cu protocolul de inspircd
:
loadmodule "modules/protocol/inspircd12";
Următoarea căutare a serviciului name
:
name = "services.int";
Modificare services.int
pentru a se potrivi cu numele de domeniu sau adresa IP a serverului dvs. IRC:
name = "services.irc.example.net";
După ce se face acest lucru, se caută numeric:
numeric = "00A";
Acum schimbați-o pe o valoare diferită de cea numerică folosită în eticheta serverului folosită înainte.
numeric = "77C";
Odată făcut acest lucru, să configuram numele rețelei. Caută netname
:
netname = "misconfigured network";
Modificați această valoare în parametrul de rețea din eticheta serverului.
netname = "ExampleNET";
Modificați valoarea hidehostsuffix
:
hidehostsuffix = "users.misconfigured";
Eliminați .misconfigured
:
hidehostsuffix = "users";
Următoarea schimbare a numelui de admin la cel folosit anterior:
adminname = "xenial";
Potriviți cu adminemail
e-mailul asociat folosit înainte:
adminemail = "[email protected]";
Acum că s-a făcut acest lucru, trebuie să creăm un link ascendent pentru serviciile noastre. Găsiți cele două uplink
blocuri de coduri și comentați-le pe toate. Adăugați /*
înainte de uplink{
comandă și */
la sfârșitul barei de închidere.
Va arăta astfel:
/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
host = "::1";
password = "linkage";
port = 6667;
};
*/
Apoi, adăugați propriul nostru link ascendent. Acest link ascendent va rula doar pe IP-ul localhost-ului nostru și pe port 7001
. Specificați o parolă super secretă (o vom folosi ulterior):
uplink "services.irc.example.net" {
host = "127.0.0.1";
// password
// If you want to have same send_password and accept_password, you
// can specify both using 'password' instead of individually.
password = "SuperSecret123456";
port = 7001;
};
În sfârșit, căutați definițiile serviciului nostru. Începeți mai nickserv
întâi cu blocul.
În blocul nickserv, căutați host
eticheta și schimbați-o în ExampleNet/services/NickServ
:
nickserv {
...<<truncated>>...
/* (*)host
* The hostname we want NickServ to have.
*/
host = "ExampleNet/services/NickServ";
/* (*)real
* The realname (gecos) information we want NickServ to have.
*/
real = "Nickname Services";
...<<truncated>>...
Modificați și hostname tag
toate celelalte servicii:
nickserv: ExampleNet/services/NickServ
chanserv: ExampleNet/services/ChanServ
global: ExampleNet/services/Global
infoserv: ExampleNet/services/InfoServ
operserv: ExampleNet/services/OperServ
saslserv: ExampleNet/services/SaslServ
memoserv: ExampleNet/services/MemoServ
gameserv: ExampleNet/services/GameServ
botserv: ExampleNet/services/BotServ
groupserv: ExampleNet/services/GroupServ
hostserv: ExampleNet/services/HostServ
helpserv: ExampleNet/services/HelpServ
alis: ExampleNet/services/ALIS
După ce faceți acest lucru, salvați și ieșiți din fișierul de configurare.
Pentru a testa totul, rulați atheme-services
binarul:
atheme-services
Acest lucru ar trebui să vă spună exact dacă funcționează sau nu. Dacă nu primiți ieșire precum cea prezentată mai jos, mergeți înapoi și verificați dacă există erori în fișierul de configurare:
[19/02/2018 23:06:24] db-open-read: database '/var/lib/atheme/services.db' does not yet exist; a new one will be created.
[19/02/2018 23:06:24] pid 1929
[19/02/2018 23:06:24] running in background mode from /
Acum activați serviciul prin editarea fișierului de servicii:
nano /etc/default/atheme-services
Modificați ENABLED
valoarea:
DAEMON_OPTS=""
ENABLED=1
Acum putem începe serviciul:
service atheme-services restart
Verificați starea acestuia:
service atheme-services status
Aceasta va întoarce rezultate similare:
● atheme-services.service - LSB: Atheme-services daemon init.d script
Loaded: loaded (/etc/init.d/atheme-services; bad; vendor preset: enabled)
Active: active (running) since Wed 2018-02-19 23:45:05 UTC; 8s ago
Docs: man:systemd-sysv-generator(8)
Feb 19 23:45:05 vultr.guest atheme-services[2810]: Starting Atheme IRC Services: atheme-service
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] atheme 6.0.11 is start
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] Module operserv/sgline
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] module_load(): module
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] /etc/atheme/atheme.con
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] db-open-read: database
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] pid 2824
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] running in background
Feb 19 23:45:05 vultr.guest atheme-services[2810]: .
Feb 19 23:45:05 vultr.guest systemd[1]: Started LSB: Atheme-services daemon init.d script.
Înainte de a termina, trebuie să adăugăm serviciile Atheme la InspIRCd:
nano /etc/inspircd/inspircd.conf
La sfârșitul fișierului adăugați aceste linii:
<bind address="127.0.0.1" port="7001" type="servers">
<uline server="services.irc.example.net">
<link name="services.irc.example.net"
ipaddr="127.0.0.1"
port="7001"
allowmask="127.0.0.1"
sendpass="SuperSecret123456"
recvpass="SuperSecret123456">
<chanprotect noservices="no"
qprefix="~"
aprefix="&">
# Modules needed for services to function
<module name="m_chanprotect.so">
<module name="m_halfop.so">
<module name="m_services_account.so">
<module name="m_deaf.so">
<module name="m_spanningtree.so">
<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_svshold.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_chghost.so">
<module name="m_namesx.so">
<module name="m_uhnames.so">
Acum reporniți serviciul InspIRCd:
service inspircd restart
Asigurați-vă că totul funcționează bine:
service inspircd status
Acum începe din nou clientul weechat:
weechat
Conectați-vă la serverul nostru local:
/connect local
Veți vedea unul dintre serviciile noastre Atheme pop up imediat: NickServ. Te va saluta cu informații despre sine.
23:12:48 local -- | NickServ (NickServ@ExampleNet/services/NickServ): Welcome to ExampleNet,
| root! Here on ExampleNet, we provide services to enable the registration of
| nicknames and channels! For details, type /msg NickServ help and /msg
| ChanServ help.
Puteți interoga pe NickServ și aflați comenzile disponibile cu următoarele:
/msg NickServ help
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe