WireGuard הוא יישום VPN עכשווי, מאובטח, רוחב-פלטפורמה ובעל מטרה כללית שמשתמש בקריפטוגרפיה מתקדמת. הוא שואף להיות מהיר, פשוט יותר, רזה יותר ופונקציונלי יותר מ-IPsec ומתכוון להיות ביצועי יותר מ-OpenVPN.
הוא מעוצב לשימוש בנסיבות שונות וניתן להפעילו על ממשקים מוטמעים, נתבים עם עומס מלא וגם על סופרמחשבים; והוא פועל על מערכות ההפעלה Linux, Windows, macOS, BSD, iOS, ו-Android.
קריאה מומלצת: 13 שירותי VPN הטובים ביותר עם מנוי לכל החיים
הוא מציג ממשק מאוד בסיסי אך חזק ששואף להיות פשוט, קל להגדרה ולהפעלה כמו SSH. התכונות המרכזיות שלו כוללות ממשק רשת פשוט, ניתוב מפתחות קריפטוגרפיים, תמיכה ברומינג מובנה ותמיכה במיכלים.
שימו לב שבזמן כתיבת שורות אלו, הוא נמצא בפיתוח עז: חלקים ממנו עובדים לקראת גרסה יציבה 1.0, בעוד אחרים כבר שם (עובדים טוב).
במאמר זה תלמדו כיצד להתקין ולהגדיר WireGuard ב-Linux כדי ליצור מנהרת VPN בין שני מארחים של Linux.
סביבת בדיקה
עבור המדריך הזה, ההגדרה שלנו (שם מחשב ו-IP ציבורי) היא כדלקמן:
Node 1 : tecmint-appserver1: 10.20.20.4 Node 2 : tecmint-dbserver1: 10.20.20.3
איך להתקין את WireGuard בהפצות Linux
התחברו לשני הצמתים שלכם והתקינו את WireGuard באמצעות הפקודה המתאימה הבאה עבור ההפצות של Linux שלכם כך:
התקנת WireGuard ב-RHEL 8
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm $ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms $ sudo yum copr enable jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools
התקנת WireGuard ב-CentOS 8
$ sudo yum install epel-release $ sudo yum config-manager --set-enabled PowerTools $ sudo yum copr enable jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools
התקנת WireGuard ב-RHEL/CentOS 7
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo $ sudo yum install wireguard-dkms wireguard-tools
התקנת WireGuard ב-Fedora
$ sudo dnf install wireguard-tools
התקנת WireGuard ב-Debian
# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list # printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable # apt update # apt install wireguard
התקנת WireGuard ב-Ubuntu
$ sudo add-apt-repository ppa:wireguard/wireguard $ sudo apt-get update $ sudo apt-get install wireguard
התקנת WireGuard ב-OpenSUSE
$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard $ sudo zypper install wireguard-kmp-default wireguard-tools
הגדרת טונל VPN של WireGuard בין שני מארחי Linux
כאשר ההתקנה של wireguard הושלמה בשני הצמתים, תוכלו לאתחל את הצמתים שלכם או להוסיף את מודול ה-wireguard מלבני ה-Linux באמצעות הפקודה הבאה בשני הצמתים.
$ sudo modprobe wireguard OR # modprobe wireguard
בשלב הבא, יש ליצור מפתחות ציבוריים ופרטיים בפורמט base64 באמצעות כלי ה-wg בשני הצמתים כפי שמוצג.
---------- On Node 1 ---------- $ umask 077 $ wg genkey >private_appserver1 ---------- On Node 2 ---------- $ umask 077 $ wg genkey >private_dbserver1 $ wg pubkey < private_dbserver1

לאחר מכן, עליכם ליצור ממשק רשת (לדוגמה wg0) עבור wireguard בצמתים ולהקצות כתובות IP לממשק הרשת החדש שנוצר (למדריך זה, נשתמש ברשת 192.168.10.0/24).
---------- On Node 1 ---------- $ sudo ip link add dev wg0 type wireguard $ sudo ip addr add 192.168.10.1/24 dev wg0 ---------- On Node 2 ---------- $ sudo ip link add dev wg0 type wireguard $ sudo ip addr add 192.168.10.2/24 dev wg0
כדי להציג את ממשקי הרשת המחוברים בצמתים ואת כתובות ה-IP שלהם, יש להשתמש בפקודת IP.
$ ip ad

לאחר מכן, יש להקצות את המפתח הפרטי לכל צמת לממשק הרשת wg0 ולהפעיל את הממשק כפי שמוצג.
---------- On Node 1 ---------- $ sudo wg set wg0 private-key ./private_appserver1 $ sudo ip link set wg0 up ---------- On Node 2 ---------- $ sudo wg set wg0 private-key ./private_dbserver1 $ sudo ip link set wg0 up
עכשיו ששני הקישורים פעילים עם מפתחות פרטיים הקשורים אליהם, הפעל את כלי wg בלי ארגומנטים כדי לאחזר את התצורה של ממשקי ה- WireGuard בין העמיתים. לאחר מכן צור את הטונל שלך באמצעות WireGuard כך:
העמית (מפתח ציבורי), allowed-ips (רשת/מסכת רשת) ו־endpoint (כתובת ציבורית:פורט) הם של העמית הנגדי.
---------- On Node1 (Use the IPs and Public Key of Node 2) ---------- $ sudo wg $ sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24 endpoint 10.20.20.3:54371 ---------- On Node2 (Use the IPs and Public Key of Node 1) ---------- $ sudo wg $ sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint 10.20.20.4:42930

בדיקת טונל VPN של WireGuard בין מערכות Linux
לאחר שהטונל VPN של WireGuard נוצר, הפעל פינג לעמית הנגדי באמצעות כתובת ממשק הרשת של WireGuard. לאחר מכן, הפעל את כלי wg שוב כדי לאשר קשר יד ליד בין העמיתים כפי שמוצג.
---------- On Node 1 ---------- $ ping 192.168.10.2 $ sudo wg ---------- On Node 2 ---------- $ ping 192.168.10.1 $ sudo wg

זהו לעכשיו! WireGuard הוא פתרון VPN מודרני, מאובטח, פשוט ועוצמתי אך קל לתפעול לעתיד. הוא נמצא בפיתוח כבד ולכן הוא עובד תוך כדי. ניתן לקבל מידע נוסף בעיקר על פרטי התצורה הפנימיים ואפשרויות תצורה אחרות מהדף הבית של WireGuard.
Source:
https://www.tecmint.com/wireguard-secure-vpn-tunnel-for-linux/