Când Kopano raportează mesajul „Conectare la serverul de stocare eșuată” în timpul livrării e-mailurilor, agentul de livrare (dagent) nu a putut stabili o conexiune la endpoint-ul serverului Kopano care i-a fost atribuit. Mesajul în sine nu identifică dacă cauza este un server oprit, o cale de socket greșită, permisiuni de acces sau o problemă de conexiune la distanță. Începeți prin a verifica endpoint-ul configurat și serverul în sine; evitați modificarea datelor din cutia poștală sau a stocării atașamentelor în timp ce diagnosticați o eroare de conexiune.
Documentația administratorului Kopano descrie dagent ca fiind componenta care livrează e-mailul de la agentul de transport al e-mailului (MTA) către un utilizator Kopano. Referința de configurare Kopano Core 8.0 precizează că server_socketspecifică conexiunea la serverul și documentele Kopano file:///var/run/kopano/server.sockca implicită. Versiunile pachetelor, managerii de servicii și configurația locală pot diferi, așadar verificați valorile pe gazdă înainte de a aplica un exemplu.
Ce ar trebui să verificați mai întâi?
Confirmați dacă eroarea afectează toți destinatarii sau doar o singură cale de livrare. Dacă toate livrările primite eșuează simultan, verificați disponibilitatea serverului și punctul final. Dacă eșuează doar mesajele rutate printr-o singură gazdă sau nod, comparați calea nodului respectiv dagent.cfgși calea de rețea cu un nod funcțional. Păstrați un mesaj sau o intrare în coadă eșuată în timpul testării; reîncercările repetate pot ascunde prima marcaj temporal util din jurnale.
Pe un sistem care folosește systemd, verificați unitățile Kopano și jurnalul serverului în jurul momentului livrării:
systemctl list-units 'kopano*'
systemctl status kopano-server --no-pager
journalctl -u kopano-server -b --no-pager
Dacă pachetul dvs. denumește unitatea diferit, utilizați numele unității afișat prin list-units. Un server inactiv sau care repornește în mod repetat indică o problemă la nivelul serverului. Citiți jurnalul său pentru o eroare anterioară de pornire, bază de date, configurare sau stocare; repornirea agentului nu va repara un server Kopano indisponibil. Manualul administratorului documentează gestionarea serviciilor Kopano, dar numele exacte ale unităților depind de pachet.
Dagent indică socketul corect al serverului?
Citiți fișierul de configurare activ, de obicei /etc/kopano/dagent.cfg, și găsiți server_socketintrarea:
grep -nE '^[[:space:]]*server_socket[[:space:]]*=' /etc/kopano/dagent.cfg
Pentru un socket Unix local, comparați setarea cu socketul creat efectiv de serverul care rulează. O valoare comună în documentația Kopano Core este:
server_socket = file:///var/run/kopano/server.sock
Verificați dacă fișierul există și este un socket:
ls -l /var/run/kopano/server.sock
test -S /var/run/kopano/server.sock && echo "Socket exists"
Dacă căile configurate și cele reale diferă, corectați server_socketvaloarea la punctul final utilizat intenționat de instalarea dvs. Nu copiați orbește valoarea implicită atunci când serverul este configurat să utilizeze un alt director de execuție, o adresă de cluster sau un transport la distanță. Referința Kopano documentează, de asemenea, setările cheii SSL pentru transporturile HTTPS; sintaxa punctului final la distanță și cerințele de certificat ar trebui să corespundă configurației serverului instalat.
Ar putea permisiunile socketului să blocheze conexiunea?
Da. Un socket poate exista și totuși să fie inaccesibil utilizatorului care rulează dagent. Găsiți utilizatorul procesului efectiv din unitatea de serviciu sau procesul relevant, apoi inspectați socket-ul și fiecare director părinte. De exemplu:
namei -l /var/run/kopano/server.sock
stat -c '%A %U:%G %n' /var/run/kopano/server.sock
Comparați permisiunile proprietarului, grupului și traversării directoarelor cu identitatea de execuție a agentului. Referința de configurare a agentului Kopano menționează că utilizatorul și grupul său de tip „run-as” pot fi configurate, cu Kopano ca implicit documentat; pachetele sau suprascrierile pot modifica acest lucru. Dacă systemd este în uz, verificați unitatea și orice suprascrieri înainte de a schimba proprietarul:
systemctl cat kopano-dagent
systemctl show kopano-dagent -p User -p Group
Ajustați permisiunile doar pentru a acorda contului de serviciu dorit accesul de care are nevoie. Nu utilizați chmod 777pe socket sau pe directorul său: acest lucru poate expune un endpoint de serviciu privilegiat utilizatorilor locali fără legătură. Directoarele de execuție pot fi recreate la pornire, așadar remediați configurația serviciului sau a pachetului care le creează, în loc să vă bazați pe o modificare manuală temporară a permisiunilor.
Ce se întâmplă dacă serverul este pe un alt nod?
Într-o configurație multi-server sau cu disponibilitate ridicată, verificați dacă dagent utilizează clusterul sau adresa de server accesibilă pentru nodul său. Ghidul Kopano pentru disponibilitate ridicată arată că punctele finale ale serviciului și rutarea livrării Postfix trebuie coordonate între noduri. Comparați server_socket, listener-ul serverului, adresa DNS sau a clusterului, regulile firewall-ului și orice setări TLS de ambele părți. O conexiune reușită la un socket local pe un nod nu dovedește că un punct final la distanță este accesibil de pe un alt nod.
Testați conectivitatea utilizând același punct final și aceeași cale de rețea configurate pentru dagent. Pentru un transport la distanță, verificați starea ascultătorului și politica firewall pe gazda Kopano, apoi inspectați jurnalele dagent și server pentru refuzuri de conexiune, expirare sau erori TLS. Nu deschideți un ascultător pe larg către internet ca o comandă rapidă de depanare; restricționați accesul la gazdele de e-mail și aplicații de încredere.
Cum poți testa livrarea fără a modifica fluxul de e-mailuri de producție?
După ce serverul este activ și endpoint-ul și permisiunile sunt de acord, efectuați un test controlat folosind o cutie poștală de testare desemnată. Manualul administratorului Kopano documentează invocarea dagent direct cu un utilizator de pe acel nod, apoi introducerea unui subiect și a corpului mesajului. Un model de testare de bază este:
kopano-dagent -v -c /etc/kopano/dagent.cfg testuser
Subject: Kopano connection test
This is a controlled delivery test.
[Press Ctrl-D to finish input]
Înlocuiți testusercu un utilizator Kopano local existent și urmați sintaxa comenzii versiunii instalate. Acest test ocolește o parte din rutarea MTA și comportamentul cozii; o livrare directă reușită verifică o parte utilă a căii, dar nu dovedește că Postfix sau un alt MTA direcționează corect e-mailul. Verificați ieșirea agentului, jurnalele Kopano și cutia poștală de test înainte de a reîncerca mesajele de producție din coadă.
Când ar trebui să repornești un serviciu?
Reporniți doar componenta a cărei configurație s-a modificat și numai după salvarea unei copii cunoscute ca fiind validă a configurației sale. Dacă ați modificat dagent.cfg, reporniți unitatea dagent atunci când instalarea rulează dagent ca serviciu persistent. Unele instalări lansează dagent pentru livrări individuale, deci este posibil să nu existe o unitate dagent cu rulare lungă de repornit. Dacă ați modificat server.cfgsetările de ascultare a serverului sau , urmați în schimb procedura de modificare a site-ului dvs. pentru Kopano Server. Referința dagent documentează doar opțiunile selectate ca fiind reîncărcabile de către HUP; nu presupuneți că fiecare modificare de socket sau de identitate runtime are efect printr-un semnal.
Cum confirmi remedierea?
Confirmați toate următoarele înainte de a închide incidentul:
- Serverul Kopano rămâne activ fără noi erori legate de conexiune în jurnalul său.
- Punctul final configurat în dagent se potrivește cu un socket activ sau cu un listener la distanță destinat.
- Utilizatorul runtime Dagent poate traversa directoarele părinte ale socketului și accesa endpoint-ul.
- Un mesaj de test controlat ajunge la cutia poștală dorită, iar jurnalele sale nu arată nicio eroare de conexiune la serverul de stocare.
- Un mesaj nou de intrare trimis prin ruta MTA normală este acceptat și livrat; coada MTA nu continuă să acumuleze aceeași eroare.
Dacă livrarea directă funcționează, dar e-mailul prin MTA tot eșuează, investigați transportul LMTP, calea socket și rutarea MTA, în loc să modificați stocarea cutiei poștale Kopano. Dacă serverul și endpoint-ul se verifică, dar agentul raportează în continuare o eroare de conexiune, colectați timestamp-uri corespondente, server_socketvaloarea sanitizată, starea serviciului și jurnalele relevante pentru administratorul pachetului sau pentru administratorul Kopano. Ștergeți parolele, cheile private, conținutul mesajelor și adresele personale înainte de a partaja diagnosticele.
Referințe: Manualul administratorului Kopano Core ; Referință de configurare a agentului Kopano ; Ghidul de înaltă disponibilitate Kopano ; Configurații speciale și depanare Kopano .