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-пен қолданыңыз, қонақтың жіберетінін растаңыз, содан кейін клиенттен сынаңыз.

Қатысты мақалалар