InspIRCd IRC serverio nustatymas Ubuntu 16.04 LTS

Interneto perdavimo pokalbis (IRC) yra kažkas, kas egzistuoja nuo pirmųjų interneto dienų. Šiame vadove parodysiu, kaip nustatyti IRC serverį naudojant InspIRCd su Atheme papildomoms IRC paslaugoms. InspIRCd yra vienas iš nedaugelio IRC serverių, parašytų nuo nulio, ir vienas iš nedaugelio IRC serverių, teikiantis daug funkcijų, naudojant pažangią modulių sistemą.

Būtinos sąlygos

InspIRCd turėtų veikti su bet kokio dydžio egzemplioriais. Minimalūs sistemos reikalavimai yra 700 MHz CPU ir 300 MB RAM.

Atnaujinkite sistemą

Prisijungdami kaip sudo vartotojas, galite atnaujinti sistemą į naujausią stabilią būseną taip:

apt-get update && apt-get upgrade 

Užkardos konfigūravimas

Pirmiausia šiek tiek sustiprinkime VPS. Įjungsime ufwir pridėsime keletą taisyklių. Pradėkime nuo prievadų konfigūravimo:

ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable

Užkarda paragins dialogo langą priimti pakeitimus. Tiesiog paspauskite Ytaip.

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Įdiekite ir sukonfigūruokite InspIRCd

Tada galime įdiegti InspIRCd, Ubuntu 16.04 šis paketas pasiekiamas per pagrindinę saugyklą.

apt-get install inspircd 

Kai diegimas bus baigtas, galime pradėti konfigūruoti paslaugą. Pagrindinę konfigūraciją galima rasti /etc/inspircd/inspircd.conffaile ir turi XML failo išdėstymą.

nano /etc/inspircd/inspircd.conf

Pirmiausia ieškokite serveržymos. Šioje žymoje įvedate išsamią savo serverio / tinklo informaciją. Dauguma šių nustatymų matomi jūsų vartotojams.

  • name: jūsų serverio prieglobos pavadinimas. Jo nereikia išspręsti, bet ji turi būti teisinga sintaksė (pvz.: sub.example.net).
  • description: Serverio aprašymas.
  • id: SID, naudojamas šiam serveriui. Tai neturėtų būti komentuojama, nebent yra SID konfliktas. Tai turi būti trijų simbolių ilgio. Pirmasis simbolis turi būti skaitmuo [0-9], likę du simboliai gali būti raidės [AZ] arba skaitmenys.
  • network: Tinklo pavadinimas, suteiktas prisijungiant prie klientų. Turėtų būti vienodi visuose tinklo serveriuose ir neturėtų būti tarpų.

Savo vadove naudosime šiuos dalykus:

<server name="irc.example.net"
        description="My EXAMPLE.NET server"
        id="5AA"            
        network="ExampleNET">

Pakeiskite pradinę žymą aukščiau esančia.

Tada ieškokite adminžymos. Šie nustatymai yra jūsų serverio administracinė informacija. Jie rodomi įvedus /ADMINkomandą.

  • name: Tikras vardas
  • nick: Slapyvardis (geriausia, ką naudojate tinkle).
  • email: elektroninio pašto adresas. Neturi būti galiojantis, tačiau šis adresas bus tas, kuriuo jūsų vartotojai turėtų susisiekti su jumis iškilus nesklandumams.

Naudokime administratorių Xenial:

<admin name="Xenial Xerius"
   nick="xenial"
   email="admin@irc.example.net">

Dabar pereikite prie bind address. Ši žyma naudojama paslaugai atidaryti. Pagal numatytuosius nustatymus matysite vietinio kompiuterio IP ( 127.0.0.1). Tai reiškia, kad su tarnyba negali susisiekti išorinis pasaulis. Atidarykime savo paslaugą visiškai nenaudodami adreso. Dėl to paslauga bus susieta su bet kokia aparatui priklausančia eterneto sąsaja:

<bind address="" port="6667" type="clients">

