Планот се применува чисто, тунелот се крева и конзолата го нарекува заснован на правила. Сообраќајот сѐ уште не поминува, а барањето прекинувач за маршрутен режим во ресурсот на Terraform не води никаде, бидејќи такво поле не постои. Во Classic VPN маршрутното однесување не е режим што го избирате. Тоа е она што го добивате кога локалниот селектор на сообраќај е 0.0.0.0/0, далечинските селектори ги наведуваат мрежите што навистина ги сакате, а рутата покажува кон тунелот. Три работи, и ознаката следи.

Мит: поле за режим на тунелот

Ознаката во конзолата го одразува она што API го гледа во селекторите. Ништо во ресурсот не вели маршрутно, па нема што да се постави на точно.

Барањето на тоа поле го троши првиот час од проблемот, додека читањето на вредностите на селекторите ги зема последните пет минути.

Што значи маршрутно овде

Google ги документира маршрутните тунели на Classic VPN како тунели засновани на правила чиј локален селектор е 0.0.0.0/0. Се именуваат само далечинските опсези, а локалната страна се третира како која било адреса. Затоа ознаката во вашата конфигурација е вредност, а не режим. Запишете ги двата селектори експлицитно и прочитајте ги во излезот од планот:

local_traffic_selector  = ["0.0.0.0/0"]
remote_traffic_selector = ["10.20.0.0/16"]

Префиксот на партнерот во тој отсечок е илустративен; формата е она што е важно.

Рутата е посебен објект

Објектот на тунелот не инсталира рута. Пакетите можат да одговараат на правилата на тунелот и сепак да немаат каде да одат, бидејќи следниот скок го одредува табелата за рутирање на VPC. На рутата ѝ требаат опсегот на дестинација, мрежата, тунелот како следен скок и приоритет што победува сѐ пошироко. Ако го заборавите тоа, добивате тунел што пријавува воспоставена врска и проверка што никогаш не го напушта VPC.

resource "google_compute_route" "office" {
  name                = "office-via-vpn"
  dest_range          = "10.20.0.0/16"
  network             = google_compute_network.vpc.name
  next_hop_vpn_tunnel = google_compute_vpn_tunnel.to_office.id
  priority            = 1000
}

Создајте ја рутата во истиот модул како тунелот, за двете да не се разделат при прегледот.

Огледајте ги селекторите на партнерот

Далечинскиот уред мора да биде конфигуриран огледално: неговиот локален опсег е вашиот далечински селектор, а неговиот далечински опсег мора да ги покрива GCP подмрежите што планирате да ги користите. Ако која било страна се стесни, фазата 2 не успева иако фазата 1 успева. Тоа е најчестата форма на конфигурација што изгледа исправно во конзолата и не носи сообраќај.

Испечатете ги селекторите на двете страни еден до друг при прегледот на промената.

Поделете ја статичката адреса на две примени

Создавањето на резервираната адреса и тунелот што се повикува на неа во една примена е познат извор на нестабилност, бидејќи адресата мора да постои пред правилото за проследување да може да ја користи. Прво применијте го само ресурсот за адресата, потоа додајте ја портата, правилата за проследување и тунелот и применијте повторно. Terraform ја чита постоечката адреса од состојбата при второто пуштање и ја користи повторно. Ако тоа го прескокнете, тунелот може да добие нова јавна адреса при секоја примена, што ја крши конфигурацијата на партнерот секој пат.

Две примени сега се поевтини од промена на партнерот при секое издание.

Проверете го преговарањето, не ознаката

По примената проверете три одделни факти: тунелот пријавува воспоставена врска, рутата постои со предвидениот следен скок, а партнерот пријавува дека и фазата 1 и фазата 2 се кренати.

Тунел што е кренат додека фазата 2 е долу значи дека двете страни не се согласуваат за селекторите:

  • Едната страна наведува подмрежа што другата не ја наведува.
  • Едната страна користи агрегат што другата го стеснила.
  • Рутата постои, но покажува кон друг тунел.

Classic VPN е еден тунел со понизок SLA од HA VPN, а HA VPN користи две интерфејси, два тунели и BGP со различни типови ресурси. Копирањето класичен пример во HA конфигурација и очекувањето полињата на селекторот да се однесуваат исто е посебна грешка што вреди да се избегне. Самите полиња на тунелот се документирани во референцата за google_compute_vpn_tunnel.

Поврзани статии