Kusambaza VPN kwenye Seva zisizo na Kiolesura cha Picha
FreeGuard CLI inafanya kazi asili kwenye seva za Linux zisizo na kiolesura cha picha bila kuhitaji mazingira ya eneo-kazi. Iwe unalinda mfano wa wingu, kulinda maabara ya nyumbani, au kuelekeza trafiki ya kontena kupitia VPN, mwongozo huu unashughulikia usakinishaji, uthibitishaji, usanidi wa huduma na ufuatiliaji kwa usambazaji wa seva za uzalishaji.

Kusambaza VPN kwenye Seva zisizo na Kiolesura cha Picha

FreeGuard CLI inafanya kazi asili kwenye seva za Linux zisizo na kiolesura cha picha bila kuhitaji mazingira ya eneo-kazi. Iwe unalinda mfano wa wingu, kulinda maabara ya nyumbani, au kuelekeza trafiki ya kontena kupitia VPN, mwongozo huu unashughulikia usakinishaji, uthibitishaji, usanidi wa huduma na ufuatiliaji kwa usambazaji wa seva za uzalishaji.

Kwa nini Kuendesha VPN kwenye Seva?

Seva zinashughulikia trafiki nyeti: miunganisho ya hifadhidata, simu za API, uhamishaji wa nakala rudufu, na mawasiliano kati ya huduma. Kuendesha VPN kwenye seva yenyewe kunahakikisha trafiki yote inayotoka imesimbwa bila kusanidi programu binafsi.

Matumizi ya kawaida:

  • Mifano ya wingu inayofikia API zilizozuiwa kijiografia
  • Waendesha CI/CD wanaohitaji utambulisho thabiti wa mtandao
  • Huduma zilizojihifadhi zinazofaidika na uficho wa IP
  • Seva za maendeleo zinazotumiwa na timu zilizosambazwa

Usakinishaji

Ubuntu / Debian

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

Au sakinisha kutoka hazina ya 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

Au tumia hazina ya 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

Watumiaji wa Alpine wanaweza kuhitaji kusakinisha libc6-compat kwanza:

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

Thibitisha Usakinishaji

freeguard --version

Uthibitishaji bila Kiolesura cha Picha

Kwenye seva zisizo na kivinjari, huwezi kutumia mtiririko wa kuingia wa OAuth chaguomsingi. FreeGuard CLI hutoa uthibitishaji kupitia barua pepe kwa mazingira yasiyo na kiolesura cha picha.

Kuingia kwa Barua Pepe

freeguard login --method email

CLI inakuomba kuingiza barua pepe ya akaunti yako. Nambari ya uthibitishaji inatumwa kwa anwani hiyo. Ingiza nambari kwenye terminal ili kukamilisha uthibitishaji.

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

Kuingia kwa Tokeni

Kwa usambazaji otomatiki, tumia tokeni ya huduma:

freeguard login --method token --token YOUR_SERVICE_TOKEN

Tengeneza tokeni za huduma kutoka dashibodi ya akaunti yako. Tokeni zinaweza kupunguzwa kwa seva maalum na kuwa na muda wa kumalizika unaoweza kusanidiwa.

Thibitisha Uthibitishaji

freeguard status --json | jq '.authenticated'

Kuendesha kama Huduma ya systemd

Kwa usambazaji wa uzalishaji, endesha FreeGuard CLI kama huduma ya systemd ili ianze wakati wa boot na ianze tena inaposhindwa.

Unda Faili ya Huduma

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

Wezesha na Anza

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

Angalia Hali ya Huduma

sudo systemctl status freeguard

Tazama Kumbukumbu

sudo journalctl -u freeguard -f

Kuandika Hati na --json na --no-color

Hati za uzalishaji zinapaswa kuchambua matokeo yaliyopangwa badala ya maandishi yanayosomeka na binadamu.

Matokeo ya JSON

Kila amri inasaidia --json:

# Connection status
freeguard status --json

Matokeo:

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

Hali bila Rangi

Ondoa nambari za rangi za ANSI kwa faili safi za kumbukumbu:

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

Mfano wa Hati

Hati ya ukaguzi wa afya inayounganisha tena inaposhindwa:

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

Ongeza kwenye cron kwa ukaguzi wa mara kwa mara:

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

Ufuatiliaji na Ukaguzi wa Afya

Ukaguzi wa Afya wa Msingi

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

Inarudisha true au false. Rahisi kutosha kwa mfumo wowote wa ufuatiliaji.

Ujumuishaji na Zana za Ufuatiliaji

Hamisha hali kwa Prometheus, Datadog au mfumo wowote wa ufuatiliaji unaoweza kutekeleza amri za shell:

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

Tahadhari

Changanya ukaguzi wa afya na mfumo wako wa tahadhari. Mfano na webhook rahisi:

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

Mazingatio ya Usalama

  • Endesha kama root: Handaki ya VPN inahitaji mamlaka ya root kubadilisha njia za mtandao. Huduma ya systemd inaendesha kama root kwa chaguomsingi.
  • Uhifadhi wa tokeni: Tokeni za huduma zimehifadhiwa katika ~/.config/freeguard/. Hakikisha ruhusa sahihi za faili (chmod 600).
  • Sheria za kinga ya moto: Ikiwa unatumia UFW au iptables, hakikisha kiolesura cha handaki ya VPN kimeruhusiwa.
  • Kill switch: Wezesha kill switch kuzuia trafiki yote ikiwa VPN itakatika: freeguard config set kill-switch true.

Hatua Zifuatazo

Imesasishwa mwisho: Machi 2026