Жергиликтүү тармак Cloud VPN аркылуу VPC'ге жеткенде, Compute Engine кызматынын багыты адатта VMдин ички дареги болот. Тышкы IPv4 дареги ошол эле жеке маршрутка коюуга боло турган экинчи дарек эмес. Бул тармактагы баш аламандыктын көбү үч иши бар үч даректи бири-бирине алмаштырууга болот деп карагандан келип чыгат, ошондуктан белгилүү бир пакеттин кайсынысын колдонуп жатканын атоодон баштаңыз.

Үч дарек, үч иш

Алардын кайсынысын болбосун жөндөөгө киришерден мурун үчөөнү тең атаңыз, анткени жооп кийинки текшере турган объектини өзгөртөт.

AddressJob
Cloud VPN endpointwhere the IPsec peers meet
Internal IPthe address your route and firewall must name
External IPv4the platform's inbound mapping, not a guest address

Биринчиси туннелге таандык. Экинчиси сиздин маршрут жана firewall дизайныңызга таандык. Үчүнчүсү кирүүчү интернет жетүүгө таандык жана ал картага түшүрүлөт, тиркелбейт. Алардын бири үчүн иштеген дизайн калган экөө жөнүндө эч нерсе айтпайт.

Эмне үчүн тышкы дарек экинчи интерфейс эмес

Даректоо боюнча колдонмо Compute Engine'де ички жана тышкы жеткиликтүүлүк кантип айырмаланары боюнча ыйгарым укуктуу булак болуп саналат. Compute Engine'дин тышкы IPv4 дареги инстанстын жалгыз ички NIC'ине бир-бирине картага түшүрүү болуп саналат, ошондуктан конок ошол NIC'те эч качан экинчи интерфейсти же экинчи даректи көрбөйт. VM ичинен билдирген нерсе дагы эле бир негизги ички дарек.

Ошондуктан туннел аркылуу 10.24.1.7 дарегине маршруттаган жеке кардар менен VMдин тышкы дарегин бутага алган кардар ар башка жолдордо. Коомдук дарек үчүн firewall эрежесин ачуу туннелдин трафигин ташуучу VPC маршрутунда эч нерсени өзгөртпөйт, ал эми коноктогу маршрутту оңдоо платформанын картасын жылдырбайт. Маршрутуңуз атаган даректи тандаңыз, анан аны башкарган объектилерди гана текшериңиз. Бул тартип бул мүчүлүштүктү оңдоо жолунан божомолдоолордун көбүн алып салат.

gcloud менен жолду басып өтүңүз

Инстанстан баштап эки даректи тең ошол эле объектиден окуңуз, ошондо документтериңиз кайсынысы жөнүндө айтып жатканын билесиз:

gcloud compute instances describe app-1 --zone=europe-west1-b \
  --format="value(networkInterfaces[0].networkIP,networkInterfaces[0].accessConfigs[0].natIP)"

Анан жол чындап көз каранды болгон маршруттоону жана уруксатты ырастаңыз:

gcloud compute routes list --filter="destRange:10.24.1.0/24"
gcloud compute firewall-rules list --filter="sourceRanges:10.99.0.0/24"
gcloud compute vpn-tunnels describe TUNNEL_NAME --region=europe-west1

Туннелдин жарыяланган жана үйрөнүлгөн диапазондорун окуңуз, жумуш жүктөмүнүн кошумча тармагы үчүн VPC маршрутун жана жергиликтүү булакка уруксат берген firewall эрежесин. Коноктогу угуучу маанилүү болушу үчүн бул үчөө келишиши керек.

Анан конокту текшериңиз: кызмат ички даректе угуп жатабы, жана анын кайтаруу жолу кайра VPC аркылуу өтөбү? Коомдук дарекке гана байланган угуучу бул сыноодон өтпөйт, эгер булут тараптагы ар бир объект туура болсо да.

Коомдук префикс башка суроо

Жогорудагылардын эч бири VPN ичинде ташылуучу ар бир дарек RFC1918 болушу керек дегенди билдирбейт. Алыскы тармакты коомдук мейкиндиктен мыйзамдуу түрдө номерлөөгө болот, платформа маршруттоону колдосо жана оператордо даректин ыйгарым укугу болсо. Бул кадимки дизайн тандоосу.

Бул кадимки тышкы NAT дарегин башка ички кошумча тармак дареги катары кароо менен бирдей эмес. Бири сиз маршруттаган префикс; экинчиси платформа кирүүчү жетүүгө колдонгон картага түшүрүү.

Тышкы IPv6 жана атайын долбоорлонгон дарек жайгашууларынын өз семантикасы бар. Планыңыз алардын бирине көз каранды болсо, IPv4 учурунан жалпылоонун ордуна ошол функция үчүн платформанын документтерин окуңуз. IPv4 картасы кадимки учур, жалгыз эмес, жана ар бир өзгөчөлүктүн өз эрежелери бар.

Кайчылашкан диапазондор башка маселе

Кайчылашкан жеке диапазондор адамдардын коомдук дарекке умтулушунун чыныгы себеби, жана бул туура эмес курал. Бара турган жерди VMдин NAT дарегине өзгөртүү кайчылашууну чечпейт; пакеттин кайсы дарек үчүн экенин билдирүүсүн өзгөртөт, кайтаруу жолунун кантип иштешин аныктабастан.

Кайчылашууну атайын чечиңиз: кайра номерлеңиз, колдоого алынган котормо дизайнын колдонуңуз же префикстер кагылышпаган тармак аркылуу маршруттаңыз. Алардын ар бири ээси бар дизайн. NAT дареги дизайн эмес.

Эки талааны өз-өзүнчө документтештириңиз

Туннелдин өнөктөшүн жана жумуш жүктөмүнүн бара турган жерин эки өзүнчө runbook талаасы катары жазыңыз, ар бири аны колдогон маршрут жана firewall эрежеси менен. Көтөрүлгөн IPsec туннели тараптар макулдашкандыгын гана айтат; жумуш жүктөмү кайсы даректе жеткиликтүү экенин да, анын жеке маршруту толукпу же жокпу да айтпайт.

Аркы тараптагы чыныгы кардар менен текшериңиз: атты чечиңиз, ички даректи кайтарарын ырастаңыз, туташыңыз жана кайтаруу трафигин текшериңиз. Compute Engine IP даректеринин документтери жогоруда колдонулган ички-тышкы айырмачылыгынын шилтемеси болуп саналат.

Тектеш макалалар