1. Введение
Обзор
В ходе этой лабораторной работы вы познакомитесь с некоторыми функциями Центра сетевых подключений.
Центр сетевых подключений (NCC) — это звездообразная модель плоскости управления для управления сетевыми подключениями в Google Cloud. Ресурс концентратора обеспечивает централизованную модель управления подключениями для подключения периферийных устройств. В настоящее время NCC поддерживает следующие сетевые ресурсы в качестве периферийных устройств:
- Вложения VLAN
- Маршрутизаторы
- Высокая VPN
Codelabs требует использования решения flexiWAN SaaS SD-WAN , которое упрощает развертывание и управление глобальной сетью. flexWAN — это решение SD-WAN и SASE с открытым исходным кодом.
Что ты построишь
В этой лаборатории кода вы создадите звездообразную топологию SD-WAN для моделирования сайтов удаленных филиалов, которые будут проходить через магистральную сеть Google для связи между сайтами и облаками и между сайтами.
- Вы развернете пару виртуальных машин GCE, настроенных для агента SD-WAN «flexiWAN», в концентраторе VPC, который представляет головные станции для входящего и исходящего трафика в GCP.
- Разверните два удаленных маршрутизатора flexiWAN SD-WAN, чтобы представить два разных филиала VPC.
- Для тестирования пути данных вы настроите три виртуальные машины GCE для моделирования на локальных клиентах и сервере, размещенном на GCP.
Что вы узнаете
- Использование NCC для соединения удаленных филиалов с помощью решения программно-определяемой глобальной сети с открытым исходным кодом.
- Практический опыт работы с программным обеспечением с открытым исходным кодом, определяемым WAN-решением.
Что вам понадобится
- Знание сети GCP VPC.
- Знание Cloud Router и маршрутизации BGP.
- Codelab требует 6 VPC. Проверьте свою «Квоту: Сети» и при необходимости запросите дополнительные сети, скриншот ниже:
2. Цели
- Настройка среды GCP
- Развертывание экземпляров flexiWAN Edge в GCP
- Установите NCC Hub и flexiWAN Edge NVA в качестве периферийного устройства.
- Настраивайте экземпляры flexiWAN и управляйте ими с помощью flexiManage.
- Настройте обмен маршрутами BGP между vpc-app-svcs и flexiWAN NVA.
- Создайте удаленный сайт, имитирующий удаленный филиал клиента или центр обработки данных.
- Установите туннель IPSEC между удаленным сайтом и NVA.
- Убедитесь, что устройства развернуты успешно
- Проверка передачи данных с сайта в облако
- Проверка передачи данных с сайта на сайт
- Очистите использованные ресурсы
Для этого руководства необходимо создать бесплатную учетную запись flexiManage для аутентификации, подключения и управления экземплярами flexiEdge.
Прежде чем начать
Использование Google Cloud Console и Cloud Shell
Для взаимодействия с GCP на протяжении всей лабораторной работы мы будем использовать как Google Cloud Console, так и Cloud Shell.
Облачная консоль Google
Доступ к облачной консоли можно получить по адресу https://console.cloud.google.com .
Настройте следующие элементы в Google Cloud, чтобы упростить настройку Центра сетевых подключений:
В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud.
Запустите Cloud Shell . В этой лаборатории кода используются переменные $variables для облегчения реализации конфигурации gcloud в Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Роли IAM
NCC требуются роли IAM для доступа к определенным API. Обязательно настройте для своего пользователя роли NCC IAM по мере необходимости.
Имя роли | Описание | Разрешения |
networkconnectivity.networkAdmin | Позволяет сетевым администраторам управлять концентратором и периферийными устройствами. | networkconnectivity.hubs. сетевое подключение.спицы. |
networkconnectivity.networkSpokeManager | Позволяет добавлять спицы в концентратор и управлять ими. Используется в общем VPC, где хост-проект владеет хабом, но другие администраторы в других проектах могут добавлять периферийные устройства для своих вложений в хаб. | networkconnectivity.спицы.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | Позволяет пользователям сети просматривать различные атрибуты концентратора и периферийных устройств. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. Настройте среду сетевой лаборатории.
Обзор
В этом разделе мы развернем сети VPC и правила брандмауэра.
Моделирование локальных сетей филиалов
Эта сеть VPC содержит подсети для локальных экземпляров виртуальных машин.
Создайте локальные сети и подсети сайта:
gcloud compute networks create site1-vpc \
--subnet-mode custom
gcloud compute networks create site2-vpc \
--subnet-mode custom
gcloud compute networks create s1-inside-vpc \
--subnet-mode custom
gcloud compute networks create s2-inside-vpc \
--subnet-mode custom
gcloud compute networks subnets create site1-subnet \
--network site1-vpc \
--range 10.10.0.0/24 \
--region us-central1
gcloud compute networks subnets create site2-subnet \
--network site2-vpc \
--range 10.20.0.0/24 \
--region us-east4
gcloud compute networks subnets create s1-inside-subnet \
--network s1-inside-vpc \
--range 10.10.1.0/24 \
--region us-central1
gcloud compute networks subnets create s2-inside-subnet \
--network s2-inside-vpc \
--range 10.20.1.0/24 \
--region us-east4
Создайте правила брандмауэра site1-vpc, чтобы разрешить:
- SSH, внутренний, IAP
- ЕСП, УДП/500, УДП/4500
- Диапазон 10.0.0.0/8
- Диапазон 192.168.0.0/16
gcloud compute firewall-rules create site1-ssh \--network site1-vpc \
--allow tcp:22
gcloud compute firewall-rules create site1-internal \
--network site1-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create site1-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create site1-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create site1-iap \
--network site1-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
Создайте правила брандмауэра site2-vpc, чтобы разрешить:
- SSH, внутренний, IAP
- Диапазон 10.0.0.0/8
- Диапазон 192.168.0.0/16
gcloud compute firewall-rules create site2-ssh \
--network site2-vpc \
--allow tcp:22
gcloud compute firewall-rules create site2-internal \
--network site2-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create site2-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create site2-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create site2-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
Создайте правила брандмауэра s1-inside-vpc, чтобы разрешить:
- SSH, внутренний, IAP
- Диапазон 10.0.0.0/8
- Диапазон 192.168.0.0/16
gcloud compute firewall-rules create s1-inside-ssh \
--network s1-inside-vpc \
--allow tcp:22
gcloud compute firewall-rules create s1-inside-internal \
--network s1-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create s1-inside-cloud \
--network s1-inside-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create s1-inside-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
Создайте правила брандмауэра s2-inside-vpc, чтобы разрешить:
- SSH, внутренний, IAP
- Диапазон 10.0.0.0/8
- Диапазон 192.168.0.0/16
gcloud compute firewall-rules create s2-inside-ssh \
--network s2-inside-vpc \
--allow tcp:22
gcloud compute firewall-rules create s2-inside-internal \
--network s2-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create s2-inside-cloud \
--network s2-inside-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create s2-inside-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
В целях тестирования создайте экземпляры s1-inside-vm
и s2-inside-vm
gcloud compute instances create s1-vm \
--zone=us-central1-a \
--machine-type=e2-micro \
--network-interface subnet=s1-inside-subnet,private-network-ip=10.10.1.3,no-address
gcloud compute instances create s2-vm \
--zone=us-east4-b \
--machine-type=e2-micro \
--network-interface subnet=s2-inside-subnet,private-network-ip=10.20.1.3,no-address
Имитируйте облачную сетевую среду GCP
Чтобы включить межрегиональный трафик между сайтами через сеть hub-vpc
и периферийные устройства, необходимо включить глобальную маршрутизацию в сети hub-vpc
. Подробнее читайте в разделе « Обмен маршрутами NCC».
- Создайте сеть и подсети
hub-vpc
:
gcloud compute networks create hub-vpc \
--subnet-mode custom \
--bgp-routing-mode=global
gcloud compute networks subnets create hub-subnet1 \
--network hub-vpc \
--range 10.1.0.0/24 \
--region us-central1
gcloud compute networks subnets create hub-subnet2 \
--network hub-vpc \
--range 10.2.0.0/24 \
--region us-east4
- Создайте сеть и подсети
workload-vpc
:
gcloud compute networks create workload-vpc \
--subnet-mode custom \
--bgp-routing-mode=global
gcloud compute networks subnets create workload-subnet1 \
--network workload-vpc \
--range 192.168.235.0/24 \
--region us-central1
gcloud compute networks subnets create workload-subnet2 \
--network workload-vpc \
--range 192.168.236.0/24 \
--region us-east4
- Создайте правила брандмауэра Hub-VPC, чтобы разрешить:
- SSH
- ЕСП, УДП/500, УДП/4500
- внутренний диапазон 10.0.0.0/8 (который охватывает TCP-порт 179, необходимый для сеанса BGP от облачного маршрутизатора к устройству маршрутизатора)
gcloud compute firewall-rules create hub-ssh \
--network hub-vpc \
--allow tcp:22
gcloud compute firewall-rules create hub-vpn \
--network hub-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create hub-internal \
--network hub-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create hub-iap \
--network hub-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
- Создайте правила брандмауэра Workload-VPC, чтобы разрешить:
- SSH
- внутренний диапазон 192.168.0.0/16 (который охватывает TCP-порт 179, необходимый для сеанса BGP от облачного маршрутизатора к устройству маршрутизатора)
gcloud compute firewall-rules create workload-ssh \
--network workload-vpc \
--allow tcp:22
gcloud compute firewall-rules create workload-internal \
--network workload-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute --project=$projectname firewall-rules create allow-from-site-1-2 --direction=INGRESS --priority=1000 --network=workload-vpc --action=ALLOW --rules=all --source-ranges=10.10.1.0/24,10.20.1.0/24
gcloud compute firewall-rules create workload-onprem \
--network hub-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create workload-iap \
--network workload-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
- Включите Cloud NAT в Workload-VPC, чтобы позволить Workload1-VM загружать пакеты, создав облачный маршрутизатор и шлюз NAT.
gcloud compute routers create cloud-router-usc-central-1-nat \
--network workload-vpc \
--region us-central1
gcloud compute routers nats create cloudnat-us-central1 \
--router=cloud-router-usc-central-1-nat \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges \
--region us-central1
- Создайте
workload1-vm
in "us-central1-a" in
workload-VPC
. Вы будете использовать этот хост для проверки возможности подключения сайта к облаку.
gcloud compute instances create workload1-vm \
--project=$projectname \
--machine-type=e2-micro \
--image-family debian-10 \
--image-project debian-cloud \
--zone us-central1-a \
--private-network-ip 192.168.235.3 \
--no-address \
--subnet=workload-subnet1 \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo 'Welcome to Workload VM1 !!' | tee /var/www/html/index.html
EOF"
4. Настройка локальных устройств для SD-WAN
Создайте локальную виртуальную машину для SDWAN (устройства)
В следующем разделе мы создадим устройства-маршрутизаторы site1-nva и site2-nva, действующие как локальные маршрутизаторы.
Создать экземпляры
Создайте устройство site1-router
с именем site1-nva.
gcloud compute instances create site1-nva \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=site1-subnet \
--network-interface subnet=s1-inside-subnet,no-address \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward
Создайте устройство site2-router с именем site2-nva.
gcloud compute instances create site2-nva \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=site2-subnet \
--network-interface subnet=s2-inside-subnet,no-address \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward
5. Установите flexiWAN на site1-nva.
Откройте SSH-соединение с site1-nva, если истекло время, повторите попытку.
gcloud compute ssh site1-nva --zone=us-central1-a
Установите flexiWAN на site1-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Подготовьте виртуальную машину для регистрации плоскости управления flexiWAN.
После завершения установки flexiWAN запустите команду fwsystem_checker , чтобы проверить конфигурацию вашей системы. Эта команда проверяет системные требования и помогает исправить ошибки конфигурации в вашей системе.
- Выберите вариант
2
для быстрой и тихой настройки. - выйдите потом с 0 .
- Не закрывайте окно облачной оболочки.
root@site-1-nva-1:/home/user# fwsystem_checker <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 2 <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 0 Please wait.. Done. === system checker ended ====
Оставьте сеанс открытым для выполнения следующих шагов.
6. Зарегистрируйте site1-nva с контроллером SD-WAN.
Эти шаги необходимы для завершения подготовки flexiWAN NVA, администрируемого из консоли flexiManage . Прежде чем двигаться дальше, убедитесь, что организация flexiWAN настроена.
Аутентифицируйте недавно развернутый NVA flexiWAN с помощью flexiManage, используя токен безопасности, войдя в учетную запись flexiManage. Один и тот же токен можно повторно использовать на всех устройствах маршрутизатора.
Выберите «Инвентарь» → «Токены», создайте токен и выберите копию.
Вернитесь в Cloud Shell (site1-nva) и вставьте токен в каталог /etc/flexiwan/agent/token.txt, выполнив следующие действия.
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
Активируйте маршрутизаторы сайта в консоли flexiManage.
Войдите в консоль flexiManage, чтобы активировать site1-nva на контроллере.
На левой панели выберите «Инвентарь → Устройства» , нажмите «Неизвестное» устройство.
Введите имя хоста site1-nva и подтвердите устройство, сдвинув диск вправо.
Выберите вкладку « Интерфейсы».
Найдите столбец « Назначено », нажмите « Нет » и измените настройку на « Да ».
Выберите вкладку «Брандмауэр» и нажмите знак «+» , чтобы добавить правило брандмауэра для входящего трафика.
Выберите интерфейс WAN, чтобы применить правило ssh, как описано ниже.
Нажмите « Обновить устройство ».
Запустите site1-nva с контроллера flexiWAN. Вернитесь в инвентарь → Устройства → site1-nva и выберите «Запустить устройство».
Статус – синхронизация
Статус – Синхронизировано
Индикатор предупреждения можно просмотреть в разделе «Устранение неполадок» → «Уведомления» . После просмотра выберите все и отметьте как прочитанные.
7. Установите flexiWAN на site2-nva.
Откройте новую вкладку и создайте сеанс Cloud Shell , обновите $variables, чтобы облегчить реализацию конфигурации gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Откройте SSH-соединение с site2-nva, если время ожидания истекло, повторите попытку.
gcloud compute ssh site2-nva --zone=us-east4-b
Установите flexiWAN на site2-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Подготовьте виртуальную машину для регистрации плоскости управления flexiWAN.
После завершения установки flexiWAN запустите команду fwsystem_checker , чтобы проверить конфигурацию вашей системы. Эта команда проверяет системные требования и помогает исправить ошибки конфигурации в вашей системе.
- Выберите вариант
2
для быстрой и тихой настройки. - выйдите потом с 0 .
- Не закрывайте окно облачной оболочки.
root@site2-nva:/home/user# fwsystem_checker <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 2 <output snipped> [0] - quit and use fixed parameters 1 - check system configuration 2 - configure system silently 3 - configure system interactively 4 - restore system checker settings to default ------------------------------------------------ Choose: 0 Please wait.. Done. === system checker ended ====
8. Зарегистрируйте site2-nva с помощью контроллера SD-WAN.
Эти шаги необходимы для завершения подготовки flexiWAN NVA, администрируемого из консоли flexiManage . Прежде чем двигаться дальше, убедитесь, что организация flexiWAN настроена.
Аутентифицируйте недавно развернутый NVA flexiWAN с помощью flexiManage, используя токен безопасности, войдя в учетную запись flexiManage. Один и тот же токен можно повторно использовать на всех устройствах маршрутизатора.
Выберите «Инвентарь» → «Токены» , создайте токен и выберите копию.
Вернитесь в Cloud Shell (site2-nva) и вставьте токен в каталог /etc/flexiwan/agent/token.txt, выполнив следующие действия.
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
Активируйте маршрутизаторы сайта из консоли flexiManage.
Войдите в консоль flexiManage, чтобы активировать site2-nva на контроллере.
На левой панели выберите «Инвентарь → Устройства» , нажмите «Неизвестное» устройство.
Введите имя хоста site2-nva и подтвердите устройство, сдвинув диск вправо.
Выберите вкладку « Интерфейсы».
Найдите столбец « Назначено », нажмите « Нет » и измените настройку на « Да ».
Выберите вкладку «Брандмауэр» и щелкните знак «+» , чтобы добавить правило брандмауэра для входящего трафика . Выберите интерфейс WAN, чтобы применить правило ssh, как описано ниже.
Нажмите « Обновить устройство ».
Запустите site2-nva с контроллера flexiWAN. Вернитесь в инвентарь → Устройства → site2-nva и выберите «Запустить устройство».
Сатус – Синхронизация
Статус – Синхронизировано
Индикатор предупреждения можно просмотреть в разделе «Устранение неполадок» → «Уведомления» . После просмотра выберите все и отметьте как прочитанные.
9. Центр настройки устройств SDWAN
В следующем разделе вы создадите и зарегистрируете маршрутизаторы-концентраторы (hub-r1 и Hub-r2) с помощью контроллера flexiWAN, как это было ранее выполнено с маршрутами сайта.
Откройте новую вкладку и создайте сеанс Cloud Shell , обновите $variables, чтобы облегчить реализацию конфигурации gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Создание экземпляров Hub NVA
Создайте устройство Hub-r1 :
gcloud compute instances create hub-r1 \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet1 \
--network-interface subnet=workload-subnet1,no-address \
--can-ip-forward \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
Создайте устройство Hub-r2 :
gcloud compute instances create hub-r2 \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet2 \
--network-interface subnet=workload-subnet2,no-address \
--can-ip-forward \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
10. Установите flexiWAN на экземпляры концентратора для концентратора-r1.
Откройте SSH-соединение с хабом-r1.
gcloud compute ssh hub-r1 --zone=us-central1-a
Установите агент flexiWAN на обоих концентраторах r1.
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Подготовьте виртуальные машины Hub-r1 для регистрации в FlexiWAN.
После завершения установки flexiWAN запустите команду fwsystem_checker , чтобы проверить конфигурацию вашей системы. Эта команда проверяет системные требования и помогает исправить ошибки конфигурации в вашей системе.
root@hub-r1:/home/user# fwsystem_checker
- Выберите вариант
2
для быстрой и тихой настройки. - выйдите потом с 0 .
- Не закрывайте окно облачной оболочки.
11. Зарегистрируйте виртуальные машины Hub-r1 на контроллере flexiManage.
Аутентифицируйте недавно развернутый NVA flexiWAN с помощью flexiManage, используя токен безопасности, войдя в учетную запись flexiManage.
- Выберите Инвентарь → Токены и скопируйте токен.
Вернитесь в Cloud Shell (hub-r1) и вставьте токен в каталог /etc/flexiwan/agent/token.txt, выполнив следующие действия.
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
12. Установите flexiWAN на экземпляры концентратора для концентратора-r2.
Откройте SSH-соединение с хабом-r2.
gcloud compute ssh hub-r2 --zone=us-east4-b
Установите агент flexiWAN на обоих концентраторах r2.
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Подготовьте виртуальные машины Hub-r2 для регистрации в FlexiWAN.
После завершения установки flexiWAN запустите команду fwsystem_checker , чтобы проверить конфигурацию вашей системы. Эта команда проверяет системные требования и помогает исправить ошибки конфигурации в вашей системе.
root@hub-r2:/home/user# fwsystem_checker
- Выберите вариант
2
для быстрой и тихой настройки. - выйдите потом с 0 .
- Не закрывайте окно облачной оболочки.
13. Зарегистрируйте виртуальные машины Hub-r2 на контроллере flexiManage.
Аутентифицируйте недавно развернутый NVA flexiWAN с помощью flexiManage, используя токен безопасности, войдя в учетную запись flexiManage.
- Выберите Инвентарь → Токены и скопируйте токен.
Вернитесь в Cloud Shell (hub-r2) и вставьте токен в каталог /etc/flexiwan/agent/token.txt, выполнив следующие действия.
nano /etc/flexiwan/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter
Активируйте Hub-маршрутизаторыhub-r1 на консоли flexiManage.
Войдите в консоль flexiManage.
- Перейдите в «Инвентарь» → «Устройства».
- Найдите и обратите внимание, что имя хоста для концентратора-r1 и концентратора-r2 «неизвестно».
Выберите неизвестное устройство с именем хостаhub-r1.
- Введите имя хоста Hub-r1.
- Подтвердите устройство. Сдвиньте диск вправо.
Выберите вкладку «Интерфейсы» .
- Найдите столбец «Назначено».
- Рядом со строкой интерфейса нажмите «Нет», чтобы изменить настройку на «Да».
Выберите вкладку «Брандмауэр» .
- Нажмите « + », чтобы добавить правило брандмауэра для входящего трафика.
- Выберите интерфейс WAN для наследования правила.
- Разрешить порт SSH 22 с протоколом TCP
- Нажмите « Обновить устройство ».
Запустите устройство Hub-r1 для SD-WAN с контроллера flexiWAN.
- Вернитесь в Инвентарь → Устройства → Hub-r1.
Выберите « Запустить устройство ».
- Дождитесь завершения синхронизации и обратите внимание на статус « работает ».
Активируйте маршрутизаторы Hub Hub-r2 на консоли flexiManage.
Выберите неизвестное устройство с именем хоста Hub-r2.
- Введите имя хоста концентратора-r2
- Утвердите устройство. Сдвиньте диск вправо.
Выберите вкладку «Интерфейсы».
- Найдите столбец «Назначено».
- Рядом со строкой интерфейса нажмите «Нет», чтобы изменить настройку на «Да».
Выберите вкладку «Брандмауэр».
- Нажмите « + », чтобы добавить правило брандмауэра для входящего трафика.
- Выберите интерфейс WAN для наследования правила.
- Разрешить порт SSH 22 с протоколом TCP
- Нажмите Добавить правило.
- Нажмите « Обновить устройство ».
Запустите устройство Hub-r2 для SD-WAN с контроллера flexiWAN.
- Вернитесь в «Инвентарь» → «Устройства» → «hub-r2» , выберите «Запустить устройство ».
- Дождитесь завершения синхронизации и обратите внимание на статус « работает ».
14. Центр сетевых подключений в GCP Hub.
Включить службы API
Включите API сетевого подключения, если он еще не включен:
gcloud services enable networkconnectivity.googleapis.com
Создайте хаб NCC
gcloud network-connectivity hubs create ncc-hub
Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.
Created hub [ncc-hub]
Настройте оба устройства маршрутизатора как периферийные устройства NCC.
Найдите URI и IP-адрес для концентратора-r1 и концентратора-r2 и запишите выходные данные. Эта информация понадобится вам на следующем шаге.
Обязательно запишите IP-адрес (192.168.xx) экземпляров Hub-r1 и Hub-r2.
gcloud compute instances describe hub-r1 \
--zone=us-central1-a \
--format="value(selfLink.scope(projects))"
gcloud compute instances describe hub-r1 --zone=us-central1-a | grep "networkIP"
gcloud compute instances describe hub-r2 \
--zone=us-east4-b \
--format="value(selfLink.scope(projects))"
gcloud compute instances describe hub-r2 --zone=us-east4-b | grep "networkIP"
Добавьте IP-адрес виртуальной networkIP
Hub-r1 (192.168.xx) в качестве периферийного устройства и включите передачу данных между сайтами.
gcloud network-connectivity spokes linked-router-appliances create s2s-wrk-cr1 \
--hub=ncc-hub \
--router-appliance=instance="https://www.googleapis.com/compute/projects/$projectname/zones/us-central1-a/instances/hub-r1",ip=192.168.235.4 \
--region=us-central1 \
--site-to-site-data-transfer
Добавьте IP-адрес виртуальной networkIP
Hub-r2 (192.168.xx) в качестве периферийного устройства и включите передачу данных между сайтами.
gcloud network-connectivity spokes linked-router-appliances create s2s-wrk-cr2 \
--hub=ncc-hub \
--router-appliance=instance=/projects/$projectname/zones/us-east4-b/instances/hub-r2,ip=192.168.236.101 \
--region=us-east4 \
--site-to-site-data-transfer
Настройте Cloud Router для установки BGP с Hub-R1.
На следующем этапе создайте облачный маршрутизатор и объявите подсеть VPC рабочей нагрузки 192.168.235.0/24.
Создайте облачный маршрутизатор в us-central1, который будет взаимодействовать с BGP с помощью концентратора-r1.
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Настраивая устройства маршрутизатора как NCC Spoke, это позволяет облачному маршрутизатору согласовывать BGP на виртуальных интерфейсах.
Создайте на облачном маршрутизаторе два интерфейса, которые будут обмениваться сообщениями BGP с концентратором-r1.
IP-адреса выбираются из подсети рабочей нагрузки и могут быть изменены при необходимости.
gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int0 \
--ip-address=192.168.235.101
gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int1 \
--ip-address=192.168.235.102 \
--redundant-interface=int0
Настройте интерфейс облачного маршрутизатора для установки BGP с vNIC-1 концентратора-r1, обновите IP-адрес узла, указав IP-адрес networkIP
IP-адреса концентратора-r1. Обратите внимание: один и тот же IP-адрес используется для int0 и int1.
gcloud compute routers add-bgp-peer wrk-cr1 \
--peer-name=hub-cr1-bgp-peer-0 \
--interface=int0 \
--peer-ip-address=192.168.235.4 \
--peer-asn=64111 \
--instance=hub-r1 \
--instance-zone=us-central1-a \
--region=us-central1
gcloud compute routers add-bgp-peer wrk-cr1 \
--peer-name=hub-cr1-bgp-peer-1 \
--interface=int1 \
--peer-ip-address=192.168.235.4 \
--peer-asn=64111 \
--instance=hub-r1 \
--instance-zone=us-central1-a \
--region=us-central1
Проверьте состояние BGP. На этом этапе лаборатории кода BGP находится в состоянии подключения, поскольку устройство сетевого маршрутизатора не настроено для BGP.
gcloud compute routers get-status wrk-cr1 --region=us-central1
Настройте Workload-cr2 для установки BGP с Hub-R2.
На следующем этапе создайте облачный маршрутизатор и объявите подсеть VPC рабочей нагрузки 192.168.236.0/24.
Создайте облачный маршрутизатор в us-east4, который будет взаимодействовать с BGP с помощью концентратора-r2.
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Создайте пару интерфейсов на облачном маршрутизаторе, которые будут обмениваться сообщениями BGP с концентратором-r2. IP-адреса выбираются из подсети рабочей нагрузки и при необходимости могут быть изменены.
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int0 \
--ip-address=192.168.236.5
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int1 \
--ip-address=192.168.236.6 \
--redundant-interface=int0
Настройте интерфейс облачного маршрутизатора для установки BGP с vNIC-1 концентратора-r2, обновите IP-адрес узла, указав IP-адрес networkIP
IP-адреса концентратора-r1. Обратите внимание: один и тот же IP-адрес используется для int0 и int1.
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-0 \
--interface=int0 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-1 \
--interface=int1 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
Проверьте состояние BGP. На этом этапе лаборатории кода BGP находится в состоянии подключения, поскольку устройство сетевого маршрутизатора не настроено для BGP.
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. Настройте устройства маршрутизатора-концентратора для BGP.
Настройте Hub-r1 для BGP
Обязательно войдите в консоль flexiManage.
Перейдите в «Инвентарь» → «Устройства» → «hub-r1» и выберите устройство с именем хоста:hub-r1.
- Нажмите на вкладку «Маршрутизация».
- Нажмите «Конфигурация BGP».
- Отключите «Перераспределение маршрутов OSPF».
- Настройте Hub-r1 для BGP с этими параметрами и нажмите «Сохранить».
Выберите вкладку « Интерфейсы », найдите интерфейс LAN, найдите столбец « Маршрутизация ».
- Нажмите « Нет », чтобы открыть меню и выбрать BGP в качестве протокола маршрутизации.
- Вверху страницы нажмите «обновить устройство».
Настройте концентратор-r2 для BGP.
Обязательно войдите в консоль flexiManage.
Перейдите в «Инвентарь» → «Устройства» → «hub-r2», выберите устройство с именем хоста:hub-r2.
- Нажмите на вкладку «Маршрутизация».
- Нажмите «Конфигурация BGP».
- Отключите «Перераспределение маршрутов OSPF».
- Настройте Hub-r2 для BGP с этими параметрами и нажмите «Сохранить».
Выберите вкладку « Интерфейсы », найдите интерфейс LAN, найдите столбец «Маршрутизация».
- Нажмите «Нет», чтобы открыть раскрывающееся меню и выбрать BGP в качестве протокола маршрутизации.
- Вверху страницы нажмите «обновить устройство».
Выберите вкладку « Маршрутизация ».
- Убедитесь, что Hub-r2 получил маршрут BGP от wrk-cr2.
16. Обмен маршрутами BGP между устройствами маршрутизатора
Установите локальный ASN для удаленных сайтов.
Настройте локальный BGP ASN для site1-nva и site2-nva. После настройки мы установим туннель IPSEC между удаленными сайтами и маршрутизаторами-концентраторами.
Выберите устройство с именем хоста:site1-nva.
- Нажмите на вкладку «Маршрутизация».
- Нажмите «Конфигурация BGP».
- Отключите «Перераспределение маршрутов OSPF».
- Включен BGP
- Локальный ASN 7269 → Сохранить
- Обновить устройство
- Вкладка «Интерфейсы» → «LAN» → «Маршрутизация» → «BGP».
- Обновить устройство
Выберите устройство с именем хоста:site2-nva.
- Нажмите на вкладку «Маршрутизация».
- Нажмите «Конфигурация BGP».
- Отключите «Перераспределение маршрутов OSPF».
- Включен BGP
- Локальный ASN 7270 → Сохранить
- Обновить устройство
- Вкладка «Интерфейсы» → «LAN» → «Маршрутизация» → «BGP».
- Обновить устройство
Настройка VPN-туннелей между устройствами сайта и концентратора
Обязательно войдите в консоль flexiManage.
- Перейдите в «Инвентарь» → «Устройства».
- Установите флажок рядом с именем хоста site1-nva и Hub-r1 , чтобы создать VPN-туннель между этой парой NVA.
- Нажмите «Действия» → «Создать туннели» и настройте следующие параметры.
- Выберите «Создать туннели».
- Снимите галочки с site1-nva и ub-r1.
Повторите действия по созданию туннеля между site2-nva и Hub-r2, выбрав соответствующие параметры.
Убедитесь, что между каждой парой NVA установлена пара туннелей.
- На левой боковой панели выберите « Инвентарь », нажмите « Туннели » и найдите столбец состояния.
Убедитесь, что site1-nva узнал маршруты к подсетям 192.168.235.0/24 и 192.168.236.0/24.
- Выберите «Инвентаризация» → «Устройства» → «site1-nva» и перейдите на вкладку «Маршрутизация».
В приведенном ниже примере flexiWAN автоматически создал туннель, используя IP-адрес хоста 10.100.0.6.
17. Проверьте подключение к каналу данных.
Проверка подключения сайта к облаку локально
См. схему. Убедитесь, что путь к данным между s1-vm и workload1-vm
Настройка статических маршрутов VPC для сайта в облако
Локальные Site1-VPC и Site2-VPC имитируют локальную сеть центра обработки данных.
Устройства маршрутизаторов Site-1-nva и Site-2-nva используют VPN-подключение для доступа к сети концентратора.
В случае использования сайта в облаке** создайте статические маршруты к месту назначения 192.168.0.0/16, используя устройство маршрутизатора в качестве следующего перехода для доступа к сетям в облачной сети GCP.
На s1-inside-vpc создайте статический маршрут для облачного пункта назначения (192.168.0.0/16):
gcloud compute routes create site1-subnet-route \
--network=s1-inside-vpc \
--destination-range=192.168.0.0/16 \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a
На s2-inside-vpc создайте статический маршрут для облачного пункта назначения (192.168.0.0/16):
gcloud compute routes create site2-subnet-route \
--network=s2-inside-vpc \
--destination-range=192.168.0.0/16 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
В CloudShell найдите IP-адрес «workload1-vm ». Это понадобится вам для проверки соединения с « s1-vm ».
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
Откройте SSH-соединение с s1-vm, если истечет время ожидания, повторите попытку.
gcloud compute ssh s1-vm --zone=us-central1-a
Подключитесь по SSH к « s1-vm» и используйте команду « curl» , чтобы установить TCP-сеанс с IP-адресом рабочей нагрузки 1-VM.
s1-vm:~$ curl 192.168.235.3 -vv * Trying 192.168.235.3:80... * Connected to 192.168.235.3 (192.168.235.3) port 80 (#0) > GET / HTTP/1.1 > Host: 192.168.235.3 > User-Agent: curl/7.74.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Date: Wed, 07 Dec 2022 15:12:08 GMT < Server: Apache/2.4.54 (Debian) < Last-Modified: Tue, 06 Dec 2022 00:57:46 GMT < ETag: "1f-5ef1e4acfa1d9" < Accept-Ranges: bytes < Content-Length: 31 < Content-Type: text/html < Page served from: workload1-vm * Connection #0 to host 192.168.235.3 left intact
Проверка связи между сайтами
Обратитесь к схеме и убедитесь, что путь данных между s1-vm и s2-vm
Настройте статические маршруты VPC для Site to Site.
Чтобы маршрутизировать межсайтовый трафик между сайтом 1 и сайтом 2 с использованием глобальной сети GCP, вы создадите статические маршруты к пунктам назначения подсети удаленного сайта, используя локальное устройство маршрутизатора в качестве следующего перехода.
На более позднем этапе VPC рабочей нагрузки будет настроен с помощью NCC для поддержки передачи данных между площадками.
На s1-inside-vpc создайте статический маршрут для доступа к подсети site2 (10.20.1.0/24):
gcloud compute routes create site1-sn1-route \
--network=s1-inside-vpc \
--destination-range=10.20.1.0/24 \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a
В s2-inside-vpc создайте статический маршрут для доступа к подсети site1 (10.10.1.0/24):
gcloud compute routes create site2-sn1-route \
--network=s2-inside-vpc \
--destination-range=10.10.1.0/24 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
В CloudShell найдите IP-адрес « s2-vm ». Это понадобится вам для проверки подключения от S1-VM.
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
Откройте SSH-соединение с s1-vm, если истечет время ожидания, повторите попытку.
gcloud compute ssh s1-vm --zone=us-central1-a
Подключитесь по SSH к « s1-vm» и «пингуйте» IP-адрес « s2-vm ».
s1-vm:~$ ping 10.20.1.3
PING 10.20.1.3 (10.20.1.3) 56(84) bytes of data.
64 bytes from 10.20.1.3: icmp_seq=1 ttl=60 time=99.1 ms
64 bytes from 10.20.1.3: icmp_seq=2 ttl=60 time=94.3 ms
64 bytes from 10.20.1.3: icmp_seq=3 ttl=60 time=92.4 ms
64 bytes from 10.20.1.3: icmp_seq=4 ttl=60 time=90.9 ms
64 bytes from 10.20.1.3: icmp_seq=5 ttl=60 time=89.7 ms
18. Очистка
Войдите в облачную оболочку и удалите экземпляры виртуальных машин в сетях концентратора и филиала.
#on prem instances
gcloud compute instances delete s1-vm --zone=us-central1-a --quiet
gcloud compute instances delete s2-vm --zone=us-east4-b --quiet
#delete on prem firewall rules
gcloud compute firewall-rules delete site1-ssh --quiet
gcloud compute firewall-rules delete site1-internal --quiet
gcloud compute firewall-rules delete site1-cloud --quiet
gcloud compute firewall-rules delete site1-vpn --quiet
gcloud compute firewall-rules delete site1-iap --quiet
gcloud compute firewall-rules delete site2-ssh --quiet
gcloud compute firewall-rules delete site2-internal --quiet
gcloud compute firewall-rules delete site2-cloud --quiet
gcloud compute firewall-rules delete site2-vpn --quiet
gcloud compute firewall-rules delete site2-iap --quiet
gcloud compute firewall-rules delete allow-from-site-1-2 --quiet
gcloud compute firewall-rules delete s2-inside-cloud s2-inside-internal s2-inside-ssh --quiet
gcloud compute firewall-rules delete s1-inside-cloud s1-inside-iap s1-inside-internal s1-inside-ssh s2-inside-cloud s2-inside-iap s2-inside-internal s2-inside-ssh --quiet
#delete ncc spokes
gcloud network-connectivity spokes delete s2s-wrk-cr1 --region us-central1 --quiet
gcloud network-connectivity spokes delete s2s-wrk-cr2 --region us-east4 --quiet
#delete ncc hub
gcloud network-connectivity hubs delete ncc-hub --quiet
#delete the cloud router
gcloud compute routers delete wrk-cr1 --region=us-central1 --quiet
gcloud compute routers delete wrk-cr2 --region=us-east4 --quiet
#delete the instances
gcloud compute instances delete hub-r1 --zone=us-central1-a --quiet
gcloud compute instances delete hub-r2 --zone=us-east4-b --quiet
gcloud compute instances delete workload1-vm --zone=us-central1-a --quiet
gcloud compute instances delete site1-nva --zone=us-central1-a --quiet
gcloud compute instances delete site2-nva --zone=us-east4-b --quiet
#delete on prem subnets
gcloud compute networks subnets delete hub-subnet1 s1-inside-subnet site1-subnet workload-subnet1 --region=us-central1 --quiet
gcloud compute networks subnets delete hub-subnet2 s2-inside-subnet site2-subnet workload-subnet2 --region=us-east4 --quiet
#delete hub firewall rule
gcloud compute firewall-rules delete hub-ssh --quiet
gcloud compute firewall-rules delete hub-vpn --quiet
gcloud compute firewall-rules delete hub-internal --quiet
gcloud compute firewall-rules delete hub-iap --quiet
gcloud compute firewall-rules delete workload-ssh --quiet
gcloud compute firewall-rules delete workload-internal --quiet
gcloud compute firewall-rules delete workload-onprem --quiet
gcloud compute firewall-rules delete workload-iap --quiet
#delete on vpcs
gcloud compute networks delete hub-vpc s1-inside-vpc s2-inside-vpc site2-vpc workload-vpc --quiet
19. Поздравляем!
Вы завершили лабораторную работу Центра сетевых подключений!
Что вы покрыли
- Настроенная программно-определяемая интеграция WAN для сайта NCC в облако
- Настроенная программно-определяемая интеграция WAN для узла сети NCC
Следующие шаги
- Обзор Центра сетевых подключений
- Документация Центра сетевых подключений
- ресурсы гибкой глобальной сети
- flexiWAN Репозиторий GitLab
©Google, LLC или ее дочерние компании. Все права защищены. Не распространяйте.