Ana içeriğe geç
Kategoriye Dön

Sunucu Hostname ve DNS Yapılandırması: Adım Adım Rehber

hostnamectl ile hostname ayarlama, /etc/hosts ve /etc/resolv.conf yapılandırması, FQDN kurulumu, PTR kaydı önemi ve dig/nslookup ile test rehberi.

Okuma süresi: 10 dk Sunucu Yönetimi
hostnamednsfqdnhostnamectlresolv.confptr kaydılinux

İçindekiler

Sunucu Hostname ve DNS Yapılandırması: Adım Adım Rehber

Sunucunuzun hostname'i ve DNS yapılandırması, ağ iletişiminin temelini oluşturur. Yanlış yapılandırılmış bir hostname, e-posta gönderiminde sorunlara, log kayıtlarında karışıklığa ve bazı uygulamaların hatalı çalışmasına yol açabilir. Bu rehberde hostname ayarlama, DNS yapılandırması ve doğrulama adımlarını öğreneceksiniz.

Hostname Nedir?

Hostname, sunucunuzu ağda tanımlayan isimdir. İki tür hostname vardır:

  • Kısa hostname: Sadece makine adı (örn: webserver01)
  • FQDN (Fully Qualified Domain Name): Tam nitelikli alan adı (örn: webserver01.rexe.tr)

FQDN, hostname ile domain adının birleşiminden oluşur ve sunucunuzu internet üzerinde benzersiz şekilde tanımlar.

Üretim sunucularında her zaman FQDN kullanın. Bu, e-posta sunucuları, SSL sertifikaları ve log yönetimi için kritik öneme sahiptir.

Mevcut Hostname'i Görüntüleme

hljs bash
# Kısa hostname
hostname

# FQDN
hostname -f

# Tüm hostname bilgileri
hostnamectl

# Örnek çıktı:
# Static hostname: webserver01
# Icon name: computer-server
# Chassis: server
# Machine ID: abc123...
# Boot ID: def456...
# Operating System: Ubuntu 22.04.3 LTS
# Kernel: Linux 5.15.0-91-generic
# Architecture: x86-64

hostnamectl ile Hostname Ayarlama

hostnamectl, systemd tabanlı sistemlerde hostname yönetimi için kullanılan modern araçtır.

hljs bash
# Hostname'i ayarla
sudo hostnamectl set-hostname webserver01

# FQDN için hostname ayarla
sudo hostnamectl set-hostname webserver01.rexe.tr

# Değişikliği doğrula
hostnamectl

# Yeni shell açarak değişikliği uygula
exec bash
# veya
bash

Hostname Türleri

hljs bash
# Statik hostname (kalıcı, /etc/hostname'e yazılır)
sudo hostnamectl set-hostname webserver01 --static

# Geçici hostname (reboot'ta sıfırlanır)
sudo hostnamectl set-hostname webserver01 --transient

# Güzel hostname (görüntüleme için)
sudo hostnamectl set-hostname "Web Server 01" --pretty

/etc/hostname Dosyası

Hostname kalıcı olarak /etc/hostname dosyasında saklanır:

hljs bash
# Dosyayı görüntüle
cat /etc/hostname

# Manuel olarak düzenle
sudo nano /etc/hostname
webserver01

/etc/hostname dosyasına sadece kısa hostname yazın, FQDN değil. FQDN yapılandırması /etc/hosts dosyasında yapılır.

/etc/hosts Dosyası Yapılandırması

/etc/hosts dosyası, DNS sorgusundan önce kontrol edilen yerel isim çözümleme tablosudur.

hljs bash
# Dosyayı görüntüle
cat /etc/hosts

# Düzenle
sudo nano /etc/hosts

Doğru /etc/hosts Yapılandırması

127.0.0.1       localhost
127.0.1.1       webserver01.rexe.tr webserver01

# Sunucunun gerçek IP adresi
203.0.113.100   webserver01.rexe.tr webserver01

# IPv6
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1 satırı Ubuntu/Debian sistemlerde FQDN için kullanılır. CentOS/RHEL sistemlerde gerçek IP adresini kullanın.

/etc/hosts Kullanım Senaryoları

hljs bash
# Yerel geliştirme ortamı
192.168.1.10    db.local database
192.168.1.20    cache.local redis

# Belirli bir domain'i engelle
0.0.0.0         ads.example.com

# Hızlı erişim için alias
10.0.0.5        prod-db production-database

/etc/resolv.conf DNS Yapılandırması

/etc/resolv.conf, sistemin DNS sunucularını tanımlar.

hljs bash
# Mevcut DNS yapılandırmasını görüntüle
cat /etc/resolv.conf

Örnek resolv.conf

# DNS sunucuları
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1

# Arama domain'i (kısa isimler için)
search rexe.tr

# Domain
domain rexe.tr

# Maksimum DNS deneme sayısı
options attempts:3
# DNS zaman aşımı (saniye)
options timeout:2

systemd-resolved ile DNS Yönetimi

Ubuntu 18.04+ ve modern Debian sistemlerde DNS, systemd-resolved tarafından yönetilir:

hljs bash
# DNS durumunu görüntüle
resolvectl status

# Belirli bir domain için DNS sorgula
resolvectl query rexe.tr

# DNS önbelleğini temizle
resolvectl flush-caches

# DNS istatistiklerini görüntüle
resolvectl statistics
hljs bash
# systemd-resolved ile kalıcı DNS ayarı
sudo nano /etc/systemd/resolved.conf
hljs ini
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1
Domains=rexe.tr
DNSSEC=no
DNSOverTLS=no
hljs bash
# Servisi yeniden başlat
sudo systemctl restart systemd-resolved

FQDN Kurulumu

Doğru FQDN kurulumu için şu adımları izleyin:

hljs bash
# 1. Hostname'i ayarla
sudo hostnamectl set-hostname webserver01

# 2. /etc/hosts dosyasını düzenle
sudo nano /etc/hosts
127.0.0.1       localhost
127.0.1.1       webserver01.rexe.tr webserver01
203.0.113.100   webserver01.rexe.tr webserver01
hljs bash
# 3. FQDN'i doğrula
hostname -f
# Çıktı: webserver01.rexe.tr

# 4. Kısa hostname'i doğrula
hostname -s
# Çıktı: webserver01

# 5. IP adresini doğrula
hostname -I

PTR Kaydı (Reverse DNS) Önemi

PTR kaydı, IP adresinden hostname'e çözümleme yapan ters DNS kaydıdır.

PTR Kaydı Neden Önemlidir?

  • E-posta gönderimi: Spam filtreleri PTR kaydı olmayan IP'lerden gelen e-postaları reddeder
  • Güvenlik: Ağ güvenlik araçları PTR kaydını doğrular
  • Log analizi: IP yerine hostname görmek log okumayı kolaylaştırır
  • Bazı servisler: FTP, IRC gibi servisler PTR kaydı gerektirebilir

PTR Kaydı Ayarlama

PTR kaydı, IP adresinizin sahibi olan ISP veya hosting sağlayıcısı tarafından ayarlanır. REXE müşteri panelinden PTR kaydınızı yönetebilirsiniz.

hljs bash
# Mevcut PTR kaydını kontrol et
dig -x 203.0.113.100

# veya
nslookup 203.0.113.100

# Beklenen çıktı:
# 100.113.0.203.in-addr.arpa. IN PTR webserver01.rexe.tr.

dig ile DNS Testi

dig (Domain Information Groper), DNS sorgularını test etmek için en güçlü araçtır.

hljs bash
# A kaydı sorgula
dig rexe.tr A

# MX kaydı sorgula
dig rexe.tr MX

# NS kaydı sorgula
dig rexe.tr NS

# TXT kaydı sorgula
dig rexe.tr TXT

# Belirli DNS sunucusunu kullan
dig @8.8.8.8 rexe.tr A

# Kısa çıktı
dig +short rexe.tr A

# Tüm kayıtları sorgula
dig rexe.tr ANY

# Ters DNS sorgusu
dig -x 203.0.113.100

# DNS yayılımını kontrol et
dig +trace rexe.tr

nslookup ile DNS Testi

hljs bash
# Temel sorgu
nslookup rexe.tr

# Belirli DNS sunucusu ile
nslookup rexe.tr 8.8.8.8

# Ters DNS
nslookup 203.0.113.100

# İnteraktif mod
nslookup
> server 8.8.8.8
> set type=MX
> rexe.tr
> exit

host Komutu ile Hızlı Test

hljs bash
# Temel sorgu
host rexe.tr

# Ters DNS
host 203.0.113.100

# MX kaydı
host -t MX rexe.tr

# Belirli DNS sunucusu
host rexe.tr 1.1.1.1

Sorun Giderme

Hostname Değişikliği Uygulanmıyor

hljs bash
# Yeni shell başlat
exec bash

# veya sistemi yeniden başlat
sudo reboot

# /etc/hostname dosyasını kontrol et
cat /etc/hostname

DNS Çözümlemesi Çalışmıyor

hljs bash
# DNS bağlantısını test et
dig @8.8.8.8 google.com

# resolv.conf'u kontrol et
cat /etc/resolv.conf

# systemd-resolved durumunu kontrol et
systemctl status systemd-resolved

# nsswitch.conf'u kontrol et
cat /etc/nsswitch.conf | grep hosts
# Çıktı: hosts: files dns

DNS sorunlarında önce /etc/hosts dosyasını, ardından /etc/resolv.conf'u kontrol edin. nsswitch.conf dosyasındaki hosts satırı çözümleme sırasını belirler.

Sonuç

Doğru hostname ve DNS yapılandırması, sunucu yönetiminin temel taşlarından biridir. REXE sunucularınızda FQDN'i doğru ayarlamak, e-posta gönderimi, SSL sertifikaları ve uygulama yapılandırmaları için kritik öneme sahiptir. PTR kaydınızın doğru ayarlandığından emin olmak için REXE müşteri panelini kullanabilirsiniz.