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
- FreeGuard CLI — full skipanaviðmiðun
- Leiðarvísir fyrir þróunarverkflæði — samþættu VPN í þróunarverkfærin þín
- Verðlag — þjónauppsetningar virka með hvaða áskriftaráætlun sem er
Síðast uppfært: mars 2026