---
title: dc01
url: 'https://tucek.me/sv/tech/servers/dc01'
markdown: 'https://tucek.me/sv/tech/servers/dc01.md'
lang: sv
date: '2026-08-30'
description: 'Första DC-servern (PDC) DC01 På fabric-servern: sudo virt-install --virt-type kvm --name dc01 \ --location \ https://deb.debian.org/debian/dists/bullseye/main/installer-amd64/ \ --memory 1024 \ --vcpus 1 \ --disk pool=vmdisks,size=25,format=qcow2 \ --network bridge=br0 \ --hvm \ --g…'
---

# dc01

## Första DC-servern (PDC) DC01

På fabric-servern:

```command
sudo virt-install --virt-type kvm --name dc01 \
  --location \
  https://deb.debian.org/debian/dists/bullseye/main/installer-amd64/ \
  --memory 1024 \
  --vcpus 1 \
  --disk pool=vmdisks,size=25,format=qcow2 \
  --network bridge=br0 \
  --hvm \
  --graphics none \
  --console pty,target_type=serial \
  --extra-args "console=ttyS0"
```

## Konfigurera Debian

Redigera `nano /etc/network/interfaces` och ställa in en statisk IP-adress:

```settings
# /etc/network/interfaces
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug ens2
iface ens2 inet static
  address 10.115.100.4/24
  gateway 10.115.100.1
```

```settings
# /etc/resolv.conf
search yourdomain.com
nameserver 1.1.1.1
```

Ställ in systemspråket på engelska för att göra det lättare att upptäcka problem i loggfilerna:

```command
apt install locales-all
localectl set-locale LANG=en_US.utf8
localectl status
```

#### Uppdatera Debian och installera de nödvändiga administrationsverktygen:

```command
apt update
apt install wget sudo screen nmap telnet tcpdump rsync net-tools dnsutils htop \
apt-transport-https vim gnupg lsb-release
```

Skapa `nano /etc/sudoers.d/10-nopasswd` och lägg till:

```settings
%emir ALL=(ALL) NOPASSWD: ALL
```

#### Konfigurera VIM

Öppna `nano /etc/vim/vimrc` och ersätt hela innehållet med:

```markdown
runtime! debian.vim
syntax on
set background=dark
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
filetype plugin indent on
set encoding=utf-8
set nobackup
set nowritebackup
set showcmd
set updatetime=300
set showmatch
set ignorecase
set smartcase
set incsearch
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif
```

Skapa en konfigurationsfil för Vim för användare `nano ~/.vimrc`och lägg till:

```settings
set mouse=
set nocompatible
set cursorline
set nocursorcolumn
set nowrap
set showmode
set hlsearch
set wildmenu
set wildmode=list:longest
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
```

#### Starta om systemet och logga in som vanlig användare

I mitt fall `emir`.

Ställ in samma Vim-användarinställningar som ovan för den aktuella användaren.

## Samba AD

För att underlätta installationen och konfigurationen bör du byta till root-användaren `sudo su`

Om du har klienter med Windows 11 22H2 eller senare måste du uppgradera Samba till den senaste versionen. Redigera `vim /etc/apt/sources.list` och lägg till följande längst ner i filen:

```settings
deb http://deb.debian.org/debian bullseye-backports main
```

```markdown
sudo su
export DEBIAN_FRONTEND=noninteractive
apt update
apt -t bullseye-backports install acl attr samba winbind libnss-winbind krb5-user smbclient \
ldb-tools python3-cryptography ldap-utils samba-dsdb-modules samba-vfs-modules \
libpam-krb5 krb5-config
unset DEBIAN_FRONTEND
```

Ändra filen `vim /etc/krb5.conf` och ersätt hela innehållet med följande fyra rader genom att ange din organisations Active Directory-domän. `default_realm` måste absolut skrivas med STORA BOKSTÄVER!!

```settings
[libdefaults]
  default_realm = YOURDOMAIN.COM
  dns_lookup_kdc = true
  dns_lookup_realm = false
```

Ta bort filen `rm -f /etc/samba/smb.conf` om den redan har genererats (den kommer att genereras på nytt av instansieringskommandot)

```command
samba-tool domain provision --realm=YOURDOMAIN.COM --domain YOURDOMAIN --server-role=dc
```

Återställ administratörslösenordet:

```command
samba-tool user setpassword administrator
```

Kontrollera raden `dns forwarder = xxx.xxx.xxx` i filen `/etc/samba/smb.conf`. Den måste peka på en giltig DNS-server, t.ex.:

```settings
dns forwarder = 1.1.1.1
```

Konfigurera om DNS-upplösningen för den lokala datorn. I nätverksgränssnittsfilen /etc/resolv.conf ersätter du följande rad med följande rad:

```settings
# /etc/resolv.conf
search yourdomain.com
nameserver 127.0.0.1
```

Skriptet för att skapa Samba-domäner skapar en onödig fil med namnet /var/lib/samba/private/krb5.conf. Den måste tas bort och ersättas med en symbolisk länk till filen /etc/krb5.conf:

