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
-
Nyisd meg a Zentyal webes felületét a DC1-en.
-
Menj a DNS → Forwarders menüpontra.
-
Add hozzá a Technitium DNS szerver IP-címét (pl. 10.10.0.5).
-
Mentsd el a jobb felső sarokban lévő Save Changes gombbal.
-
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"
fiHa 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
Régen tologattam, megnézem
Beküldte kami911 -
Értékelés:
Régen tologattam, megnézem majd mennyit fejlődött. Kényelmes volt.