VM IP өткөрүүсүз түзүлгөн, ал VPN программалык камсыздоосун мурунтан иштетип жатат, жана инстинкт аны желеги күйгүзүлгөн калыптан кайра курууну сунуштайт. Бул кайра куруунун кереги жок. Compute Engine canIpForwardду жаңыртылуучу касиет катары сунуштайт, жана документтештирилген жаңыртуу жолу аны кайра жүктөө эмес, refresh аркылуу колдонот. Желек чындыгында башкарган нерсе тар: онсуз платформа инстанска келген, бирок инстанстын өз дарегине багытталбаган пакеттерди таштайт. Башка машиналардын трафигин өткөргөн шлюз дал ушундай кылат, ошондуктан желек күйүк болушу керек. Андан кийинкинин баары коноктун конфигурациясы жана маршруттоо, аларга желек тийбейт.

Желек эмнени уруксат кылат, эмнени кылбайт

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

Өткөрүү күйүк болгондо инстанс VPC маршруту үчүн кийинки секирик катары иштей алат, бул VPN түзмөгүнө керектүү роль. Желек брандмауэрлер, коноктун маршруттоосу, туннелдин конфигурациясы же кайтаруу жолдору тууралуу эч нерсе айтпайт, жана бузулган шлюздеги true мааниси дагы эле бузулган шлюз.

Учурдагы касиетти окуңуз

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

gcloud compute instances describe VM_NAME --project PROJECT_ID --zone ZONE --format='value(canIpForward)'

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

Учурдагы инстансты жаңыртыңыз

Googleдун инстанстын касиеттерин жаңыртуу жол-жобосу учурдагы ресурсту экспорттойт, касиетти өзгөртөт жана натыйжаны тапшырат. Бул түзүү учурундагы --can-ip-forward желегинен башка жумуш агымы, жана иштеп жаткан VMде иштеген — ушул.

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

gcloud compute instances export VM_NAME --project PROJECT_ID --zone ZONE --destination=instance.yaml

Ошол экспорттолгон файлда касиетти коюп, башка эч нерсени өзгөртпөңүз:

canIpForward: true

Бүт ресурсту, анын изи менен кошо сактаңыз. Файлды бир саптуу YAML документи менен алмаштыруу, же машина түрүнө, дискке жана интерфейске тиешеси жок өзгөртүүлөрдү бир тапшырууга бириктирүү — касиеттин өзгөрүшү бузулушка айланган жол ушул.

Кандайдыр бир натыйжалуу өзгөртүүгө уруксат берилгенге чейин жаңыртуу механизминен файлды текшерүүнү жана эмне талап кылынарын билдирүүнү сураңыз:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=NO_EFFECT

Бул текшерүү жүргүзүү өткөрүүнү күйгүзбөйт. Жооптон жараксыз касиеттерди жана зарыл деп айтылган аракетти окуңуз. Бул обочолонгон өзгөртүү үчүн документтештирилген аракет — REFRESH. Эгер натыйжа кайра жүктөөнү сураса, файлда өзгөртмөк болгон касиеттен көбүрөөк нерсе бар, ошондуктан кайра жүктөөгө уруксат берүүнүн ордуна аны текшериңиз.

Каралып чыккан файлды refresh чектөөсү менен колдонуңуз:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=REFRESH

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

Конок пакетти баары бир маршруттошу керек

Булут уруксаты түзмөнү маршрутизаторго айландырбайт. VPC маршруту бул VMди барар префикс үчүн кийинки секирик катары тандаарын, жана конок өзүнүн өткөрүү саясатын күйгүзүп, туннель менен туура интерфейстин ортосунда маршруттайарын ырастаңыз.

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

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

Linux шлюзинде ядронун өткөрүүсү коноктун конфигурациясынын бөлүгү. pfSense түзмөгүнүн өз барабардыгы бар, жана ага Linux sysctl буйругун көчүрүү туура келүүчү кадам эмес.

Кирүү керек болгон кардардан текшериңиз

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

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

Жумуш тартиби: касиетти окуңуз, бир сапты экспорттоп түзөтүңүз, NO_EFFECT менен текшериңиз, REFRESH менен колдонуңуз, коноктун өткөрөрүн ырастаңыз, анан кардардан сынаңыз.

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