Kita žyma bus poweržyma. Ši žyma apibrėžia du slaptažodžius.

  • diepass: slaptažodis, kurį operatoriai gali naudoti, jei nori išjungti serverį.
  • restartpass: slaptažodis, kurį operatoriai gali naudoti, jei reikia iš naujo paleisti serverį.

Geriausia pakeisti šiuos numatytuosius slaptažodžius:

<power diepass="die123" restartpass="restart123" pause="2">

Paskutiniai nustatymai, kuriuos keisime, yra opernustatymai. Jie apibrėžia operatoriaus prisijungimus.

  • name: operatoriaus prisijungimas, naudojamas operacijai atlikti (pavyzdys: /oper name password).
  • password: be maišos ir paprastas tekstas
  • host: Kokius pagrindinio kompiuterio pavadinimus / IP leidžiama veikti. Keletas parinkčių gali būti atskirtos tarpais ir leidžiami CIDR. Šiam skyriui galite tiesiog naudoti *arba @.
  • type: Kas tai yra operos tipas. Aukščiau esančiame bloke jau turi būti apibrėžtos trys klasės: NetAdmin, GlobalOpir Helper. Tai NetAdminyra tas, kurį mes naudosime.

Pakeiskite operžymą naudodami toliau pateiktą turinį. Atkreipkite dėmesį, kad mūsų pavyzdyje @prieglobai naudosime " ". Gamybos aplinkoje nepageidautina naudoti:

<oper name="xenial"
   password="mypassword"
   host="*@*"
   type="NetAdmin">

Prieš paleisdami paslaugą iš naujo, redaguokite motdir rulesfailus:

nano /etc/inspircd/inspircd.motd

Pakeiskite jį savo, pavyzdžiui:

This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.

Galiausiai redaguokite taisyklių failus.

nano /etc/inspircd/inspircd.rules

Pridėkite savo taisykles, pavyzdžiui:

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! 

Dabar, kai viskas nustatyta, iš naujo paleiskite IRC paslaugą:

service inspircd restart

Norėdami patikrinti, ar viskas veikia, pateikite netstatįrankio užklausą :

netstat -tulpn | grep -i inspircd

Jame turėtų būti pateikta programa inspircd, klausoma per prievadą 6666:

tcp6       0      0 :::6667                 :::*                    LISTEN      31313/inspircd
udp        0      0 0.0.0.0:39335           0.0.0.0:*                           31313/inspircd

Norėdami išbandyti serverį, galime įdiegti terminalinį IRC klientą. Sistemoje Windows galite naudoti tokią programą kaip mIRC. Mūsų pavyzdyje mes naudosime weechat. Tai tekstinis IRC klientas, kuris gali būti naudojamas terminalo sesijoje.

Įdiekite weechat programą per saugyklas:

apt-get install weechat 

Įdiegę šią programą, paleiskite šį IRC klientą:

weechat

Norėdami peržiūrėti visas weechat siūlomas komandas, galite paprašyti pagalbos komandos:

/help

Norėdami išeiti iš weechat, galite įvesti šią komandą:

/quit    

Pridėkite vietinį serverį prie „weechat“ ryšio:

/server add local localhost

Dabar galime prisijungti prie ryšio profilio, pavadinto „vietinis“:

/connect local

Pamatysite mūsų motd ir taisykles, iššokusias terminalo lange.

Jei norite tapti operatoriumi, įveskite:

/oper xenial mypassword

Tai parodys mums sėkmės patvirtinimą:

22:40:34   local  -- | User mode [+o] by irc.example.net
22:40:34   local  -- | You are now a NetAdmin

Štai tiek mūsų IRC serveriui.

IRC paslaugų diegimas - Atheme

„Atheme“ yra paslaugų rinkinys IRC tinklams, skirtas dideliems IRC tinklams, kuriems taikomi aukšti mastelio keitimo reikalavimai. Ji prideda papildomų paslaugų, tokių kaip NickServ (slapyvardžių registracija) į jūsų IRC tinklą.

„Atheme“ galima rasti „Ubuntu“ saugykloje:

apt-get install atheme-services

