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
/CONNECTdacă 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+