Tartományvezérlés 0 Ft-ból

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

A Zentyal Server Community Edition megosztja a rendszergazdákat. Van, aki imádja, van, aki átkozza. A panaszok többnyire ugyanazok: váratlan leállások, frissítés után széteső konfigurációk, instabil működés. A tapasztalat viszont azt mutatja, hogy ezek a hibák szinte mindig abból fakadnak, hogy a Zentyal-t egyszerre akarják tűzfalnak, VPN-nek, proxynak és levelezőnek használni. Ha lecsupaszítjuk a rendszert, és csak Active Directory (Samba4 AD) és DNS feladatokra használjuk, egy nagyon stabil, licencdíj-mentes megoldást kapunk, ami 100–200 fős környezetben is gond nélkül elmegy.

Ahhoz, hogy ez tényleg üzembiztos legyen, két tartományvezérlőt (2 DC) kell felépíteni, és néhány saját szkripttel kell pótolni azokat a funkciókat, amiket a Community verzió nem tartalmaz.

A hálózati topológia

A példában ezeket a fix IP-címeket használjuk a belső hálózaton:

  • DC1 (elsődleges AD): 10.10.0.10

  • DC2 (kiegészítő AD): 10.10.0.11

  • Technitium DNS szerver (külső feloldó): 10.10.0.5

A Zentyal beépített Samba DNS-ének kell kiszolgálnia az Active Directory belső rekordjait (SRV rekordok), a külső internetes címek feloldását viszont egy külön erre a célra fenntartott Technitium DNS szerverre kell továbbítani.

DNS továbbítás beállítása a Zentyalban

  1. Nyisd meg a Zentyal webes felületét a DC1-en.

  2. Menj a DNS → Forwarders menüpontra.

  3. Add hozzá a Technitium DNS szerver IP-címét (pl. 10.10.0.5).

  4. Mentsd el a jobb felső sarokban lévő Save Changes gombbal.

  5. Ismételd meg ugyanezt a DC2-n is.

Automatizálás: három szkript, amit érdemes használni

A szkripteket a /root/ mappában hozd létre, tedd őket futtathatóvá (chmod +x szkriptnev.sh), és ütemezd őket a crontab -e segítségével.

1. samba_ad_backup.sh – biztonságos mentés futás közben

A Samba AD adatbázisát nem lehet nyers fájlmásolással menteni, mert abból könnyen sérült állapot lesz. Ez a szkript a hivatalos online mentési eszközt használja a DC1-en, törli a 7 napnál régebbi helyi mentéseket, majd átmásolja a friss állományt a DC2-re biztonsági tartalékként.

bash

#!/bin/bash
# ==============================================================================
# Nev: samba_ad_backup.sh
# Feladat: Zentyal Active Directory online mentes es archivalas
# Futtatas: Csak a DC1 (FSMO Master, 10.10.0.10) szerveren
# Idozites: Minden ejjel 02:00-kor (0 2 * * *)
# ==============================================================================

BACKUP_DIR="/var/backups/samba_ad"
KEEP_DAYS=7
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DC2_IP="10.10.0.11"

mkdir -p "$BACKUP_DIR"

# 1. Samba AD online mentes (tartomanyi struktura es SYSVOL)
samba-tool domain backup online --targetdir="$BACKUP_DIR" --configfile=/etc/samba/smb.conf

# 2. A legfrissebb mentes atnevezese egyedi idobelyegre
mv "$BACKUP_DIR"/samba-backup*.tar.bz2 "$BACKUP_DIR/samba_ad_backup_$TIMESTAMP.tar.bz2"

# 3. 7 napnal regebbi helyi mentesek tisztitasa
find "$BACKUP_DIR" -type f -name "samba_ad_backup_*.tar.bz2" -mtime +$KEEP_DAYS -delete

# 4. Masolat atkuldese a DC2 szerverre (SSH kulcs alapu hitelesites szukseges)
scp "$BACKUP_DIR/samba_ad_backup_$TIMESTAMP.tar.bz2" root@$DC2_IP:/var/backups/samba_ad/

2. check_replication.sh – replikáció-ellenőrzés e-mail riasztással

Ha a 10.10.0.10 és a 10.10.0.11 között megszakad a szinkronizáció, a címtárak elkezdenek eltávolodni egymástól. Ez a szkript óránként ellenőrzi a replikáció állapotát, és ha hibát talál, azonnal e-mailt küld.

A levelezéshez a mailx csomagra van szükség (Debian/Ubuntu alatt: apt-get install mailutils). Az SMTP szerver adatait vagy a helyi MTA konfigurációjában, vagy közvetlenül a szkriptben add meg.

bash

#!/bin/bash
# ==============================================================================
# Nev: check_replication.sh
# Feladat: DC-k kozotti ketiranyu szinkronizacio figyelese es email riasztas
# Futtatas: Mindket tartomanyvezerlon (DC1 es DC2)
# Idozites: Orankent (0 * * * *)
# ==============================================================================

MAIL_TO="admin@ceg.hu"
MAIL_FROM="dc-riasztas@ceg.hu"
SERVER_NAME=$(hostname)

REP_STATUS=$(samba-tool drs showrepl 2>&1)

if echo "$REP_STATUS" | grep -iqE "fail|error|failed"; then
    SUBJECT="RIASZTAS: AD replikacio hiba a(z) $SERVER_NAME szerveren"
    BODY="Nem mukodik az Active Directory replikacio a(z) $SERVER_NAME szerveren!

Reszletes status:
$REP_STATUS

Surgos ellenorzes szukseges."

    echo "$BODY" | mail -s "$SUBJECT" -r "$MAIL_FROM" "$MAIL_TO"
fi

Ha külső SMTP szervert szeretnél használni (pl. Gmail, Exchange), akkor érdemes a msmtp-t telepíteni és beállítani, majd a mail parancs helyett msmtp-t hívni:

bash

echo "$BODY" | msmtp -a default "$MAIL_TO"

A /etc/msmtprc fájlban pedig beállítod a szerver címét, portját, felhasználónevét és jelszavát.

3. zentyal_clean.sh – logtisztító és karbantartó szkript

A Zentyal sok naplófájlt termel. Ha a /var partíció betelik, a Samba adatbázis összeomlik. Ez a szkript gondoskodik a lemezterület felszabadításáról.

bash

#!/bin/bash
# ==============================================================================
# Nev: zentyal_clean.sh
# Feladat: Lemezterulet felszabaditasa, logfajlok es cache uritese
# Futtatas: Mindket tartomanyvezerlon (DC1 es DC2)
# Idozites: Hetente egyszer, szombat ejjel (0 3 * * 6)
# ==============================================================================

# 1. Systemd journal logok korlatozasa max 14 napra vagy 500 MB-ra
journalctl --vacuum-time=14d
journalctl --vacuum-size=500M

# 2. APT csomaggyorsitotar kiuritese
apt-get clean
apt-get autoremove -y

# 3. Samba belsocsatornajanak es gyorstaranak uritese karbantartasi idoszakban
systemctl stop zentyal.samba
net cache flush
systemctl start zentyal.samba

Időzítés beállítása (crontab)

DC1 (10.10.0.10) crontab:

text

0 2 * * * /root/samba_ad_backup.sh >/dev/null 2>&1
0 * * * * /root/check_replication.sh >/dev/null 2>&1
0 3 * * 6 /root/zentyal_clean.sh >/dev/null 2>&1

DC2 (10.10.0.11) crontab:

text

0 * * * * /root/check_replication.sh >/dev/null 2>&1
0 3 * * 6 /root/zentyal_clean.sh >/dev/null 2>&1

Összegzés

A Zentyal hírhedt instabilitása csak akkor jelentkezik, ha mindenes szerverként használják. Ha lecsökkented a feladatköreit a tiszta Samba AD és DNS modulokra, beállítod a kétirányú replikációt a 10.10.0.10 és a 10.10.0.11 között, a külső kéréseket pedig a Technitium DNS felé irányítod, egy filléres és robusztus vállalati címtárat kapsz.

Hozzászólások