Įdiegę dvejetainius failus, ištraukite pavyzdinį konfigūracijos failą ir nukopijuokite jį į athemeaplanką:

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

Tada redaguokite šį konfigūracijos failą:

nano /etc/atheme/atheme.conf

Pirmiausia ieškokite loadmoduleprotokolo komandos. Tai turėtų būti apibrėžta taip:

loadmodule "modules/protocol/charybdis";

Pakeiskite charybdisprotokolu inspircd:

loadmodule "modules/protocol/inspircd12";

Toliau ieškokite paslaugos name:

name = "services.int";

Pakeiskite, services.intkad atitiktų jūsų IRC serverio domeno pavadinimą arba IP adresą:

name = "services.irc.example.net";

Kai tai padarysite, ieškokite skaičiaus:

numeric = "00A";

Dabar pakeiskite ją į kitą reikšmę nei anksčiau naudotoje serverio žymoje naudotas skaičius.

numeric = "77C";

Kai tai bus padaryta, sukonfigūruokite tinklo pavadinimą. Ieškoti netname:

netname = "misconfigured network";

Pakeiskite šią reikšmę į tinklo parametrą serverio žymoje.

netname = "ExampleNET";

Pakeiskite reikšmę hidehostsuffix:

hidehostsuffix = "users.misconfigured";

Pašalinkite .misconfigured:

hidehostsuffix = "users";

Tada pakeiskite administratoriaus vardą į tą, kurį naudojome anksčiau:

adminname = "xenial";

Suderinkite su adminemailanksčiau naudotu susijusiu el. pašto adresu:

adminemail = "admin@irc.example.net";

Dabar, kai tai padaryta, turime sukurti savo paslaugų nuorodą. Raskite du uplinkkodų blokus ir pakomentuokite juos visus. Pridėkite /*prieš uplink{komandą ir */uždarymo skliausto pabaigoje.

Tai atrodys taip:

/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
        host = "::1";
        password = "linkage";
        port = 6667;
};
*/

Tada pridėkite savo uplink. Ši nuoroda veiks tik mūsų „localhost“ IP ir prievade 7001. Nurodykite ypač slaptą slaptažodį (jį naudosime vėliau):

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;
 };

Galiausiai ieškokite mūsų paslaugų apibrėžimų. nickservPirmiausia pradėkite nuo bloko.

„Nickserv“ bloke ieškokite hostžymos ir pakeiskite ją į 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>>...

Taip pat pakeiskite hostname tagvisų kitų paslaugų parametrus:

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

Kai tai padarysite, išsaugokite ir uždarykite konfigūracijos failą.

Norėdami viską išbandyti, paleiskite atheme-servicesdvejetainį failą:

atheme-services

Tai turėtų tiksliai pasakyti, ar tai veikia, ar ne. Jei negaunate išvesties, kaip parodyta žemiau, grįžkite ir patikrinkite, ar konfigūracijos faile nėra klaidų:

[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 /

Dabar įgalinkite paslaugą redaguodami paslaugų failą:

nano /etc/default/atheme-services

Pakeiskite ENABLEDvertę:

DAEMON_OPTS=""
ENABLED=1

Dabar galime pradėti teikti paslaugą:

service atheme-services restart

Patikrinkite jo būseną:

service atheme-services status

Tai pateiks panašius rezultatus:

● 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.

Prieš baigdami, turime pridėti savo Atheme paslaugas prie InspIRCd:

nano /etc/inspircd/inspircd.conf

Failo pabaigoje pridėkite šias eilutes:

<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">    

Dabar iš naujo paleiskite InspIRCd paslaugą:

service inspircd restart

Įsitikinkite, kad viskas veikia gerai:

service inspircd status

Dabar vėl pradėkite mūsų weechat klientą:

weechat

Prisijunkite prie vietinio serverio:

/connect local

Iš karto pamatysite vieną iš mūsų Atheme paslaugų: NickServ. Jis pasveikins jus su informacija apie save.

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.

Galite pateikti užklausą NickServ ir sužinoti galimas jo komandas naudodami šias:

/msg NickServ help

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį