
Cum schimbi corect hostname-ul pe Ubuntu si Debian
Fiecare VPS nou porneste cu un nume ales de altcineva: vps-48213, debian, ubuntu-2404-template sau un sir aleator generat de sistemul de provizionare. Il vezi in prompt-ul din terminal, apare pe fiecare linie din loguri si e primul lucru pe care serverul tau il spune cand vorbeste cu un alt server de mail. Schimbarea pare o comanda de o linie, si tehnic chiar asta e. Problemele apar dupa. Dai reboot si numele vechi s-a intors, sudo incepe fiecare comanda cu “unable to resolve host”, sau formularul de contact de pe site nu mai livreaza mailuri pentru ca serverul care le primeste nu e de acord cu numele cu care s-a prezentat VPS-ul tau.
In tutorialul acesta schimbam hostname-ul pe Ubuntu 24.04 si Debian 13 asa cum se cuvine. Il setam cu hostnamectl, aducem /etc/hosts in acord cu el, ii spunem lui cloud-init sa nu-l mai reseteze la fiecare boot si ii dam masinii un nume de domeniu complet (FQDN) sustinut de inregistrari DNS reale, ca Postfix, Exim si serverele de mail de la Gmail sau Outlook sa nu mai aiba de ce sa se planga. Fiecare comanda e explicata, deci poti urmari pasii chiar daca e primul tau server.
Ce este, de fapt, un hostname
Hostname-ul e pur si simplu numele pe care un calculator il foloseste pentru el insusi. Kernel-ul Linux il tine in memorie, programele il cer cand au nevoie sa eticheteze ceva (o linie de log, prompt-ul din shell, un header de email), si e complet independent de adresa IP sau de domeniul site-ului tau. Daca il schimbi, serverul nu se muta nicaieri, IP-ul ramane acelasi, iar vizitatorii site-urilor nu observa nimic.
Pe un Debian sau Ubuntu modern, systemd face diferenta intre trei tipuri de hostname:
- Static: cel salvat in
/etc/hostnamesi incarcat la fiecare boot. Pe acesta il urmarim. - Tranzitoriu (transient): cel pe care il foloseste kernel-ul chiar acum. De obicei e identic cu cel static; poate diferi temporar, de exemplu cand DHCP-ul sau o platforma de containere seteaza altceva.
- Pretty: o eticheta optionala, libera, de genul “Server web magazin”, cu spatii si majuscule, folosita doar la afisare.
Apoi exista FQDN-ul (fully qualified domain name), adica numele complet: hostname-ul scurt plus un domeniu pe care il controlezi. web01 e hostname-ul, web01.example.com e FQDN-ul. Kernel-ul nu stocheaza FQDN-ul nicaieri. Cand un program ruleaza hostname -f, Linux ia numele scurt si il cauta, intai in /etc/hosts (un fisier local mic care asociaza nume cu adrese IP si e consultat inaintea DNS-ului), apoi in DNS. Numele complet pe care il gaseste acolo e FQDN-ul. De asta, editarea doar a fisierului /etc/hostname nu ajunge niciodata.
In fine, pe majoritatea imaginilor de VPS de tip cloud exista cloud-init, un utilitar care configureaza masina la primul boot: iti creeaza userul, iti pune cheia SSH, configureaza reteaua si scrie hostname-ul. Pe multe imagini reaplica hostname-ul si regenereaza /etc/hosts la fiecare pornire, si exact de aici vine plangerea clasica “mi se schimba hostname-ul inapoi dupa reboot”.
Cum alegi un hostname bun
Inainte sa tastezi ceva, alege un nume pe care nu vei vrea sa-l schimbi din nou peste trei luni. Regulile sunt scurte (vin din RFC 1123, standardul pentru numele de host din internet):
- Foloseste doar litere mici
a-z, cifre0-9si cratime-. Fara underscore, fara spatii, fara puncte in numele scurt. - Nu incepe si nu termina cu cratima si ramai sub 63 de caractere. Mai scurt e mai prietenos, il vei tasta des.
- Descrie rolul, nu hardware-ul:
web01,mail,db-prodsaubackupimbatranesc mai frumos decatbigboxsauserver-nou. - Pentru FQDN, foloseste un domeniu pe care il detii si al carui DNS il poti edita. Evita
.local, rezervat pentru multicast DNS in retelele locale, si nu inventa domenii pe care nu le controlezi.
In articol folosim web01 ca hostname si web01.example.com ca FQDN. Inlocuieste-le peste tot cu valorile tale, iar 203.0.113.10 (o adresa rezervata pentru documentatie) cu IP-ul public real al VPS-ului.
De ce ai nevoie
- Un VPS cu Debian 13 sau Ubuntu 24.04, proaspat instalat sau deja in folosinta. Totul functioneaza si pe Debian 12 si Ubuntu 22.04.
- Acces SSH cu un user obisnuit care are drepturi
sudo. - Un domeniu la care poti adauga inregistrari DNS (un record A si, daca folosesti IPv6, un record AAAA).
- Daca serverul trimite mail: posibilitatea de a cere un record de reverse DNS (PTR) pentru IP-ul tau. Pe un VPS DreamServer ne ceri noua, pentru ca noi detinem spatiul de adrese.
- Cam 15 minute de lucru, plus putina asteptare pentru DNS.
Procedura pe scurt
Pasii 1-4 si pasul 6 se fac pe server. Pasul 5 se intampla in afara lui, la furnizorul de DNS si la proprietarul adresei IP. Poti incepe cu pasul 5 daca vrei: schimbarile de DNS au nevoie de timp ca sa se propage, iar daca le pornesti devreme nu mai astepti la final.
Pasul 1: Verifica hostname-ul actual si mediul in care lucrezi
Incepe prin a vedea cum crede serverul ca se numeste:
hostnamectl
hostnamectl e utilitarul systemd pentru citirea si schimbarea hostname-ului. Rezultatul arata cam asa (ID-urile, versiunile si kernel-ul difera pe masina ta):
Static hostname: vps-48213
Icon name: computer-vm
Chassis: vm
Machine ID: 3f1c...
Boot ID: 8a2d...
Virtualization: kvm
Operating System: Ubuntu 24.04.x LTS
Kernel: Linux 6.8.0-...-generic
Architecture: x86-64
Retine linia Virtualization: kvm inseamna o masina virtuala completa, lxc inseamna un container, iar asta conteaza la pasul 4. Acum uita-te la cele doua fisiere implicate si la FQDN:
hostname # numele scurt raportat de kernel
hostname -f # numele complet, cautat in /etc/hosts si in DNS
cat /etc/hostname
cat /etc/hosts
Pe o imagine proaspata, hostname -f afiseaza deseori tot numele scurt, un nume sub domeniul furnizorului, sau esueaza cu hostname: Name or service not known. Toate sunt normale si le reparam imediat.
Apoi verifica daca e instalat cloud-init:
if command -v cloud-init >/dev/null; then cloud-init status; else echo "cloud-init is not installed"; fi
Daca vezi status: done, cloud-init e prezent si pasul 4 e obligatoriu. Daca nu e instalat, situatie frecventa pe Debian instalat din ISO si in containerele LXC, poti sari peste pasul 4.
In final, cauta toate fisierele de configurare care inca mentioneaza numele vechi, ca sa stii ce mai ai de actualizat:
sudo grep -rIl "$(hostname)" /etc 2>/dev/null
grep -rIl cauta recursiv, ignora fisierele binare si afiseaza doar numele fisierelor. Rezultate tipice: /etc/hostname, /etc/hosts si, pe un server de mail, /etc/mailname si /etc/postfix/main.cf. Pastreaza lista pentru mai tarziu.
Pasul 2: Schimbi hostname-ul pe Ubuntu sau Debian cu hostnamectl
O singura comanda seteaza atat hostname-ul static (scris in /etc/hostname), cat si pe cel tranzitoriu (din kernel-ul activ), deci nu ai nevoie de reboot:
sudo hostnamectl set-hostname web01
Daca totul e in regula, nu afiseaza nimic. Verifica rezultatul:
hostnamectl hostname
cat /etc/hostname
Ambele ar trebui sa afiseze web01. Daca vrei si o eticheta descriptiva, seteaz-o separat ca pretty hostname. Functional nu schimba nimic:
sudo hostnamectl set-hostname --pretty "Server web magazin"
Doua lucruri pe care le observi imediat:
- Prompt-ul arata tot numele vechi. Bash citeste hostname-ul o singura data, la pornire. Ruleaza
exec bashsau iesi si intra din nou in sesiune. - sudo poate afisa
sudo: unable to resolve host web01: Name or service not known. sudo cauta numele propriu al masinii, iar/etc/hostsinca nu stie deweb01. Comanda se executa oricum, avertismentul e inofensiv si dispare dupa pasul 3. Fa pasii 2 si 3 unul dupa altul.
Nume scurt sau FQDN in /etc/hostname? Tehnic poti rula hostnamectl set-hostname web01.example.com. Conventia documentata de Debian, urmata si de Ubuntu, e sa pastrezi doar numele scurt in /etc/hostname si sa lasi domeniul in seama lui /etc/hosts si a DNS-ului. Noi recomandam numele scurt: hostname intoarce atunci web01, iar hostname -f intoarce web01.example.com, exact ce asteapta majoritatea programelor. Unele panouri de control cer explicit FQDN-ul ca hostname; in cazul asta urmeaza documentatia lor, dar tine /etc/hosts consecvent.
Daca hostnamectl esueaza. In unele containere minimale, serviciul de hostname nu e accesibil si primesti o eroare de tip Failed to connect to bus sau un timeout. Atunci faci acelasi lucru manual:
echo "web01" | sudo tee /etc/hostname
sudo hostname web01
Atentie: sudo hostname web01 singur schimba doar numele activ si se pierde la urmatorul boot. E cea mai frecventa greseala: actualizeaza intotdeauna si /etc/hostname.
Pasul 3: Actualizeaza /etc/hosts
Fa o copie de siguranta, apoi deschide fisierul intr-un editor:
sudo cp /etc/hosts /etc/hosts.bak
sudo nano /etc/hosts
Un fisier corect pentru exemplul nostru arata asa:
127.0.0.1 localhost
127.0.1.1 web01.example.com web01
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Ce inseamna fiecare parte:
127.0.0.1 localhostramane exact cum e. Multe programe se bazeaza pe faptul calocalhostduce la adresa de loopback. Nu pune niciodata hostname-ul tau pe linia asta.127.0.1.1 web01.example.com web01e conventia Debian pentru “numele acestei masini”. FQDN-ul trebuie sa fie primul, urmat de numele scurt ca alias.hostname -fintoarce primul nume de pe linia gasita, deci daca le inversezi primestiweb01si ramai fara FQDN.- Liniile IPv6 sunt valorile implicite ale distributiei; nu le atinge.
Inlocuieste numele vechi oriunde apare. Daca fisierul incepe cu un comentariu care spune ca e gestionat de cloud-init (“Your system has configured ‘manage_etc_hosts’ as True…”), modificarile tale vor fi suprascrise la urmatorul boot pana termini pasul 4.
127.0.1.1 sau IP-ul public? Pe un server cu adresa publica fixa, documentatia de referinta Debian recomanda folosirea acelei adrese, deci inlocuiesti linia 127.0.1.1 cu:
203.0.113.10 web01.example.com web01
Diferenta practica: cu 127.0.1.1, un program care isi rezolva propriul hostname si face bind pe el asculta doar pe loopback, lucru care surprinde unele aplicatii Java si Erlang. Cu IP-ul public, astfel de programe asculta pe interfata reala. Pentru un server web sau de mail obisnuit merg ambele variante, iar noi preferam IP-ul public pe serverele cu adresa statica. Nu folosi varianta asta daca IP-ul iti e alocat dinamic. Daca VPS-ul are si o adresa IPv6 statica, poti adauga o linie similara, de exemplu 2001:db8::10 web01.example.com web01.
Salveaza cu Ctrl+O si Enter, apoi iesi cu Ctrl+X. Acum verifica:
hostname -f
getent hosts web01
getent hosts web01.example.com
Rezultatul asteptat (in varianta cu 127.0.1.1):
web01.example.com
127.0.1.1 web01.example.com web01
127.0.1.1 web01.example.com web01
getent hosts intreaba resolver-ul sistemului exact asa cum o fac si celelalte programe, deci daca merge aici, merge si pentru sudo, Postfix si restul. Incearca sudo true: avertismentul “unable to resolve host” ar trebui sa fi disparut.
Pasul 4: Opreste cloud-init sa iti reseteze hostname-ul
Daca la pasul 1 ai vazut ca cloud-init nu e instalat, treci direct la pasul 5.
Doua setari din cloud-init conteaza aici:
preserve_hostname: cand efalse(valoarea implicita), cloud-init poate seta hostname-ul din metadatele furnizorului la boot. Cand etrue, nu il atinge niciodata.manage_etc_hosts: cand etrue, cloud-init regenereaza/etc/hostsdintr-un sablon la fiecare boot si iti sterge modificarile.
Hai sa vedem ce foloseste imaginea ta acum:
sudo grep -rnE 'preserve_hostname|manage_etc_hosts' /etc/cloud/cloud.cfg /etc/cloud/cloud.cfg.d/ 2>/dev/null
Indiferent ce afiseaza, solutia e aceeasi. cloud-init citeste intai /etc/cloud/cloud.cfg si apoi fiecare fisier din /etc/cloud/cloud.cfg.d/ in ordine alfabetica, iar fisierele citite mai tarziu le suprascriu pe cele dinainte. Deci in loc sa editam fisierul principal, pe care un upgrade de pachet il poate inlocui, adaugam un fisier propriu cu un numar mare:
sudo tee /etc/cloud/cloud.cfg.d/99-keep-hostname.cfg > /dev/null <<'EOF'
# Keep the hostname set with hostnamectl and our hand-edited /etc/hosts
preserve_hostname: true
manage_etc_hosts: false
EOF
tee scrie ce primeste in fisier ca root (o redirectare simpla cu > ar rula cu userul tau si ar esua cu “Permission denied”), iar > /dev/null ascunde ecoul de pe ecran. Verifica rezultatul:
cat /etc/cloud/cloud.cfg.d/99-keep-hostname.cfg
Caile si numele optiunilor sunt identice pe Debian si Ubuntu, si ambele folosesc acelasi sablon, /etc/cloud/templates/hosts.debian.tmpl. Daca preferi sa pastrezi manage_etc_hosts: true, editeaza sablonul in loc de /etc/hosts. Noua ni se pare mai usor de inteles un /etc/hosts intretinut manual.
Versiunile recente de cloud-init observa si singure cand ai schimbat hostname-ul si il lasa in pace, dar comportamentul depinde de versiune si de ce contin metadatele furnizorului. Nu te baza pe asta: fisierul de mai sus face comportamentul explicit.
Nu dezactiva cloud-init complet (cu /etc/cloud/cloud-init.disabled) doar pentru asta. Ai opri si functii ale furnizorului, cum ar fi resetarea parolei sau a cheii SSH din panoul de control.
Containere LXC. Daca la pasul 1 ai vazut Virtualization: lxc, de obicei cloud-init nu e implicat. In schimb, platforma de containere scrie /etc/hostname si /etc/hosts la fiecare pornire a containerului, folosind numele configurat pe host. Intr-un container neprivilegiat, in general nu poti schimba comportamentul asta din interior, asa ca solutia curata e sa schimbi numele din panoul de control sau sa ceri suportului sa il schimbe pe host. Pe platformele bazate pe Proxmox exista o exceptie: fisierele goale /etc/.pve-ignore.hostname si /etc/.pve-ignore.hosts, create in container, ii spun host-ului sa nu mai atinga acele fisiere. Verifica intai cu furnizorul inainte sa te bazezi pe ele.
Pasul 5: Da-i FQDN-ului inregistrari DNS reale (A, AAAA si PTR)
Deocamdata doar serverul stie ca se numeste web01.example.com. Restul internetului intreaba DNS-ul, iar pentru mail in special, doua directii trebuie sa coincida:
- DNS direct (forward): un record A (IPv4) si, daca folosesti IPv6, un record AAAA care spun ca
web01.example.comduce la203.0.113.10. Le creezi acolo unde e gazduit DNS-ul domeniului tau. - DNS invers (reverse): un record PTR care spune ca
203.0.113.10apartine luiweb01.example.com. Doar proprietarul blocului de adrese IP il poate seta, adica furnizorul de hosting, nu registrar-ul domeniului. Pentru un VPS DreamServer, deschide un tichet cu IP-ul si FQDN-ul si il setam noi. Fa la fel si pentru adresa IPv6, daca serverul trimite mail prin IPv6.
Cand PTR-ul duce la nume si record-ul A al numelui duce inapoi la acelasi IP, ai forward-confirmed reverse DNS (FCrDNS). Serverele de mail care primesc mesaje verifica asta, iar un PTR lipsa sau gresit e unul dintre cele mai frecvente motive pentru care mailurile de pe un VPS nou sunt respinse sau ajung in spam.
Daca nu ai adresele publice la indemana, afiseaza-le:
ip -brief address show scope global
Dupa ce adaugi inregistrarile, verifica-le. dig vine din pachetul bind9-dnsutils, atat pe Debian, cat si pe Ubuntu; instaleaza-l daca lipseste:
sudo apt install -y bind9-dnsutils
dig +short A web01.example.com
dig +short AAAA web01.example.com
dig +short -x 203.0.113.10
Vrei sa vezi, pe rand, 203.0.113.10, adresa ta IPv6 (daca exista) si web01.example.com.. Punctul de la final pe ultimul raspuns e normal. Daca primesti inca raspunsurile vechi, valorile anterioare stau in cache pe durata TTL-ului (time to live, numarul de secunde cat un resolver are voie sa pastreze un raspuns); asteapta si incearca din nou.
De ce pasul 5 dureaza cel mai mult
Tastatul in sine e rapid. Timpul se duce pe expirarea cache-urilor DNS si, pentru PTR, pe procesarea cererii de catre furnizor. De asta ti-am sugerat sa incepi pasul 5 cat mai devreme.
Pasul 6: Reboot si verificare ca hostname-ul ramane
Schimbarea e deja activa, dar singura dovada reala ca e permanenta e un reboot. Asigura-te ca nu ruleaza nimic important in minutul urmator, apoi:
sudo reboot
Reconecteaza-te dupa un minut si verifica totul dintr-o data:
hostnamectl hostname
hostname -f
cat /etc/hosts
Ar trebui sa vezi web01, web01.example.com si fisierul /etc/hosts editat de tine, neschimbat. Pe masinile cu cloud-init, uita-te si la ce a facut acesta la boot:
sudo grep -i "hostname" /var/log/cloud-init.log | tail -n 15
Cauta o linie care spune ca preserve_hostname e setat si hostname-ul nu este schimbat. Daca in schimb vezi numele vechi scris din nou, verifica fisierul de la pasul 4: YAML e pretentios, iar spatiul de dupa fiecare doua puncte e obligatoriu.
Cum faci serviciile de mail si celelalte sa accepte numele nou
Unele programe citesc hostname-ul doar la pornire, iar altele l-au copiat in propria configuratie la instalare. Aici iti prinde bine lista de la pasul 1.
Postfix
Postfix isi anunta myhostname in mesajul de intampinare SMTP si in comanda HELO/EHLO cand trimite mail. Serverele care primesc mesajele asteapta acolo un FQDN care se rezolva in DNS, iar multe resping direct web01 sau localhost.localdomain. Pe Debian si Ubuntu, la instalare Postfix copiaza FQDN-ul o singura data in /etc/postfix/main.cf, deci nu urmeaza automat schimbarea ta. Verifica valorile actuale:
postconf myhostname mydomain myorigin mydestination
cat /etc/mailname
Apoi actualizeaza-le:
sudo postconf -e 'myhostname = web01.example.com'
sudo postconf -e 'mydestination = $myhostname, web01, localhost.localdomain, localhost'
echo "web01.example.com" | sudo tee /etc/mailname
sudo systemctl reload postfix
postconf -e editeaza main.cf in siguranta. Ghilimelele simple pastreaza $myhostname ca text, ca sa-l expandeze Postfix, nu shell-ul tau. Daca serverul primeste mail si pentru domenii intregi, pastreaza acele domenii in mydestination. Pe sistemele din familia Debian, myorigin = /etc/mailname, deci fisierul asta decide domeniul adaugat expeditorilor locali precum root: foloseste FQDN-ul, sau doar example.com daca vrei ca mailurile locale sa para trimise de pe domeniul simplu.
Trimite un mesaj de test catre o casuta externa si uita-te la headere: linia Received: ar trebui sa arate web01.example.com impreuna cu IP-ul tau, iar rezultatele de autentificare nu ar trebui sa se planga de reverse DNS.
Exim
Daca folosesti Exim, agentul de mail traditional din Debian, actualizeaza /etc/mailname ca mai sus si ruleaza sudo dpkg-reconfigure exim4-config. Te intreaba din nou numele de mail al sistemului si regenereaza configuratia.
Restul serviciilor
- Loguri: journald foloseste numele nou imediat. rsyslog, instalat implicit pe Ubuntu 24.04 dar nu si pe Debian 13, isi memoreaza numele la pornire, deci ruleaza
sudo systemctl restart rsyslog. - Agenti de monitorizare: agentul Zabbix (
Hostname=in configuratie), etichetele Prometheus si utilitarele de backup identifica deseori serverul dupa numele vechi. Actualizeaza-le, altfel dashboard-urile vor arata un server “nou” langa unul “vechi” mort. - Servicii care isi salveaza hostname-ul in date: RabbitMQ isi numeste nodul si directorul de date dupa hostname, iar replicile MySQL/MariaDB il folosesc pentru numele implicite ale fisierelor relay log. Pe astfel de servere, citeste documentatia aplicatiei inainte de redenumire.
- Containerele Docker au propriile hostname-uri si nu trebuie modificate.
- SSH: cheile de host nu se schimba odata cu numele. Daca incepi sa te conectezi cu noul nume DNS, clientul SSH iti cere o data sa confirmi cheia, ceea ce e normal.
Probleme frecvente si greseli des intalnite
sudo: unable to resolve host web01. /etc/hosts nu are o linie pentru numele nou sau contine o greseala de scriere. Refa pasul 3 si testeaza cu getent hosts web01.
Dupa reboot a revenit hostname-ul vechi. E cloud-init (pasul 4 lipsa sau cu o greseala in YAML), o platforma LXC care rescrie fisierele la pornirea containerului, sau ai rulat doar sudo hostname. Verifica /var/log/cloud-init.log si linia Virtualization: din hostnamectl. Daca numele vine in continuare din metadatele furnizorului chiar si cu preserve_hostname: true, schimba-l din panoul de control sau cere ajutorul suportului.
hostname -f afiseaza numele scurt. FQDN-ul nu e primul nume de pe linia din /etc/hosts. Ordinea trebuie sa fie IP FQDN nume-scurt.
hostname -f afiseaza localhost. Hostname-ul tau sta pe linia 127.0.0.1 alaturi de localhost. Muta-l pe o linie separata.
hostnamectl respinge sau modifica numele. Underscore-ul, spatiile si alte caractere speciale nu sunt valide intr-un hostname static; hostnamectl poate seta atunci doar un pretty name sau o versiune “curatata”. Rezuma-te la litere mici, cifre si cratime.
Mailurile se intorc cu “Helo command rejected: need fully-qualified hostname” sau cu o eroare de reverse DNS. Postfix foloseste inca numele vechi sau scurt, ori PTR-ul lipseste sau duce in alta parte. Corecteaza myhostname si verifica cu comenzile dig de la pasul 5.
Prompt-ul arata inca numele vechi. Ruleaza exec bash sau deschide o sesiune noua; nu e nimic stricat.
Note de securitate
- Hostname-ul e public. Apare in mesajele SMTP, in headerele de mail, in reverse DNS si uneori in paginile de eroare. Nu pune in el nume de clienti, detalii despre reteaua interna sau indicii de genul
db-nepatchuit. - Foloseste doar domenii pe care le controlezi. Daca FQDN-ul tau sta sub un domeniu care nu e al tau, proprietarul lui poate publica inregistrari care intra in conflict cu numele serverului tau.
- Pastreaza o copie de siguranta si o a doua sesiune. Editarea
/etc/hostsnu te poate bloca afara din SSH, dar o linielocalhoststricata incurca serviciile locale. Am salvat/etc/hosts.bak; restaureaza-l cusudo cp /etc/hosts.bak /etc/hostsla nevoie si tine o a doua sesiune SSH deschisa cat lucrezi. - Lasa cloud-init activ. Am schimbat doar doua setari, deci functiile furnizorului, precum resetarea parolei si injectarea cheilor SSH, continua sa mearga.
- Reputatia de mail urmeaza numele si IP-urile. Un FQDN si un PTR consecvente, impreuna cu SPF si DKIM, iti ajuta mailurile sa ajunga la destinatie. O configuratie inconsecventa face IP-ul tau sa arate ca o masina compromisa.
Deci, merita facut ca la carte?
Da, pentru ca o treaba facuta pe jumatate te costa mai tarziu mai mult timp decat iti ia acum s-o faci corect. Schimbarea hostname-ului pe Ubuntu sau Debian e o singura comanda hostnamectl, dar un nume care supravietuieste reboot-urilor si in care au incredere celelalte servere are nevoie de toti cei sase pasi: verifici, setezi, repari /etc/hosts, imblanzesti cloud-init, publici DNS-ul cu un PTR potrivit si confirmi cu un reboot. Fa-o o data, pe un server proaspat, si nu mai trebuie sa te gandesti la ea.
Daca ai nevoie de un server pe care sa incerci, un VPS de la noi e gata in cateva minute, iar pentru ca operam propriul spatiu de adrese IP iti setam reverse DNS-ul la cerere. Daca preferi ca altcineva sa se ocupe de hostname, DNS, livrarea mailurilor si restul configurarii, echipa noastra de administrare servere o poate face pentru tine.
Intrebari frecvente
Trebuie sa dau reboot dupa ce schimb hostname-ul?
Nu. hostnamectl set-hostname aplica numele nou imediat. Dam reboot la pasul 6 doar ca sa dovedim ca schimbarea supravietuieste si ca sa repornim serviciile care memorasera numele vechi.
In /etc/hostname pun numele scurt sau FQDN-ul?
Pe Debian si Ubuntu, numele scurt (web01), iar FQDN-ul vine din /etc/hosts si din DNS. Merge si FQDN-ul, daca il cere un panou de control, atata timp cat /etc/hosts e consecvent.
Daca schimb hostname-ul, se schimba si IP-ul sau domeniul site-ului?
Nu. Hostname-ul e doar o eticheta pe care serverul o foloseste pentru el insusi. IP-ul, inregistrarile DNS ale site-urilor si certificatele TLS existente nu sunt afectate.
De ce revine hostname-ul vechi dupa reboot pe Ubuntu?
Aproape mereu pentru ca cloud-init reaplica numele din metadatele furnizorului sau regenereaza /etc/hosts. Pasul 4 rezolva problema cu preserve_hostname: true si manage_etc_hosts: false.
Pot schimba hostname-ul intr-un container LXC?
Da, dar platforma de containere rescrie de obicei hostname-ul la fiecare pornire a containerului, asa ca schimba-l din panoul de control sau prin suport, ca sa ramana permanent.