אתם יכולים להגדיר חיבור מנהרת VPN קלאסי בין אתר מקומי לבין Cloud de Confiance by S3NS כך שגם כתובות ה-IP של המקור וגם כתובות ה-IP של היעד יהיו כתובות IP חיצוניות (לא RFC 1918). לדוגמה, אפשר להגדיר חיבור Classic VPN לאתר מרוחק כך שטווח כתובות ה-IP המקומיות לא יתנגש עם כתובת ה-IP של המכונה הווירטואלית Cloud de Confiance .
במדריך הזה נשתמש ב Cloud de Confiance פרויקט, במסוף Cloud de Confiance , במכונה וירטואלית (VM), ב-VPN קלאסי ובכמה פקודות של Linux. כדי לבדוק את החיבור, יוצרים מכונת VM חדשה כדי לשלוח ולקבל תנועה בין מכונת ה-VM לבין עמית מרוחק.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
מפעילים את Compute Engine API, אם הוא עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים- בתחנת העבודה,
מתקינים את כלי שורת הפקודה
gcloud. - מגדירים את כלי שורת הפקודה
gcloudלשימוש בפרויקט. בפקודה הבאה, מחליפים אתPROJECT_IDבמזהה הפרויקט:gcloud config set project PROJECT_ID
- מוודאים שרשתות המשנה המקומיות מחוברות לשער ה-VPN המקומי.
- פועלים לפי ההוראות שבקטע הגדרת שער ה-VPN של העמית כדי להגדיר את שער ה-VPN של העמית בין Cloud de Confiance by S3NS לבין שער ה-VPN המקומי.
שמירת כתובת IP חיצונית סטטית חדשה
ב-Compute Engine, לכל מופע של מכונה וירטואלית יכולים להיות כמה ממשקי רשת. לכל ממשק יכולות להיות כתובות IP פנימיות וחיצוניות. לכללי העברה יכולות להיות כתובות IP חיצוניות לאיזון עומסים חיצוני או כתובות פנימיות לאיזון עומסים פנימי. מידע נוסף על כתובות IP סטטיות זמין במאמר בנושא כתובות IP חיצוניות.
כתובת IP חיצונית סטטית היא כתובת IP ששמורה לפרויקט שלכם עד שתחליטו לשחרר אותה. אם יש לכם כתובת IP שהלקוחות שלכם מסתמכים עליה כדי לגשת לשירות שלכם, אתם יכולים לשריין את כתובת ה-IP הזו כך שרק הפרויקט שלכם יוכל להשתמש בה. אפשר גם להפוך כתובת IP חיצונית ארעית לכתובת IP חיצונית סטטית.
אפשר לשמור שני סוגים של כתובות IP חיצוניות:
- כתובת IP אזורית שמשמשת מכונות וירטואליות עם ממשק רשת אחד או יותר, או מאזני עומסים אזוריים
- כתובת IP גלובלית שמשמשת מאזני עומסים גלובליים
רשימה של מאזני עומסים אזוריים וגלובליים זמינה בסיכום שלCloud de Confiance מאזני עומסים.
שומרים כתובת IP חיצונית סטטית באמצעות Google Cloud CLI או באמצעות ה-API. אחרי ששומרים את כתובת ה-IP, מקצים אותה למכונה חדשה בזמן יצירת המכונה החדשה, או מקצים את כתובת ה-IP למכונה קיימת.
המסוף
עוברים לדף שמירת כתובת סטטית.
בוחרים שם לכתובת החדשה.
מציינים אם זו כתובת IPv4 או IPv6. כתובות IPv6 יכולות להיות גלובליות בלבד, ואפשר להשתמש בהן רק עם איזוני עומסים גלובליים.
מציינים אם כתובת ה-IP הזו היא אזורית או גלובלית. אם אתם שומרים כתובת IP סטטית למכונה וירטואלית או למאזן עומסים אזורי, בוחרים באפשרות אזורי. אם אתם מזמינים כתובת IP סטטית למאזן עומסים גלובלי, בוחרים באפשרות Global.
אם זו כתובת IP אזורית, בוחרים את האזור שבו רוצים ליצור את הכתובת.
אופציונלי: בוחרים משאב לצירוף לכתובת ה-IP.
לוחצים על שמירה כדי לשמור את כתובת ה-IP.
gcloud
כדי לשמור כתובת IP חיצונית סטטית באמצעות gcloud compute, משתמשים בפקודה compute addresses create.
כדי לשמור כתובת IP גלובלית, משתמשים בשדות --global ו--ip-version. בשדה --ip-version, מציינים IPV4 או IPV6. כתובות IPv6 יכולות להיות גלובליות בלבד, ואפשר להשתמש בהן רק עם מאזני עומסים גלובליים.
מחליפים את ADDRESS_NAME בשם של הכתובת.
gcloud compute addresses create ADDRESS_NAME \
--global \
--ip-version [IPV4 | IPV6]כדי לשמור כתובת IP אזורית, משתמשים בשדה --region:
gcloud compute addresses create ADDRESS_NAME \
--region=REGIONמחליפים את מה שכתוב בשדות הבאים:
-
ADDRESS_NAME: השם של הכתובת. -
REGION: האזור שבו רוצים לשריין את הכתובת הזו. האזור הזה צריך להיות זהה לאזור של המשאב שאליו מוקצית כתובת ה-IP. כל כתובות ה-IP האזוריות הן IPv4.
משתמשים בפקודה compute addresses describe כדי לראות את התוצאה:
gcloud compute addresses describe ADDRESS_NAME
API
כדי ליצור כתובת IPv4 אזורית, קוראים לשיטה האזורית addresses.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
גוף הבקשה צריך לכלול את הפרטים הבאים:
{
"name": "ADDRESS_NAME"
}מחליפים את מה שכתוב בשדות הבאים:
-
ADDRESS_NAME: השם של הכתובת -
REGION: שם האזור של הבקשה -
PROJECT_ID: מזהה הפרויקט של הבקשה הזו
כדי להקצות כתובות IPv4 סטטיות גלובליות, קוראים ל-globalAddresses.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
גוף הבקשה צריך לכלול את הפרטים הבאים:
{
"name": "ADDRESS_NAME"
}כדי להקצות כתובות IPv6 סטטיות גלובליות, קוראים ל-method globalAddresses.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
גוף הבקשה צריך לכלול את הפרטים הבאים:
{
"name": "ADDRESS_NAME",
"ipVersion": "IPV6"
}כדי לראות את התוצאה, משתמשים ב-addresses.get method.
Terraform
אתם יכולים להשתמש במודול של Terraform כדי ליצור כתובת IP חיצונית.
בדוגמה הבאה, הארגומנטים של Terraform כוללים ערכים לדוגמה שאפשר לשנות. בדוגמה הזו נוצרות שלוש כתובות IPv4 חיצוניות אזוריות.
בדוגמה הבאה נוצרת כתובת IPv6 חיצונית גלובלית:
הפעלת העברת IP
אפשר להפעיל העברת IP כשיוצרים מכונה וירטואלית, או כשמעדכנים את מאפיין המופע canIpForward במכונה וירטואלית קיימת. העברת כתובות IP מופעלת ברמת המכונה הווירטואלית, והיא חלה על כל הממשקים שמצורפים למכונה הווירטואלית.
הפעלת העברת IP כשיוצרים מכונה וירטואלית
בהוראות שבהמשך מתואר איך להפעיל העברת IP כשיוצרים מכונה וירטואלית. אם אתם צריכים להפעיל העברת IP במכונה וירטואלית קיימת, אתם צריכים לעדכן את מאפיין המופע canIpForward.
המסוף
- נכנסים לדף VM instances.
לדף VM instances - לוחצים על Create instance.
- בקטע דיסק אתחול, מוודאים שבחרתם תמונת Linux. לדוגמה, Debian GNU/Linux.
- לוחצים על Networking, Disks, Security, Management, Sole-tenancy (רשת, דיסקים, אבטחה, ניהול, דיירות יחידה).
- לוחצים על Networking.
- בקטע IP forwarding (העברת כתובות IP), בוחרים באפשרות Enable (הפעלה).
- מציינים פרמטרים אחרים של המופע.
- לוחצים על יצירה.
gcloud
כשיוצרים מכונה באמצעות gcloud, מוסיפים את הדגל --can-ip-forward לפקודה:
gcloud compute instances create ... --can-ip-forward
API
כשיוצרים מכונה, משתמשים בשדה canIpForward כדי להפעיל העברת IP.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"canIpForward": true,
...other fields
}
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט שבו נוצרה המכונה.
- ZONE: Cloud de Confiance האזור שבו נוצרה המכונה.
מידע נוסף זמין במאמר בנושא השיטה instances.insert.
Terraform
אתם יכולים להשתמש במשאב של Terraform כדי ליצור מכונה וירטואלית עם הפעלת העברת IP.
בדוגמה הזו, הארגומנטים של Terraform קיבלו ערכים שאפשר לשנות.
יצירת מסלול לתעבורת נתונים נכנסת
כדי ליצור נתיב סטטי חדש: לפני שמבצעים את הפעולה הזו, חשוב לוודא שאתם מכירים את הנקודות הבאות:
למסלולים סטטיים לא יכולים להיות טווחי יעד שתואמים לטווחי היעד שמשמשים את המסלולים של תת-הרשת ברשת ה-VPC, או שהם ספציפיים יותר מהם.
- כשמשתמשים בקישור בין רשתות VPC שכנות (peering) כדי לקשר בין שתי רשתות VPC, המסלולים הסטטיים ברשת אחת לא יכולים להיות זהים ליעדים של מסלולי רשתות המשנה בשתי הרשתות, או ספציפיים יותר מהם. Cloud de Confiance דוחה מסלולים סטטיים שייצרו התנגשות עם מסלולי רשתות המשנה באופן הזה.
כדי למנוע התנגשויות כשמשתמשים ברשת VPC במצב אוטומטי, לא כדאי ליצור מסלולים סטטיים שהיעדים שלהם מתאימים ל-
10.128.0.0/9. פרטים נוספים זמינים במאמר בנושא טווחים של כתובות IPv4 במצב אוטומטי.היעדים של מסלולים סטטיים לא יכולים לחפוף לטווח שהוקצה פנימי.
לפני שיוצרים מסלול סטטי בהתאמה אישית שמשתמש במכונה וירטואלית כצעד הבא, חשוב להכיר את המונח 'מכונות וירטואליות כצעד הבא'. Cloud de Confiance המערכת בודקת אם מכונה וירטואלית קיימת בזמן שיוצרים את המסלול רק אם בוחרים מכונה וירטואלית כצעד הבא.
אם יוצרים מסלול באמצעות תג רשת, רק מכונות וירטואליות עם התג הזה מקבלות את המסלול. עם זאת, מכונות וירטואליות מתויגות עדיין מקבלות את כל המסלולים שלא מתויגים בתג רשת.
המסוף
- נכנסים לדף Routes במסוף Cloud de Confiance .
לדף Routes - לוחצים על יצירת מסלול.
- מציינים שם ותיאור לנתיב.
- בוחרים רשת קיימת שבה המסלול יחול.
- מציינים טווח כתובות IP של יעד כדי להגדיר את היעד של המסלול.
- מציינים עדיפות למסלול. העדיפות משמשת רק כדי לקבוע את סדר הניתוב אם למסלולים יש יעדים שווים. פרטים נוספים זמינים במאמר בנושא פרמטרים של נתיבים.
- כדי שהניתוב יחול רק על מופעים עם תגי רשת תואמים, מציינים את התגים האלה בשדה Instance tags (תגי מופע). משאירים את השדה ריק כדי שהמסלול יחול על כל המופעים ברשת, או אם בוחרים במאזן עומסים פנימי מסוג TCP/UDP כנקודת הקפיצה הבאה של המסלול. תגי רשת לא חלים על מסלולים שבהם מאזן עומסים פנימי מסוג TCP/UDP מוגדר כצעד הבא.
בוחרים Next hop (הניתוב הבא) למסלול:
- ציון מכונה מאפשר לכם לבחור מכונה לפי שם. התנועה תנותב למכונה הזו (או לכל מכונה חלופית עם אותו שם באותו אזור), גם אם כתובת ה-IP שלה משתנה.
- הגדרה של כתובת IP מאפשרת להזין כתובת IP של מכונה קיימת ברשת ה-VPC. במאמר הצעדים הבאים והתכונות מפורטות הגבלות חשובות על כתובות IP תקפות של הצעד הבא.
לוחצים על יצירה.
gcloud
יוצרים נתיב סטטי חדש:
gcloud compute routes create ROUTE_NAME \
--destination-range=DESTINATION_RANGE \
--network=NETWORK \
NEXT_HOP_SPECIFICATION
מחליפים את ערכי הפלייסהולדר:
- ROUTE_NAME הוא שם המסלול.
- DESTINATION_RANGE מייצג את כתובות ה-IP של היעד שאליהן המסלול הזה יחול. היעד הרחב ביותר האפשרי הוא
0.0.0.0/0. - NETWORK הוא השם של רשת ה-VPC שתכיל את המסלול.
- NEXT_HOP_SPECIFICATION מייצג את הצעד הבא במסלול הסטטי. צריך לציין רק אחת מהאפשרויות הבאות כצעד הבא. מידע נוסף על הסוגים השונים של נקודות מעבר זמינות במאמר נקודות מעבר ותכונות.
-
--next-hop-instance=INSTANCE_NAMEו---next-hop-instance-zone=ZONE: משתמשים בצעד הבא הזה כדי להפנות תנועה למכונה וירטואלית קיימת לפי שם ואזור. תעבורת הנתונים נשלחת לכתובת ה-IP הפנימית הראשית של ממשק הרשת של מכונת ה-VM, שנמצאת באותה רשת כמו המסלול. -
--next-hop-address=ADDRESS: משתמשים בניתוב הבא הזה כדי להפנות תנועה לכתובת ה-IP של מופע קיים של מכונה וירטואלית.
-
כדי שהניתוב הסטטי יחול רק על מכונות וירטואליות נבחרות לפי תג רשת, מוסיפים את הדגל --tags ומציינים תג רשת אחד או יותר. מידע נוסף על אופן הפעולה של תגי רשת ומסלולים סטטיים זמין במאמר בנושא מסלולים רלוונטיים. אפשר להשתמש בתגים עם כל נתיב סטטי.
מידע נוסף על התחביר של gcloud זמין במסמכי התיעוד של ה-SDK.
API
יוצרים נתיב סטטי חדש.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
{
"destRange": "DESTINATION_RANGE",
"name": "ROUTE_NAME",
"network": "NETWORK_NAME",
"priority": PRIORITY,
"NEXT_HOP_SPECIFICATION": VALUE
}
מחליפים את ערכי הפלייסהולדר:
- PROJECT_ID הוא מזהה הפרויקט שבו נוצר המסלול.
- DESTINATION_RANGE מייצג את כתובות ה-IP של היעד שאליהן המסלול הזה יחול. היעד הרחב ביותר האפשרי הוא
0.0.0.0/0. - ROUTE_NAME שם לנתיב.
- NETWORK_NAME הוא השם של רשת ה-VPC שתכיל את המסלול.
- ה-VALUE של NEXT_HOP_SPECIFICATION מייצג את הצעד הבא במסלול הסטטי. בשדה
NEXT_HOP_SPECIFICATION, צריך לציין רק אחד מהשדות הבאים של הניתוב הבא:
nextHopIp,nextHopInstance. מידע נוסף על הסוגים השונים של הניתובים הבאים והתכונות זמין במאמר ניתובים הבאים ותכונות.
מידע נוסף זמין במאמר על השיטה routes.insert.
Terraform
אפשר ליצור נתיב סטטי באמצעות מודול של Terraform.
המסלול הסטטי הזה יוצר מסלול ברירת מחדל לאינטרנט.
יצירת VPN קלאסי באמצעות ניתוב סטטי
אשף הגדרת ה-VPN הוא האפשרות היחידה במסוף Cloud de Confiance ליצירת שער VPN קלאסי. אשף ההגדרות כולל את כל שלבי ההגדרה הנדרשים ליצירת שער VPN קלאסי, מנהרות, סשנים של BGP ומשאב של שער VPN חיצוני. עם זאת, אפשר להשלים חלק מהשלבים מאוחר יותר, כמו הגדרת סשנים של BGP.
המסוף
הגדרת השער
נכנסים לדף VPN במסוף Cloud de Confiance .
אם אתם יוצרים שער בפעם הראשונה, לוחצים על יצירת חיבור VPN.
בוחרים באפשרות אשף הגדרת ה-VPN.
לוחצים על לחצן האפשרות VPN קלאסי.
לוחצים על Continue.
בדף Create a VPN connection (יצירת חיבור VPN), מציינים את הגדרות השער הבאות:
- שם: השם של שער ה-VPN. אי אפשר לשנות את השם הזה בהמשך.
- תיאור: אפשר להוסיף תיאור.
- רשת: מציינים רשת VPC קיימת שבה רוצים ליצור את שער ה-VPN ואת המנהרה.
- אזור: שערי Cloud VPN ומנהרות הם אובייקטים אזוריים. בוחרים Cloud de Confianceאזור שבו ימוקם השער. מופעים ומשאבים אחרים באזורים שונים יכולים להשתמש במנהרה לתעבורת נתונים יוצאת (egress), בכפוף לסדר המסלולים. כדי להשיג את הביצועים הטובים ביותר, כדאי למקם את השער והמנהרה באותו אזור כמו המשאבים הרלוונטיים של Cloud de Confiance .
- כתובת IP: יוצרים או בוחרים כתובת IP חיצונית אזורית קיימת.
הגדרת מנהרות
בקטע Tunnels, מציינים את ההגדרות הבאות למנהרה החדשה:
- שם: השם של מנהרת ה-VPN. אי אפשר לשנות את השם הזה בהמשך.
- תיאור: אם רוצים, מקלידים תיאור.
- כתובת ה-IP של עמית מרוחק: מציינים את כתובת ה-IP החיצונית של שער ה-VPN של העמית.
- גרסת IKE: בוחרים את גרסת IKE המתאימה שנתמכת על ידי שער ה-VPN של העמית. עדיף להשתמש ב-IKEv2 אם הוא נתמך על ידי מכשיר ה-peer.
- מפתח ששותף מראש של IKE: מציינים מפתח ששותף מראש (סוד משותף) שמשמש לאימות. המפתח ששותף מראש למנהרת Cloud VPN צריך להיות זהה למפתח שבו השתמשתם כשקבעתם את ההגדרה של המנהרה המקבילה בשער ה-VPN של ה-peer. כדי ליצור מפתח משותף חזק מבחינה קריפטוגרפית, פועלים לפי ההוראות האלה.
- בחירת מנהרות מבוססות-מדיניות
- בקטע אפשרויות ניתוב, בוחרים באפשרות מבוסס מדיניות.
- בקטע Remote network IP ranges (טווח כתובות ה-IP של הרשת המרוחקת), מזינים רשימה של טווחי כתובות ה-IP שמשמשים את התעבורה המקומית בהגדרת ה-VPN המקומי, כשהם מופרדים באמצעות רווחים.
- בשדה Local IP ranges (טווחים של כתובות IP מקומיות), מזינים את טווח הכתובות של כתובות ה-IP החיצוניות שיצרתם קודם עם קידומת של רשת משנה
/32. - לוחצים על סיום.
- לוחצים על יצירה.
gcloud
כדי ליצור שער Cloud VPN, מריצים את רצף הפקודות הבא. בפקודות, מחליפים את הערכים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
NETWORK: השם של Cloud de Confiance הרשת -
REGION: Cloud de Confianceהאזור שבו יוצרים את השער והמנהרה -
GW_NAME: השם של השער -
GW_IP_NAME: שם לכתובת ה-IP החיצונית שמשמשת את השער - אופציונלי:
--target-vpn-gateway-regionהוא האזור של שער ה-VPN הקלאסי שבו רוצים לפעול. הערך שלו צריך להיות זהה לערך של--region. אם לא מציינים את האפשרות הזו, היא מוגדרת אוטומטית. האפשרות הזו מבטלת את ערך ברירת המחדל של המאפיין compute/region עבור הפעלת הפקודה הזו.
הגדרת משאבי השער
יוצרים את אובייקט שער ה-VPN של היעד:
gcloud compute target-vpn-gateways create GW_NAME \ --network=NETWORK \ --region=REGION \ --project=PROJECT_ID
שמירת כתובת IP חיצונית אזורית (סטטית):
gcloud compute addresses create GW_IP_NAME \ --region=REGION \ --project=PROJECT_ID
רושמים את כתובת ה-IP (כדי שאפשר יהיה להשתמש בה כשמגדירים את שער ה-VPN של עמית):
gcloud compute addresses describe GW_IP_NAME \ --region=REGION \ --project=PROJECT_ID \ --format='flattened(address)'
יוצרים שלושה כללי העברה. הכללים האלה מנחים אתCloud de Confiance לשלוח תעבורת נתונים מסוג ESP (IPsec), UDP 500 ו-UDP 4500 אל השער:
gcloud compute forwarding-rules create fr-GW_NAME-esp \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=ESP \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp500 \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=UDP \ --ports=500 \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --ip-protocol=UDP \ --ports=4500 \ --address=GW_IP_NAME \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID
יצירת מנהרת Cloud VPN
בפקודות, מחליפים את הערכים הבאים:
-
TUNNEL_NAME: שם למנהרה -
ON_PREM_IP: כתובת ה-IP החיצונית של שער ה-VPN של עמית -
IKE_VERS:1ל-IKEv1 או2ל-IKEv2 -
SHARED_SECRET: המפתח המשותף מראש (סוד משותף). המפתח ששותף מראש למנהרת Cloud VPN צריך להיות זהה למפתח שבו השתמשתם כשקבעתם את ההגדרה של המנהרה המקבילה בשער ה-VPN של ה-peer. כדי ליצור מפתח משותף חזק מבחינה קריפטוגרפית, פועלים לפי ההוראות האלה.
ל-VPN מבוסס-מדיניות:
-
LOCAL_IP_RANGES: רשימה מופרדת בפסיקים שלCloud de Confiance טווחי כתובות IP. לדוגמה, אפשר לספק את בלוק ה-CIDR של כל רשת משנה ברשת VPC. זהו הצד השמאלי מנקודת המבט של Cloud VPN. -
REMOTE_IP_RANGES: רשימה מופרדת בפסיקים של טווחי כתובות ה-IP של רשת הפירינג. זה הצד הימני מנקודת המבט של Cloud VPN.
כדי להגדיר מנהרת VPN שמבוססת על מדיניות, מריצים את הפקודה הבאה:
gcloud compute vpn-tunnels create TUNNEL_NAME \ --peer-address=ON_PREM_IP \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --local-traffic-selector=LOCAL_IP_RANGES \ --remote-traffic-selector=REMOTE_IP_RANGES \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_IDב-VPN מבוסס-ניתוב, סלקטורי התנועה המקומיים והמרוחקים הם
0.0.0.0/0כמו שמוגדר באפשרויות הניתוב וסלקטורי התנועה.כדי להגדיר מנהרת VPN מבוססת-ניתוב, מריצים את הפקודה הבאה:
gcloud compute vpn-tunnels create TUNNEL_NAME \ --peer-address=ON_PREM_IP \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --local-traffic-selector=0.0.0.0/0 \ --remote-traffic-selector=0.0.0.0/0 \ --target-vpn-gateway=GW_NAME \ --region=REGION \ --project=PROJECT_ID-
יוצרים נתיב סטטי לכל טווח כתובות IP מרוחקות שצוין באפשרות
--remote-traffic-selectorבשלב הקודם. חוזרים על הפקודה הזו לכל טווח כתובות IP מרוחקות. מחליפים אתROUTE_NAMEבשם ייחודי לנתיב, ואתREMOTE_IP_RANGEבטווח המתאים של כתובות IP מרוחקות. gcloud compute routes create ROUTE_NAME \ --destination-range=REMOTE_IP_RANGE \ --next-hop-vpn-tunnel=TUNNEL_NAME \ --network=NETWORK \ --next-hop-vpn-tunnel-region=REGION \ --project=PROJECT_ID
הגדרת מכונת ה-VM לשליחה ולקבלה של תעבורת נתונים
כדי להשלים את ההגדרה ולבדוק אם אפשר לשלוח ולקבל תנועה מהמכונה הווירטואלית, פועלים לפי השלבים הבאים:
קבלת תנועה
- נכנסים לדף VM instances במסוף Cloud de Confiance .
- ברשימת המכונות הווירטואליות, מוצאים את המכונה הווירטואלית שיצרתם קודם ולוחצים על SSH.
יוצרים כתובת IP חלופית למכונה הווירטואלית באמצעות כתובת ה-IP הציבורית שהזמנתם קודם. אחרי שתשלימו את השלב הזה, תוכלו לקבל תנועה למכונה הווירטואלית.
מריצים את הפקודה הבאה:
sudo ip address add EXTERNAL_IP_ADDRESS/32 dev eth0מחליפים את
EXTERNAL_IP_ADDRESSבכתובת ה-IP הציבורית שהזמנתם קודם.
שליחת תנועה
- נכנסים לדף VM instances במסוף Cloud de Confiance .
- ברשימת המכונות הווירטואליות, מוצאים את המכונה הווירטואלית שיצרתם קודם ולוחצים על SSH.
מריצים את הפקודה הבאה כדי לבדוק אם אפשר לשלוח פינג לכתובת IP חיצונית:
$ ping -I EXTERNAL_IP_ADDRESS REMOTE_PEER_IP_ADDRESS PING 10.0.0.1 (10.0.0.1) from EXTERNAL_IP_ADDRESS : 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.46 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.11 msמחליפים את
REMOTE_PEER_IP_ADDRESSבכתובת IP מתת-הרשת של עמית מרוחק.כדי לאפשר למכונה הווירטואלית להשתמש בממשק הזה באופן אוטומטי כששולחים תנועה למנהרת ה-VPN, אפשר ליצור כלל
iptables.לדוגמה, מריצים את הפקודה הבאה כדי ליצור כלל
iptables:$ sudo iptables -t nat -A POSTROUTING --destination REMOTE_PEER_SUBNET -j SNAT --to-source EXTERNAL_IP_ADDRESSמחליפים את
REMOTE_PEER_SUBNETברשת המשנה של עמית ה-VPN המרוחק.מריצים את הפקודות הבאות כדי לבדוק את מנהרת Cloud VPN:
$ ping REMOTE_PEER_IP_ADDRESS PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.48 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.42 ms$ ping EXTERNAL_IP_ADDRESS PING 35.195.72.19 (35.195.72.19) 56(84) bytes of data. 64 bytes from 35.195.72.19: icmp_seq=1 ttl=64 time=0.033 ms 64 bytes from 35.195.72.19: icmp_seq=2 ttl=64 time=0.062 ms