Namestitev VPN na strežnikih brez grafičnega vmesnika
FreeGuard CLI deluje nativno na strežnikih Linux brez grafičnega vmesnika, brez potrebe po namiznem okolju. Ne glede na to, ali varujete oblačno instanco, ščitite domači laboratorij ali usmerjate promet vsebnikov prek VPN, ta vodnik pokriva namestitev, avtentikacijo, konfiguracijo storitve in nadzor za produkcijske namestitve na strežnikih.
Zakaj poganjati VPN na strežniku?
Strežniki obdelujejo občutljiv promet: povezave z bazami podatkov, klice API, prenose varnostnih kopij in komunikacijo med storitvami. Poganjanje VPN na strežniku samem zagotavlja, da je ves izhodni promet šifriran brez konfiguriranja posameznih aplikacij.
Pogosti primeri uporabe:
- Oblačne instance, ki dostopajo do geografsko omejenih API-jev
- CI/CD tekači, ki potrebujejo dosledno omrežno identiteto
- Samo-gostovane storitve, ki imajo korist od prikrivanja IP
- Razvojni strežniki, ki jih uporabljajo porazdeljene ekipe
Namestitev
Ubuntu / Debian
curl -fsSL https://cli.freeguard.com/install.sh | bash
Ali namestite iz repozitorija APT:
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
Ali uporabite repozitorij RPM:
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
Uporabniki Alpine bodo morda morali najprej namestiti libc6-compat:
apk add libc6-compat
curl -fsSL https://cli.freeguard.com/install.sh | bash
Preverjanje namestitve
freeguard --version
Avtentikacija brez grafičnega vmesnika
Na strežnikih brez brskalnika ne morete uporabiti privzetega toka prijave OAuth. FreeGuard CLI zagotavlja avtentikacijo prek e-pošte za okolja brez grafičnega vmesnika.
Prijava z e-pošto
freeguard login --method email
CLI vas pozove k vnosu e-pošte računa. Na ta naslov se pošlje potrditvena koda. Vnesite kodo v terminal za dokončanje avtentikacije.
$ freeguard login --method email
Enter your email: [email protected]
Verification code sent. Check your inbox.
Enter code: 483291
Login successful.
Prijava z žetonom
Za avtomatizirane namestitve uporabite storitveni žeton:
freeguard login --method token --token YOUR_SERVICE_TOKEN
Ustvarite storitvene žetone na nadzorni plošči računa. Žetoni so lahko omejeni na določene strežnike in imajo nastavljiv rok veljavnosti.
Preverjanje avtentikacije
freeguard status --json | jq '.authenticated'
Poganjanje kot storitev systemd
Za produkcijske namestitve poganjajte FreeGuard CLI kot storitev systemd, da se zažene ob zagonu in znova zažene ob napaki.
Ustvarjanje datoteke storitve
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
Omogočanje in zagon
sudo systemctl daemon-reload
sudo systemctl enable freeguard
sudo systemctl start freeguard
Preverjanje stanja storitve
sudo systemctl status freeguard
Ogled dnevnikov
sudo journalctl -u freeguard -f
Skriptiranje z --json in --no-color
Produkcijski skripti naj razčlenjujejo strukturiran izhod namesto besedila, berljivega za človeka.
Izhod JSON
Vsak ukaz podpira --json:
# Connection status
freeguard status --json
Izhod:
{
"connected": true,
"server": "us-east-1",
"server_name": "New York",
"protocol": "hysteria2",
"uptime": 86400,
"bytes_sent": 1048576,
"bytes_received": 5242880
}
Način brez barv
Odstranite barvne kode ANSI za čiste dnevniške datoteke:
freeguard status --no-color >> /var/log/freeguard-status.log
Primer skriptiranja
Skript za preverjanje zdravja, ki se ob napaki znova poveže:
#!/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
Dodajte v cron za redne preglede:
# Check VPN health every 5 minutes
*/5 * * * * /opt/scripts/freeguard-health.sh
Nadzor in preverjanje zdravja
Osnovno preverjanje zdravja
freeguard status --json | jq -r '.connected'
Vrne true ali false. Dovolj preprosto za kakršenkoli nadzorni sistem.
Integracija z orodji za nadzor
Izvozite stanje v Prometheus, Datadog ali kateri koli nadzorni sistem, ki lahko izvaja ukaze lupine:
#!/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
Opozorila
Združite preverjanje zdravja z vašim sistemom opozoril. Primer s preprostim 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
Varnostni vidiki
- Poganjanje kot root: Tunel VPN zahteva pravice root za spreminjanje omrežnih poti. Storitev systemd privzeto deluje kot root.
- Shranjevanje žetonov: Storitveni žetoni so shranjeni v
~/.config/freeguard/. Zagotovite ustrezna dovoljenja datotek (chmod 600). - Pravila požarnega zidu: Če uporabljate UFW ali iptables, zagotovite, da je vmesnik tunela VPN dovoljen.
- Kill switch: Omogočite kill switch za blokiranje vsega prometa, če se VPN prekine:
freeguard config set kill-switch true.
Naslednji koraki
- FreeGuard CLI — popolna referenca ukazov
- Vodnik po razvojnem poteku dela — integrirajte VPN v svoja razvojna orodja
- Cene — namestitve na strežnikih delujejo s katerimkoli načrtom
Zadnja posodobitev: marec 2026