Setja upp VPN á höfuðlausum þjónum
FreeGuard CLI keyrir innbyggt á höfuðlausum Linux þjónum án þess að þurfa skjáborðsumhverfi. Hvort sem þú ert að tryggja skýjatilvik, vernda heimarannsóknarstofu eða beina gámaaumferð gegnum VPN, nær þessi leiðarvísir yfir uppsetningu, auðkenningu, þjónustustillingar og eftirlit fyrir framleiðsluþjónauppsetningar.

Setja upp VPN á höfuðlausum þjónum

FreeGuard CLI keyrir innbyggt á höfuðlausum Linux þjónum án þess að þurfa skjáborðsumhverfi. Hvort sem þú ert að tryggja skýjatilvik, vernda heimarannsóknarstofu eða beina gámaaumferð gegnum VPN, nær þessi leiðarvísir yfir uppsetningu, auðkenningu, þjónustustillingar og eftirlit fyrir framleiðsluþjónauppsetningar.

Af hverju að keyra VPN á þjóni?

Þjónar meðhöndla viðkvæma umferð: gagnagrunnstengingar, API-köll, öryggisafritaflutning og samskipti milli þjónusta. Að keyra VPN á þjóninum sjálfum tryggir að öll útleiðarumferð sé dulkóðuð án þess að stilla einstök forrit.

Algeng notkunartilvik:

  • Skýjatilvik sem fá aðgang að landfræðilega takmörkuðum API-um
  • CI/CD keyrsluforrit sem þurfa samræmda netauðkenni
  • Sjálfshýst þjónusta sem nýtur góðs af IP-feluun
  • Þróunarþjónar sem dreifð teymi nota

Uppsetning

Ubuntu / Debian

curl -fsSL https://cli.freeguard.com/install.sh | bash

Eða setja upp úr APT gagnageymslu:

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

Eða nota RPM gagnageymsluna:

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

Alpine notendur gætu þurft að setja upp libc6-compat fyrst:

apk add libc6-compat
curl -fsSL https://cli.freeguard.com/install.sh | bash

Staðfesta uppsetningu

freeguard --version

Höfuðlaus auðkenning

Á þjónum án vafra geturðu ekki notað sjálfgefna OAuth innskráningarflæðið. FreeGuard CLI býður upp á tölvupósts-auðkenningu fyrir höfuðlaus umhverfi.

Tölvupóstsinnskráning

freeguard login --method email

CLI biður þig um að slá inn tölvupóst reikningsins. Staðfestingarkóði er sendur á þetta netfang. Sláðu inn kóðann í skipanalínu til að ljúka auðkenningu.

$ freeguard login --method email
Enter your email: [email protected]
Verification code sent. Check your inbox.
Enter code: 483291
Login successful.

Innskráning með tóka

Fyrir sjálfvirkar uppsetningar, notaðu þjónustutóka:

freeguard login --method token --token YOUR_SERVICE_TOKEN

Búðu til þjónustutóka frá stjórnborðinu þínu. Tókar geta verið takmarkaðir við ákveðna þjóna og hafa stillanlegan gildistíma.

Staðfesta auðkenningu

freeguard status --json | jq '.authenticated'

Keyra sem systemd þjónustu

Fyrir framleiðsluuppsetningar, keyrðu FreeGuard CLI sem systemd þjónustu svo hún ræsist við upphaf og endurræsist við bilun.

Búa til þjónustuskrá

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

Virkja og ræsa

sudo systemctl daemon-reload
sudo systemctl enable freeguard
sudo systemctl start freeguard

Athuga stöðu þjónustu

sudo systemctl status freeguard

Skoða annála

sudo journalctl -u freeguard -f

Skriftun með --json og --no-color

Framleiðsluskriftur ættu að þátta skipulagt úttak frekar en mannlesanlegan texta.

JSON úttak

Sérhver skipun styður --json:

# Connection status
freeguard status --json

Úttak:

{
  "connected": true,
  "server": "us-east-1",
  "server_name": "New York",
  "protocol": "hysteria2",
  "uptime": 86400,
  "bytes_sent": 1048576,
  "bytes_received": 5242880
}

Litalaust ham

Fjarlægðu ANSI litakóða fyrir hreinar annálaskrár:

freeguard status --no-color >> /var/log/freeguard-status.log

Dæmi um skriftun

Heilsuathugunarskrift sem endurtengist við bilun:

#!/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

Bættu við cron fyrir reglulegar athuganir:

# Check VPN health every 5 minutes
*/5 * * * * /opt/scripts/freeguard-health.sh

Eftirlit og heilsuathuganir

Grunnheilsuathugun

freeguard status --json | jq -r '.connected'

Skilar true eða false. Nógu einfalt fyrir hvaða eftirlitskerfi sem er.

Samþætting við eftirlitsverkfæri

Flytja stöðu út í Prometheus, Datadog eða eitthvert eftirlitskerfi sem getur keyrt shell skipanir:

#!/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

Viðvaranir

Sameinaðu heilsuathugunina við viðvörunarkerfi þitt. Dæmi með einföldu webhook:

#!/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

Öryggisatriði

  • Keyra sem root: VPN göngin þarfnast root heimilda til að breyta netslóðum. Systemd þjónustan keyrir sem root sjálfgefið.
  • Geymsla tóka: Þjónustutókar eru geymdir í ~/.config/freeguard/. Tryggðu viðeigandi skráaheimildir (chmod 600).
  • Eldveggsreglur: Ef þú notar UFW eða iptables, tryggðu að VPN göngutengi sé leyft.
  • Kill switch: Virkjaðu kill switch til að loka allri umferð ef VPN aftengist: freeguard config set kill-switch true.

Næstu skref

Síðast uppfært: mars 2026