ircu2/CRULE_QUICK_START.md

7.4 KiB

Ghid Rapid: Configurare CRULE pentru Rețea EU + US

🎯 Scenariul Tău

Ai:

  • Servere în Europa (EU)
  • Servere în SUA (US)

Vrei:

  • Optimizare topologie rețea
  • Prevenire link-uri redundante
  • Reducere costuri trafic

🚀 QUICK START

Pasul 1: Upgrade la v1.4.0

cd ~/ircu2
git pull origin main
git fetch --tags
git checkout v1.4.0

Pasul 2: Rulează instalarea

./install.sh

Pasul 3: La configurare

Când ajungi la această secțiune:

═══════════════════════════════════════
CONFIGURARE CRULE (Reguli Conexiune)
═══════════════════════════════════════

CRULE permite optimizarea topologiei rețelei IRC.
Previne link-uri redundante între servere.

Exemplu: Dacă ai servere în EU și US, CRULE poate
limita la 1 singur link EU-US în loc de multiple.

Configurare CRULE pentru optimizare rețea? (y/n) [n]:

Răspunde: y

Pasul 4: Alege opțiunea

Selectați tipul de optimizare:
1) Previne link-uri redundante către o regiune (recomandat)
2) Necesită operator online pentru link-uri
3) Ambele (1+2)
4) Custom (configurare manuală ulterior)

Opțiune [1]:

Pentru rețea EU + US, alege: 1

Pasul 5: Configurează pattern-ul

Regiune/pattern de blocat (ex: *.eu.*, *.us.*, *.asia.*) [*.eu.*]:

📋 CONFIGURĂRI RECOMANDATE

Opțiunea A: Pe servere US - Blochează EU redundante

Opțiune: 1
Pattern: *.eu.*

Rezultat în ircd.conf:

# Previne link-uri redundante către *.eu.*
CRule {
    server = "*.eu.*";
    all = no;
    rule = "connected(*.eu.*)";
};

Efect:

  • Prima conexiune US→EU: PERMISĂ
  • A doua conexiune US→EU: BLOCATĂ (autoconnect)
  • Operatorii pot forța cu /CONNECT dacă e nevoie

Opțiunea B: Pe servere EU - Blochează US redundante

Opțiune: 1
Pattern: *.us.*

Rezultat în ircd.conf:

# Previne link-uri redundante către *.us.*
CRule {
    server = "*.us.*";
    all = no;
    rule = "connected(*.us.*)";
};

Efect:

  • Prima conexiune EU→US: PERMISĂ
  • A doua conexiune EU→US: BLOCATĂ (autoconnect)

Opțiunea C: Configurare avansată (pentru experți)

Dacă vrei control mai precis, alege opțiunea 3 (Ambele):

Opțiune: 3
Regiune de blocat: *.eu.underchat.org
Pattern servere care necesită oper: *.test.underchat.org

Rezultat:

# Previne link-uri redundante către *.eu.underchat.org
CRule {
    server = "*.eu.underchat.org";
    all = no;
    rule = "connected(*.eu.underchat.org)";
};

# Necesită operator online pentru *.test.underchat.org
CRule {
    server = "*.test.underchat.org";
    all = no;
    rule = "!directop()";
};

🎯 EXEMPLE PRACTICE

Exemplu 1: Rețea simplă (2 EU + 2 US)

Topologie:

  • US: boston.us.underchat.org, newyork.us.underchat.org
  • EU: madrid.es.underchat.org, paris.fr.underchat.org

Configurare:

Pe TOATE serverele US:

CRule {
    server = "*.eu.underchat.org";
    all = no;
    rule = "connected(*.eu.underchat.org)";
};

Pe TOATE serverele EU:

CRule {
    server = "*.us.underchat.org";
    all = no;
    rule = "connected(*.us.underchat.org)";
};

Rezultat:

  • Link-uri permise: 1 US-EU (ex: boston-madrid)
  • Link-uri blocate: toate celelalte US-EU autoconnect
  • Economie: De la 4 link-uri la 1 link!

Exemplu 2: Rețea complexă (3 regiuni)

Topologie:

  • US: 2 servere
  • EU: 2 servere
  • Asia: 1 server

