Nasadenie VPN na serveroch bez grafického rozhrania
FreeGuard CLI beží natívne na headless Linux serveroch bez potreby desktopového prostredia. Či už zabezpečujete cloudovú inštanciu, chránite domáce laboratórium alebo smerujete kontajnerový prenos cez VPN, táto príručka pokrýva inštaláciu, autentifikáciu, konfiguráciu služby a monitorovanie pre produkčné nasadenia na serveroch.
Prečo spustiť VPN na serveri?
Servery spracúvajú citlivú prevádzku: pripojenia k databázam, volania API, prenosy záloh a komunikáciu medzi službami. Spustenie VPN priamo na serveri zabezpečí šifrovanie všetkej odchádzajúcej prevádzky bez konfigurácie jednotlivých aplikácií.
Bežné prípady použitia:
- Cloudové inštancie pristupujúce ku geograficky obmedzeným API
- CI/CD runnery vyžadujúce konzistentnú sieťovú identitu
- Vlastne hostované služby profitujúce z maskovania IP adresy
- Vývojové servery používané distribuovanými tímami
Inštalácia
Ubuntu / Debian
curl -fsSL https://cli.freeguard.com/install.sh | bash
Alebo nainštalujte z APT repozitára:
curl -fsSL https://cli.freeguard.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/freeguard.gpg
echo "deb [signed-by=/usr/share/keyrings/freeguard.gpg] https://apt.freeguard.com stable main" | sudo tee /etc/apt/sources.list.d/freeguard.list
sudo apt update
sudo apt install freeguard-cli
CentOS / RHEL / Fedora
curl -fsSL https://cli.freeguard.com/install.sh | bash
Alebo použite RPM repozitár:
sudo rpm --import https://cli.freeguard.com/gpg.key
sudo tee /etc/yum.repos.d/freeguard.repo <<EOF
[freeguard]
name=FreeGuard CLI
baseurl=https://rpm.freeguard.com/stable
gpgcheck=1
gpgkey=https://cli.freeguard.com/gpg.key
EOF
sudo yum install freeguard-cli
Alpine Linux
curl -fsSL https://cli.freeguard.com/install.sh | bash
Používatelia Alpine môžu najprv potrebovať nainštalovať libc6-compat:
apk add libc6-compat
curl -fsSL https://cli.freeguard.com/install.sh | bash
Overenie inštalácie
freeguard --version
Autentifikácia bez grafického rozhrania
Na serveroch bez prehliadača nemôžete použiť štandardný OAuth prihlasovací tok. FreeGuard CLI poskytuje e-mailovú autentifikáciu pre headless prostredia.
Prihlásenie e-mailom
freeguard login --method email
CLI vás požiada o zadanie e-mailu účtu. Na túto adresu sa odošle overovací kód. Zadajte kód v termináli na dokončenie autentifikácie.
$ freeguard login --method email
Enter your email: [email protected]
Verification code sent. Check your inbox.
Enter code: 483291
Login successful.
Prihlásenie tokenom
Pre automatizované nasadenia použite servisný token:
freeguard login --method token --token YOUR_SERVICE_TOKEN
Vygenerujte servisné tokeny z panela účtu. Tokeny môžu byť obmedzené na konkrétne servery a mať konfigurovateľnú dobu platnosti.
Overenie autentifikácie
freeguard status --json | jq '.authenticated'
Spustenie ako služba systemd
Pre produkčné nasadenia spúšťajte FreeGuard CLI ako službu systemd, aby sa spustila pri štarte a reštartovala pri zlyhaní.
Vytvorenie súboru služby
sudo tee /etc/systemd/system/freeguard.service <<EOF
[Unit]
Description=FreeGuard VPN
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/freeguard connect --server us-east --no-color
ExecStop=/usr/local/bin/freeguard disconnect
Restart=on-failure
RestartSec=10
User=root
[Install]
WantedBy=multi-user.target
EOF
Povolenie a spustenie
sudo systemctl daemon-reload
sudo systemctl enable freeguard
sudo systemctl start freeguard
Kontrola stavu služby
sudo systemctl status freeguard
Zobrazenie logov
sudo journalctl -u freeguard -f
Skriptovanie s --json a --no-color
Produkčné skripty by mali analyzovať štruktúrovaný výstup namiesto textu čitateľného človekom.
JSON výstup
Každý príkaz podporuje --json:
# Connection status
freeguard status --json
Výstup:
{
"connected": true,
"server": "us-east-1",
"server_name": "New York",
"protocol": "hysteria2",
"uptime": 86400,
"bytes_sent": 1048576,
"bytes_received": 5242880
}
Režim bez farieb
Odstráňte ANSI farebné kódy pre čisté log súbory:
freeguard status --no-color >> /var/log/freeguard-status.log
Príklad skriptu
Skript na kontrolu stavu, ktorý sa pri zlyhaní znova pripojí:
#!/bin/bash
STATUS=$(freeguard status --json 2>/dev/null)
CONNECTED=$(echo "$STATUS" | jq -r '.connected')
if [ "$CONNECTED" != "true" ]; then
echo "$(date): VPN disconnected, reconnecting..." >> /var/log/freeguard-health.log
freeguard connect --server us-east --json >> /var/log/freeguard-health.log 2>&1
fi
Pridajte do cronu pre pravidelné kontroly:
# Check VPN health every 5 minutes
*/5 * * * * /opt/scripts/freeguard-health.sh
Monitorovanie a kontroly stavu
Základná kontrola stavu
freeguard status --json | jq -r '.connected'
Vráti true alebo false. Dostatočne jednoduché pre akýkoľvek monitorovací systém.
Integrácia s monitorovacími nástrojmi
Exportujte stav do Prometheus, Datadog alebo akéhokoľvek monitorovacieho systému, ktorý dokáže spúšťať shell príkazy:
#!/bin/bash
# prometheus-exporter.sh
STATUS=$(freeguard status --json)
CONNECTED=$(echo "$STATUS" | jq -r '.connected')
UPTIME=$(echo "$STATUS" | jq -r '.uptime')
if [ "$CONNECTED" = "true" ]; then
echo "freeguard_connected 1"
echo "freeguard_uptime_seconds $UPTIME"
else
echo "freeguard_connected 0"
echo "freeguard_uptime_seconds 0"
fi
Upozornenia
Kombinujte kontrolu stavu s vaším systémom upozornení. Príklad s jednoduchým webhookom:
#!/bin/bash
CONNECTED=$(freeguard status --json | jq -r '.connected')
if [ "$CONNECTED" != "true" ]; then
curl -X POST https://hooks.example.com/alert \
-H "Content-Type: application/json" \
-d '{"text": "FreeGuard VPN disconnected on '"$(hostname)"'"}'
fi
Bezpečnostné aspekty
- Spustenie ako root: VPN tunel vyžaduje root oprávnenia na úpravu sieťových trás. Služba systemd beží ako root v predvolenom nastavení.
- Úložisko tokenov: Servisné tokeny sú uložené v
~/.config/freeguard/. Zabezpečte príslušné oprávnenia súborov (chmod 600). - Pravidlá firewallu: Ak používate UFW alebo iptables, uistite sa, že rozhranie VPN tunela je povolené.
- Kill switch: Aktivujte kill switch na blokovanie všetkej prevádzky pri odpojení VPN:
freeguard config set kill-switch true.
Ďalšie kroky
- FreeGuard CLI — kompletná referencia príkazov
- Príručka vývojárskeho workflow — integrujte VPN do svojich vývojových nástrojov
- Cenník — serverové nasadenia fungujú s akýmkoľvek plánom
Posledná aktualizácia: marec 2026