```command
rm -f /var/lib/samba/private/krb5.conf
ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf
```

Aktivera Samba så att det startar automatiskt vid nästa omstart:

```command
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl disable samba winbind nmbd smbd
systemctl mask samba winbind nmbd smbd
```

### Starta om datorn

Efter omstarten ska du kontrollera att Kerberos är korrekt konfigurerat och att du får ett TGT:

```command
kinit administrator
klist
```

#### Testa DNS

```command
dig @localhost google.fr
dig @localhost dc01.yourdomain.com
dig -t SRV @localhost _ldap._tcp.yourdomain.com
```

### Installera och konfigurera NTP för Samba-AD

Installera NTP-paketen och välj en tidsserver på Internet:

```command
apt install chrony
echo 'server 0.pool.ntp.org iburst' > /etc/chrony/sources.d/org-ntp-server.sources
echo 'server 1.pool.ntp.org iburst' >> /etc/chrony/sources.d/org-ntp-server.sources
echo 'server 2.pool.ntp.org iburst' >> /etc/chrony/sources.d/org-ntp-server.sources
echo 'allow 10.115.100.0/24' > /etc/chrony/conf.d/ad-dc.conf
echo 'ntpsigndsocket  /var/lib/samba/ntp_signd' >> /etc/chrony/conf.d/ad-dc.conf
echo 'hwclockfile /etc/adjtime' >> /etc/chrony/conf.d/ad-dc.conf
chronyc reload sources
```

Ändra ägaren till den katalog som innehåller Samba-socketen som används för att autentisera NTP-tjänsten och starta om NTP:

```command
chgrp -R _chrony /var/lib/samba/ntp_signd
systemctl restart chrony
```

### Bind-DLZ

Även om Samba-AD som standard har en egen inbyggd DNS-server rekommenderas det att använda Bind-DLZ.

#### Installera bind

För enkelhetens skull gör så här: `sudo su`

```command
sudo apt install bind9 bind9utils
```

Redigera `sudo vim /etc/bind/named.conf` och lägg till `include "/var/lib/samba/bind-dns/named.conf";`

Ändra avsnittet med inställningar i filen `vim /etc/bind/named.conf.options` (kom ihåg att ändra vidarebefordraren):

```settings
options {
  directory "/var/cache/bind";

  forwarders {
    172.31.1.13;
    172.31.1.15;
    172.31.1.44;
  };
  allow-transfer {
    172.31.1.13;
    172.31.1.15;
    172.31.1.44;
  };
  also-notify {
    172.31.1.13;
    172.31.1.15;
    172.31.1.44;
  };

  allow-query { any; };

  dnssec-validation no;

  auth-nxdomain no;    # conform to RFC1035
  listen-on-v6 { any; };

  tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";

  minimal-responses yes;
};
```

Inaktivera IPv6-bindning i det lokala nätverket i `vim /etc/default/named`:

```settings
# run resolvconf?
RESOLVCONF=no

# startup options for the server
OPTIONS="-4 -u bind"
```

Och `vim /etc/samba/smb.conf`, lägg till följande rad och kommentera ut raden med DNS-vidarebefordrare:

```markdown
# Global parameters
[global]
# dns forwarder = 172.31.1.13
  server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
  idmap_ldb:use rfc2307 = yes
  dns zone transfer clients allow = 172.31.1.13, 172.31.1.15, 172.31.1.44
  netbios name = DC01
  realm = YOURDOMAIN.COM
  server role = active directory domain controller
  workgroup = YOURDOMAIN

[sysvol]
  path = /var/lib/samba/sysvol
  read only = No

[netlogon]
  path = /var/lib/samba/sysvol/yourdomain.com/scripts
  read only = No
```

Skapa två kataloger i /var/lib/samba:

```command
sudo mkdir -p /var/lib/samba/bind-dns/dns
sudo chmod 770 /var/lib/samba/bind-dns
sudo chown -R root:bind /var/lib/samba/bind-dns
sudo chmod -R g+w /var/lib/samba/bind-dns
```

Konfigurera dynamiska uppdateringar av DNS-poster och starta om tjänsterna samba och bind:

```command
samba_upgradedns --dns-backend=BIND9_DLZ
```

Kontrollera den angivna versionen `named -v`

BIND 9.16.37-Debian (version med utökat stöd)

Redigera `sudo vim /var/lib/samba/bind-dns/named.conf` Öppna filen och ta bort kommentartecknen framför modulen för din version av BIND. I mitt fall är det:

```settings
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_16.so";
```

```command
systemctl restart samba-ad-dc
systemctl restart bind9
```

Se till att det är Bind-servern som lyssnar på port 53:

```code
netstat -tapn | grep 53
  tcp     0    0 10.115.100.4:53    0.0.0.0:*    LISTEN      5291/named
```

Testa lokala och rekursiva sökningar:

```command
dig @localhost microsoft.com
dig @localhost srvads.mydomain.lan
dig -t SRV @localhost _ldap._tcp.mydomain.lan
```

### Transport Layer Security

Flytta de certifikat som vi tidigare har genererat och kopierat från CA-servern:

```command
sudo mv ca.crt dc01.* /etc/samba/tls/
sudo chown root:root /etc/samba/tls/*
sudo cp /etc/samba/tls/ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
```

Redigera `vim /etc/samba/smb.conf` och lägg till:

```markdown
[global]
  ...
  tls enabled  = yes
  tls keyfile  = /etc/samba/tls/dc01.key
  tls certfile = /etc/samba/tls/dc01.crt
  tls cafile   = /etc/samba/tls/ca.crt
  ...
```

Starta om Samba och kontrollera TLS:

```markdown
sudo systemctl restart samba-ad-dc.service
sudo openssl s_client -showcerts -connect dc01.yourdomain.com:636 -CAfile /etc/samba/tls/ca.crt
```

### Skapa din AD-struktur (LDAP)

Skapa nytt `ldif` fil `vim ous.ldif`

```markdown
dn: OU=System Accounts,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit

dn: OU=Corporate,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit

dn: OU=External Users,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit

dn: OU=Users,OU=Corporate,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit

dn: OU=Groups,OU=Corporate,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit

dn: OU=Computers,OU=Corporate,DC=yourdomain,DC=com
changetype: add
objectClass: top
objectClass: OrganizationalUnit
```

Importera LDIF till LDAP:

```markdown
sudo ldbadd -H /var/lib/samba/private/sam.ldb ous.ldif
```

### Administration

#### Användare och grupper

```markdown
sudo samba-tool user create --userou='OU=Users,OU=Corporate' \
  --mail-address=emir@yourdomain.com --given-name=Emir --surname=Tucek \
  --initials=ET --nis-domain=yourdomain.com --uid-number=10000 \
  --login-shell=/bin/bash --unix-home=/home/emir --gid-number=10000 emir
sudo samba-tool group add --groupou='OU=Groups,OU=Corporate' \
  --description="Employees" --mail-address=employees@yourdomain.com employees
sudo samba-tool group addmembers employees emir
sudo samba-tool group addmembers "Domain Admins" emir
samba-tool user setpassword emir
sudo samba-tool user setexpiry emir --noexpir
samba-tool group listmembers  "Domain Admins"
sudo samba-tool  user create vmail --userou='OU=System Accounts' \
  --description="Unprivileged user for mail server"
sudo samba-tool user setexpiry vmail --noexpir
```

Testa vmail-användaren

```markdown
ldapsearch -H ldaps://dc01.yourdomain.com:636 -x -D "cn=vmail,ou=System Accounts,dc=yourdomain,dc=com" -W -s base -b "" supportedSASLMechanisms
ldapsearch -H ldaps://dc01.yourdomain.com:636 -x -D 'vmail@yourdomain.com' -W -b 'ou=Corporate,dc=yourdomain,dc=com'
```

#### DNS

Vi rekommenderar att du, i den mån det är möjligt, använder någon av zonerna enligt RFC 1918. Dessa är:

```markdown
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
```

##### PTR-zoner

```markdown
samba-tool dns zonecreate dc01.yourdomain.com 168.192.in-addr.arpa
samba-tool dns zonecreate dc01.yourdomain.com 16.172.in-addr.arpa
samba-tool dns zonecreate dc01.yourdomain.com 10.in-addr.arpa
```

##### Skapa poster

```markdown
samba-tool dns add dc01.yourdomain.com yourdomain.com mail A 10.115.100.6
samba-tool dns add dc01.yourdomain.com 10.in-addr.arpa 5.100.115 PTR dc01.yourdomain.com
samba-tool dns delete dc01.yourdomain.com 10.in-addr.arpa 5.100.115 PTR dc01.yourdomain.com
samba-tool dns add dc01.yourdomain.com 10.in-addr.arpa 4.100.115 PTR dc01.yourdomain.com
samba-tool dns add dc01.yourdomain.com 10.in-addr.arpa 5.100.115 PTR dc02.yourdomain.com
```

#### Listningszon

```markdown
samba-tool dns query dc01.yourdomain.com yourdomain.com @ ALL
```

**Samba AD DC försöker starta men misslyckas vid omstart**

Skapa katalog `sudo mkdir /etc/systemd/system/samba-ad-dc.service.d`

Kör `sudo systemctl edit samba-ad-dc` och lägg till:

```settings
# /etc/systemd/system/samba-ad-dc.service.d/override.conf
[Unit]
After=network.target network-online.target bind9.service
```

---

## Navigation

- Parent: [Fabrik](https://tucek.me/sv/tech/servers.md)
- Previous: [CA-server med Easy-RSA](https://tucek.me/sv/tech/servers/ca.md)
- Next: [dc02](https://tucek.me/sv/tech/servers/dc02.md)