Configurare pe fiecare server:

# Previne redundanță către US
CRule {
    server = "*.us.underchat.org";
    all = no;
    rule = "connected(*.us.underchat.org)";
};

# Previne redundanță către EU
CRule {
    server = "*.eu.underchat.org";
    all = no;
    rule = "connected(*.eu.underchat.org)";
};

# Previne redundanță către Asia
CRule {
    server = "*.asia.underchat.org";
    all = no;
    rule = "connected(*.asia.underchat.org)";
};

Rezultat:

  • Maxim 1 link între orice 2 regiuni
  • Topologie optimizată: US-EU, EU-Asia, US-Asia
  • Economie: De la 10+ link-uri la 3 link-uri!

🔧 VERIFICARE DUPĂ CONFIGURARE

1. Verifică config-ul:

grep -A 5 "CRule {" /home/ircd/ircd/lib/ircd.conf

Output așteptat:

# Previne link-uri redundante către *.eu.*
CRule {
    server = "*.eu.*";
    all = no;
    rule = "connected(*.eu.*)";
};

2. Pornește serverul:

/home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf

3. Verifică din IRC:

# Ca operator, conectează-te:
/OPER username password

# Vezi regulile CRULE:
/STATS d

# Output:
:server 242 nick d *.eu.*::connected(*.eu.*)

4. Testează funcționarea:

# Prima conexiune către EU:
/CONNECT madrid.es.underchat.org 4400

# Încearcă a doua conexiune către alt server EU:
/CONNECT paris.fr.underchat.org 4400

# Ar trebui să vezi:
:server NOTICE nick :Connection to paris.fr.underchat.org denied by connection rule

💡 TIPS & TRICKS

Tip 1: Override manual când e nevoie

Dacă ai setat all = no (implicit), operatorii pot forța:

# Forțează conexiunea (override CRULE):
/QUOTE CONNECT madrid.es.underchat.org 4400

Tip 2: Pattern-uri flexibile

# Blochează toate serverele .eu.underchat.org:
server = "*.eu.underchat.org";

# Blochează doar Spania:
server = "*.es.eu.underchat.org";

# Blochează toate EXCEPT unul:
server = "*.eu.underchat.org";
rule = "connected(*.eu.underchat.org) && !connected(madrid.*)";

Tip 3: Combinație cu preferințe

# Preferă Manhattan pentru EU, altfel blochează:
CRule {
    server = "*.eu.*";
    all = no;
    rule = "connected(*.eu.*) && !via(manhattan.*, *.eu.*)";
};

🚨 TROUBLESHOOTING

Problemă: CRULE nu apare în config

Cauză: Ai răspuns n la întrebarea despre CRULE sau ai folosit versiune veche.

Soluție:

git checkout v1.4.0
./install.sh
# Răspunde 'y' la CRULE

Problemă: Toate conexiunile sunt blocate

Cauză: Regula e prea strictă sau all = yes.

Soluție:

nano /home/ircd/ircd/lib/ircd.conf
# Editează CRule: schimbă 'all = yes' în 'all = no'
# SAU comentează regula cu #

Problemă: Vreau să editez manual CRULE

Soluție:

nano /home/ircd/ircd/lib/ircd.conf

# Caută secțiunea CRULE și modifică:
CRule {
    server = "*.eu.*";
    all = no;
    rule = "connected(*.eu.*)";
};

# Restart IRCd:
killall ircd
/home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf

📚 DOCUMENTAȚIE COMPLETĂ

Pentru detalii avansate, vezi:

  • CRULE_EXPLAINED.md - Explicație completă CRULE
  • doc/readme.crules - Documentație originală
  • ircd/test/*.conf - Exemple de configurări

🎯 CONCLUZIE

Cu CRULE configurat corect, rețeaua ta EU + US va avea:

Topologie optimizată - Nu mai ai link-uri redundante
Costuri reduse - Mai puțin trafic internațional
Control granular - Poți override când e nevoie
Routing eficient - Mesajele circulă optim

Timpul de configurare: ~2 minute
Economie: De la 4+ link-uri la 1-2 link-uri optimizate!


Versiune: 1.0
Data: 14 Februarie 2026
Pentru: UnderChat IRCd v1.4.0+