Konfigurer SysVol-replikering på tvers av to Samba4 AD DC med Rsync - del 6
Dette emnet vil dekke SysVol-replikering på tvers av to Samba4 Active Directory-domenekontrollere utført ved hjelp av noen få kraftige Linux-verktøy, for eksempel Rsync-filsynkroniseringsverktøy, Cron-planleggingsdemon og SSH protokoll.
Krav:
- Bli med Ubuntu 16.04 som tilleggsdomenekontroller til Samba4 AD DC – del 5
Trinn 1: Nøyaktig tidssynkronisering på tvers av DC-er
1. Før du begynner å replikere innholdet i sysvol-katalogen på tvers av begge domenekontrollerne, må du oppgi en nøyaktig tid for disse maskinene.
Hvis forsinkelsen er større enn 5 minutter i begge retninger og klokkene deres ikke er riktig synkroniserte, bør du begynne å oppleve ulike problemer med AD-kontoer og domenereplikering.
For å overvinne problemet med tidsdrift mellom to eller flere domenekontrollere, må du installere og konfigurere NTP-serveren på maskinen din ved å utføre kommandoen nedenfor.
apt-get install ntp
2. Etter at NTP-demonen er installert, åpner du hovedkonfigurasjonsfilen, kommenterer standardpoolene (legg til en # foran hver poollinje) og legger til en ny pool som vil peke tilbake til Samba4 AD DC FQDN med NTP-serveren installert, som foreslått i eksemplet nedenfor.
nano /etc/ntp.conf
Legg til følgende linjer i filen ntp.conf.
pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
pool adc1.tecmint.lan
Use Ubuntu's ntp server as a fallback.
pool ntp.ubuntu.com
3. Ikke lukk filen ennå, flytt til bunnen av filen og legg til følgende linjer for at andre klienter skal kunne spørre og synkronisere klokkeslettet med denne NTP-serveren, utstedelse signert NTP-forespørsler, i tilfelle den primære DC-en går offline:
restrict source notrap nomodify noquery mssntp
ntpsigndsocket /var/lib/samba/ntp_signd/
4. Lagre og lukk til slutt konfigurasjonsfilen og start NTP-demonen på nytt for å ta i bruk endringene. Vent i noen sekunder eller minutter for tiden til å synkronisere og gi kommandoen ntpq for å skrive ut gjeldende sammendragsstatus for adc1-peeren synkronisert.
systemctl restart ntp
ntpq -p
Trinn 2: SysVol-replikering med First DC via Rsync
Som standard utfører ikke Samba4 AD DC SysVol-replikering via DFS-R (Distribuert filsystemreplikering) eller FRS (Filereplikeringstjeneste).
Dette betyr at Gruppepolicy-objekter bare er tilgjengelige hvis den første domenekontrolleren er tilkoblet. Hvis den første DC-en blir utilgjengelig, vil ikke gruppepolicyinnstillingene og påloggingsskriptene gjelde videre på Windows-maskiner som er registrert i domenet.
For å overvinne denne hindringen og oppnå en rudimentær form for SysVol-replikering vil vi planlegge en Linux rsync-kommando kombinert med en SSH-kryptert tunnel med nøkkelbasert SSH-autentisering for å sikkert overføre GPO-objekter fra den første domenekontrolleren til den andre domenekontrolleren.
Denne metoden sikrer GPO-objekter konsistens på tvers av domenekontrollere, men har én stor ulempe. Det fungerer bare i én retning fordi rsync vil overføre alle endringer fra kilde-DC til mål-DC ved synkronisering av GPO-kataloger.
Objekter som ikke lenger eksisterer på kilden vil også bli slettet fra destinasjonen. For å begrense og unngå eventuelle konflikter, bør alle GPO-redigeringer kun gjøres på den første DC.
5. For å starte prosessen med SysVol-replikering, genererer du først en SSH-nøkkel på den første Samba AD DC og overfører nøkkelen til den andre DC ved å utstede kommandoene nedenfor.
Ikke bruk en passordfrase for denne nøkkelen for at den planlagte overføringen skal kjøre uten brukerinnblanding.
ssh-keygen -t RSA
ssh-copy-id root@adc2
ssh adc2
exit
6. Etter at du har forsikret deg om at rotbrukeren fra den første DC automatisk kan logge på den andre DC, kjører du følgende Rsync-kommando med --dry-run
parameter for å simulere SysVol-replikering. Erstatt adc2 tilsvarende.
rsync --dry-run -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/
7. Hvis simuleringsprosessen fungerer som forventet, kjør rsync-kommandoen på nytt uten --dry-run
-alternativet for å faktisk replikere GPO-objekter på tvers av domenekontrollerne.
rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/
8. Etter at SysVol-replikeringsprosessen er fullført, logger du på måldomenekontrolleren og viser innholdet i en av GPO-objektkatalogene ved å kjøre kommandoen nedenfor.
De samme GPO-objektene fra den første DC bør også replikeres her.
ls -alh /var/lib/samba/sysvol/your_domain/Policiers/
9. For å automatisere prosessen med Gruppepolicy-replikering (sysvol-katalogtransport over nettverk), planlegg en rotjobb for å kjøre rsync-kommandoen som ble brukt tidligere hvert 5. minutt ved å utstede følgende kommando.
crontab -e
Legg til rsync-kommandoen for å kjøre hvert 5. minutt og diriger utdataene fra kommandoen, inkludert feilene, til loggfilen /var/log/sysvol-replication.log . I tilfelle noe ikke fungerer som forventet at du bør konsultere denne filen for å feilsøke problemet.
*/5 * * * * rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&1
10. Forutsatt at det i fremtiden vil være noen relaterte problemer med SysVol ACL-tillatelser, kan du kjøre følgende kommandoer for å oppdage og reparere disse feilene.
samba-tool ntacl sysvolcheck
samba-tool ntacl sysvolreset
11. I tilfelle den første Samba4 AD DC med FSMO-rollen som «PDC-emulator» blir utilgjengelig, kan du tvinge Gruppepolicyadministrasjonskonsollen installert på et Microsoft Windows-system til å bare koble til den andre domenekontrolleren ved å velge alternativet Endre domenekontroller og velge målmaskinen manuelt som illustrert nedenfor.
Mens du er koblet til den andre DC fra Gruppepolicyadministrasjonskonsollen, bør du unngå å gjøre noen endringer i domenet ditt Gruppepolicy. Når den første DC blir tilgjengelig igjen, vil rsync-kommandoen ødelegge alle endringer som er gjort på denne andre domenekontrolleren.