הקמת שרת VPN מסוג WireGuard לגישת עובדים מרחוק

עובדים עובדים מהבית, ורשת החברה לא עומדת בעומס ומאטה? אנחנו מקימים שרת WireGuard VPN לגישה מרחוק מהירה ומאובטחת למשאבי החברה. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד הטמעה, עם תמיכה מתמשכת, כך שהעובדים שלכם עובדים באמינות ללא עיכובים.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

תארו לעצמכם: 50 עובדים עובדים מרחוק, אבל הרשת הארגונית בנויה על OpenVPN — היא איטית, הלקוחות מתנתקים כל הזמן, והרישיונות עולים כסף. הפתרון הוא WireGuard. אנו פורסים שרתי VPN של WireGuard לגישה מרחוק מאובטחת לתשתית הארגונית. במשך יותר מ-5 שנים, השלמנו פרויקטים עבור יותר מ-50 חברות, מסטארטאפים ועד ארגונים עם מאות עובדים. WireGuard הוא פרוטוקול מודרני המובנה בליבת לינוקס, שעולה על OpenVPN ו-IPSec גם בביצועים וגם בפשטות.

למה אנחנו בוחרים ב-WireGuard על פני VPN מיושנים

המהנדסים שלנו עברו ל-WireGuard מזמן. הסיבה היא קוד המקור: כ-4000 שורות לעומת 400,000 עבור OpenVPN. זה לא רק משפר את האבטחה (משטח תקיפה קטן יותר) אלא גם את המהירות. WireGuard פועל במרחב הליבה, משתמש ב-ChaCha20-Poly1305 וב-Curve25519 — על שרתים מודרניים הוא מספק עד 2 Gbps לכל ליבה. לשם השוואה: OpenVPN על אותם משאבים מניב כ-300 Mbps. התוצאה: משתמשים לא שמים לב לעיכובים בעבודה עם 1C, Bitrix24 או אחסון קבצים. החיסכון ברישיונות VPN מסחריים מגיע ל-70%.

איך אנחנו מקימים שרת WireGuard VPN במפתח מלא

התקנה ויצירת מפתחות

# Ubuntu 20.04+, Debian 11+ apt install wireguard
# Генерация ключей сервера
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
chmod 600 /etc/wireguard/server.key
# Ключи для первого клиента
wg genkey | tee /etc/wireguard/client1.key | wg pubkey > /etc/wireguard/client1.pub

תצורת שרת

# /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <содержимое server.key>
# Включить форвардинг и NAT для клиентов (если нужен выход в интернет)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
# Клиент 1
[Peer]
PublicKey = <содержимое client1.pub>
AllowedIPs = 10.10.0.2/32
# Клиент 2
[Peer]
PublicKey = <содержимое client2.pub>
AllowedIPs = 10.10.0.3/32
# Включить IP forwarding
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/99-wg.conf
sysctl -p /etc/sysctl.d/99-wg.conf
# Поднять интерфейс и добавить в автозапуск
systemctl enable --now wg-quick@wg0

תצורת לקוח

# /etc/wireguard/wg0.conf (на клиенте)
[Interface]
Address = 10.10.0.2/32
PrivateKey = <содержимое client1.key>
DNS = 10.10.0.1 # DNS через VPN (опционально)

[Peer]
PublicKey = <содержимое server.pub>
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0 # Весь трафик через VPN
# Или только корпоративная подсеть:
# AllowedIPs = 10.0.0.0/8, 172.16.0.0/12
PersistentKeepalive = 25 # Держать NAT-отверстие открытым

# Ubuntu 20.04+, Debian 11+ apt install wireguard # Генерация ключей сервера wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub chmod 600 /etc/wireguard/server.key # Ключи для первого клиента wg genkey | tee /etc/wireguard/client1.key | wg pubkey > /etc/wireguard/client1.pub חשוב ללקוחות מאחורי NAT (מחשבים ניידים, מכשירים ניידים). בלעדיו, החיבור נופל בזמן חוסר פעילות — רשומת ה-NAT פגה.

ניהול עמיתים ללא הפעלה מחדש

# Добавить нового клиента на лету
wg set wg0 peer <pubkey-нового-клиента> allowed-ips 10.10.0.10/32
# Сохранить изменения в конфиг
wg-quick save wg0
# Удалить клиента
wg set wg0 peer <pubkey> remove
# Статус всех подключений
wg show

# /etc/wireguard/wg0.conf [Interface] Address = 10.10.0.1/24 ListenPort = 51820 PrivateKey = <содержимое server.key> # Включить форвардинг и NAT для клиентов (если нужен выход в интернет) PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE # Клиент 1 [Peer] PublicKey = <содержимое client1.pub> AllowedIPs = 10.10.0.2/32 # Клиент 2 [Peer] PublicKey = <содержимое client2.pub> AllowedIPs = 10.10.0.3/32 מציג את זמן לחיצת היד האחרונה עבור כל עמית — נוח לראות מי מחובר כרגע.

