Introduktion

Syftet är att bekanta oss med Oderland Cloud (eller Virtuozzo Hybrid Infrastructure/VHI som det heter utan re-branding) tillsammans med våra guider, grundläggande installation och setup av Arch Linux, samt hur man drar igång en docker image för AdGuard - som vi avslutningsvis gör ett hostuppslag mot.

Använd guiderna på vår supportsida som navigation för de olika momenten i Oderland Cloud/VHI.

Arch Linux till VHI

Konfigurera setup i VHI

Logga in på ditt Oderland Cloud-konto eller skapa upp ett om du inte har ett sedan tidigare.

Skapa en ny server, välj uppladdad image, ge instansen en volume på 32GB och Flavor på 1vCPU + 2 GiB RAM. Välj nätverk och UEFI-boot. Klicka Deploy för att starta igång maskineriet.

Installation via archinstall

För enkelhetens skull använder vi ett inkluderat installationsskript som följer med installationsmediet. Detta för att slippa huvudvärken av att någon detalj missas följt av en massa felsökning.

Kom igång genom att köra följande kommando i konsolen:

archinstall
Här vill vi göra följande val (och hoppa över de som inte nämns):

Välj Install och låt installationen tugga klart. När installationen är slutförd kan vi välja reboot.

Skapa och anslut med SSH-nyckel

Skapa ett lokalt nyckelpar på din dator:

ssh-keygen -t ed25519 -f ~/.ssh/[tydligt_namn_på_nyckelpar]
För smidighetens skull kan du hoppa över att ange ett lösenord för nycklarna genom att bara klicka enter vid lösenordsförfrågan utan att skriva in något.

Granska den publika nyckeln:

less ~/.ssh/[ditt_nyckelnamn].pub

Kopiera innehållet i filen och lägg till som en ny nyckel i VHI (finns guide™).

Injicera nyckeln

Logga in via VHI-konsolen med din skapade användare och kör:

sudo cloud-init init
Detta för att få din installation att plocka upp vår uppladdade SSH-nyckel från VHI.

Ifall har gått rätt bör du nu kunna öppna upp en terminal på din lokala dator och ansluta till servern via SSH med följande kommando:

ssh -i ~/.ssh/[nyckelns_namn] [din_user]@[din-server-ip]

Godkänn fingerprint med yes.

Ifall anslutningen fungerar kan du rensa bort all terminal-bös med ctrl + l och fortsätta med nästa del.

Installera och konfigurera AdGuard via Docker

Börja med att hämta Adguards docker-image:

docker pull adguard/adguardhome

Frigör port 53 från systemd-resolved - enligt AdGuards instruktioner. - för att undvika "bind address already in use".

Skapa först konfigurationskatalogen om den saknas:

sudo mkdir -p /etc/systemd/resolved.conf.d

Inaktivera DNSStubListener och sätt DNS till localhost. Skapa filen /etc/systemd/resolved.conf.d/adguardhome.conf (exempelvis med sudo nano) och klistra in följande:

[Resolve]
DNS=127.0.0.1
DNSStubListener=no

Att ange 127.0.0.1 är nödvändigt, annars kvarstår 127.0.0.53 som namnserver vilket kräver en aktiv stub-lyssnare.

Säkerhetskopiera och länka om resolv.conf:

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Verkställ ändringarna genom att starta om tjänsten:

sudo systemctl reload-or-restart systemd-resolved

Skapa sedan mappar och starta containern:

mkdir -p ~/adguard/work ~/adguard/conf

docker run --name adguardhome\
    --restart unless-stopped\
    -v ~/adguard/work:/opt/adguardhome/work\
    -v ~/adguard/conf:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
    -p 853:853/tcp\
    -p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
    -p 5443:5443/tcp -p 5443:5443/udp\
    -d adguard/adguardhome

Verifiering

Gå till http://[din-server-ip]:3000 och slutför installationen. Navigera därefter till Filters -> DNS blocklists -> Add blocklist -> Add a custom list och ange följande URL:

https://workshop.modulaer.se/blocklista

När listan sparats, extrahera lösenordet genom att göra följande uppslag i din lokala terminal:

host -t txt txt.workshop [din-server-ip]

Slutför Workshopen

Ange svaret från ditt host-uppslag för att verifiera konfigurationen.