איך להפוך פריסת לקוחות WireGuard המונית לאוטומטית

אנו משתמשים בסקריפטים ליצירת תצורות מתבניות. עבור מאה עובדים, אנו מכינים playbook של Ansible: הוא יוצר מפתחות, מרכיב תצורות ושולח אותן בדוא"ל או בפורטל הארגוני. התהליך:

  1. מלאי — רשימת עובדים עם תת-הרשתות שלהם.
  2. יצירת מפתחות — # Включить IP forwarding echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/99-wg.conf sysctl -p /etc/sysctl.d/99-wg.conf # Поднять интерфейс и добавить в автозапуск systemctl enable --now wg-quick@wg0 .
  3. הרכבת תצורה — החלפת המפתח הציבורי של השרת והמפתח הפרטי של הלקוח בתבנית.
  4. הפצה — דרך מאגר Git פנימי או סקריפט הפצה.

זה מצמצם פעולות ידניות למינימום ומבטל שגיאות בהעתקת מפתחות. אנו מאחסנים תצורות ב-Git, מה שמאפשר מעקב אחר שינויים וחזרה לאחור במקרה של שגיאות — למעשה GitOps עבור VPN. לשילוב עם Active Directory, אנו משתמשים בסקריפטים שיוצרים מפתחות על בסיס קבוצות משתמשים.

איך לנטר WireGuard דרך Prometheus?

לאיסוף מדדים, אנו משתמשים ב-# /etc/wireguard/wg0.conf (на клиенте) [Interface] Address = 10.10.0.2/32 PrivateKey = <содержимое client1.key> DNS = 10.10.0.1 # DNS через VPN (опционально) [Peer] PublicKey = <содержимое server.pub> Endpoint = vpn.example.com:51820 AllowedIPs = 0.0.0.0/0 # Весь трафик через VPN # Или только корпоративная подсеть: # AllowedIPs = 10.0.0.0/8, 172.16.0.0/12 PersistentKeepalive = 25 # Держать NAT-отверстие открытым . הוא מייצא את מספר העמיתים, הנתונים שהועברו וזמן לחיצת היד האחרונה. ב-Grafana, אנו מגדירים לוח מחוונים: עמיתים ירוקים (לחיצת יד < 2 דקות), צהובים (2–5 דקות), אדומים (>5 דקות). זה מספק נראות מיידית של מצב ה-VPN. אנו מגדירים את Alertmanager על בסיס SLO: אם לחיצת יד לא התרחשה תוך 2 דקות, נשלחת התראה; ה-MTTR מצטמצם ל-5 דקות הודות ל-runbook מוכן. אם אתם צריכים ניטור VPN, צרו קשר — אנו נקים Prometheus ו-Grafana למשימות שלכם.

בעיות נפוצות והפתרונות שלהן

לקוחות מאחורי NAT מאבדים חיבור — הוסיפו PersistentKeepalive = 25 ובדקו את שרשרת iptables FORWARD. מהירות איטית בנפחים גדולים — אנו ממליצים להגדיר MTU ל-1420 ולבדוק עומס CPU על השרת. התנגשות תת-רשת — אם הרשת הארגונית משתמשת ב-10.0.0.0/8, החליפו את רשת ה-VPN לאחרת, למשל 172.16.0.0/12. עבור Kubernetes, אנו משתמשים ב-containers צדדיים של WireGuard לגישה מאובטחת לשרת ה-API.

מה כלול בהתקנת WireGuard

רכיב תיאור
בדיקת רשת נוכחית בדיקת ניתוב, חומת אש, NAT — ביטול התנגשויות
התקנה ותצורת שרת WireGuard, העברת מנות, חומת אש, הפעלה אוטומטית
יצירת מפתחות וסקריפטים ליצירת לקוחות המונית (מאות עובדים)
תצורות לקוח הגדרה לכל המכשירים: Linux, Windows, macOS, Android, iOS
תיעוד והדרכה הוראות למשתמשים ומנהלים, runbook לתמיכה
ניטור והתראות Prometheus + Grafana + Alertmanager (אופציונלי)
אחריות ביצועים בדיקת קישוריות, בדיקות מהירות, ניטור דרך Prometheus

אנו מעריכים את הפרויקט ביום עסקים אחד. לוחות זמנים: משעתיים עד יומיים בהתאם להיקף. הזמינו ייעוץ — מהנדס ינתח את התשתית שלכם ויציע את הפתרון האופטימלי.

לוחות זמנים

משימה זמן
שרת + כמה לקוחות 2–4 שעות
חלק שרת + סקריפטים ליצירת לקוחות 4–8 שעות

התמחור מחושב באופן אישי לאחר בדיקת תשתית. קבלו ייעוץ — נשלח לכם הערכה מדויקת.