Omogočanje posredovanja IP na obstoječem prehodu GCE VPN
canIpForward je lastnost, ki jo je mogoče posodobiti, ne razlog za ponovno gradnjo VM. Izvozite vir, spremenite eno vrstico, preverite in nato uporabite z refresh.
VM je bil ustvarjen brez posredovanja IP, že izvaja programsko opremo VPN, in instinkt je, da ga znova zgradimo iz predloge z nastavljeno zastavico. Ta ponovna gradnja ni potrebna. Compute Engine izpostavlja canIpForward kot lastnost, ki jo je mogoče posodobiti, in dokumentirana pot posodobitve jo uporabi z refresh namesto s ponovnim zagonom. Kar zastavica dejansko nadzoruje, je ozko: brez nje platforma zavrže pakete, ki prispejo v instanco, a niso naslovljeni na naslov instance same. Prehod, ki posreduje promet drugih strojev, počne natanko to, zato mora biti zastavica vključena. Vse po tem je konfiguracija gosta in usmerjanje, ki se ju zastavica ne dotakne.
Kaj zastavica dovoljuje in česa ne
Ko je posredovanje onemogočeno, platforma instanco obravnava kot končno točko. Paketi, katerih cilj je naslov instance same, se dostavijo; paketi, ki jih mora instanca posredovati naprej v imenu nekoga drugega, se ne.
Ko je posredovanje omogočeno, lahko instanca deluje kot naslednji skok za pot VPC, in to je vloga, ki jo potrebuje naprava VPN. Zastavica ne pove ničesar o požarnih zidovih, usmerjanju gosta, konfiguraciji tunela ali povratnih poteh, in vrednost true na pokvarjenem prehodu je še vedno pokvarjen prehod.
Preberite trenutno lastnost
Preverite nastavitev, preden karkoli spremenite, z describe samo za branje proti predvideni instanci, projektu in coni:
gcloud compute instances describe VM_NAME --project PROJECT_ID --zone ZONE --format='value(canIpForward)'
Vrednost false je pomembna le, če naj bo ta VM naslednji skok. Če je tako, je treba preostanek poti vseeno preveriti ločeno, ker je lastnost ena vrstica v daljši verigi.
Posodobite obstoječo instanco
Googlov postopek za posodabljanje lastnosti instance izvozi trenutni vir, spremeni lastnost in predloži rezultat. To je drugačen potek dela kot zastavica --can-ip-forward ob ustvarjanju, in prav ta deluje na delujočem VM.
Najprej izvozite definicijo v lokalno datoteko in obdržite nespremenjeno kopijo za primerjavo:
gcloud compute instances export VM_NAME --project PROJECT_ID --zone ZONE --destination=instance.yaml
V tej izvoženi datoteki nastavite lastnost in ne spremenite ničesar drugega:
canIpForward: true
Ohranite celoten vir, vključno z njegovim odtisom. Zamenjava datoteke z enovrstičnim dokumentom YAML ali združevanje nepovezanih sprememb tipa stroja, diska ali vmesnika v isto predložitev je pot, po kateri sprememba lastnosti postane izpad.
Zaprosite mehanizem za posodabljanje, naj datoteko preveri in sporoči, kaj bi zahteval, preden je dovoljena kakršna koli dejanska sprememba:
gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=NO_EFFECT
Ta preveritveni zagon ne omogoči posredovanja. Preberite odgovor glede neveljavnih lastnosti in dejanja, ki je navedeno kot potrebno. Za to izolirano spremembo je dokumentirano dejanje REFRESH. Če rezultat zahteva ponovni zagon, datoteka vsebuje več kot lastnost, ki ste jo hoteli spremeniti, zato jo preglejte, namesto da bi ponovni zagon odobrili.
Uporabite pregledano datoteko z omejitvijo refresh:
gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=REFRESH
Preverite, ali je operacija končana, in znova zaženite ukaz describe. Če se odtis ne ujema več, je nekdo drug med vašim urejanjem spremenil instanco, zato izvozite svežo kopijo in spremembo znova pregledajte, namesto da bi potisnili svojo zastarelo datoteko.
Gost mora paket še vedno usmeriti
Dovoljenje v oblaku naprave ne naredi za usmerjevalnik. Potrdite, da pot VPC izbere ta VM kot naslednji skok za ciljno predpono in da gost usmerja med tunelom in pravilnim vmesnikom z omogočeno lastno politiko posredovanja.
Politika požarnega zidu mora dovoliti notranji tok in zunanjega poslušalca. Odpiranje samo vrat VPN opisuje šifriran prenos in ne pove ničesar o izmenjavi aplikacije v njem.
Nazadnje, cilj potrebuje povratno pot do nabora odjemalcev, ali pa mora zasnova vire namerno prevajati. Če cilj vidi preveden promet, preverite prevedeni vir; če zasnova ohranja nabor, preverite ta nabor v povratni poti in pravilih dostopa. Dodajanje NAT, preden se odločite, katero zasnovo želite, skrije manjkajočo pot in spremeni politiko, ki jo vidi cilj.
Na prehodu Linux je posredovanje v jedru del konfiguracije gosta. Naprava pfSense ima svoj ekvivalent in kopiranje ukaza sysctl iz Linuxa vanjo ni ustrezen korak.
Preverite pri odjemalcu, ki potrebuje dostop
Testirajte z odjemalca VPN do ene ciljne storitve, ne s prehoda samega. Povezava, začeta na prehodu, uporablja drug vir in nikoli ne preizkusi pravil posredovanja, ki ste jih pravkar omogočili.
Zabeležite lastnost v tem, kar upravlja napravo. Ročno popravljen VM deluje, dokler njegova naslednja zamenjava tiho ne vrne prvotne nastavitve, in ta okvara bo videti kot regresija v programski opremi VPN.
Vrstni red dela: preberite lastnost, izvozite in uredite eno vrstico, preverite z NO_EFFECT, uporabite z REFRESH, potrdite, da gost posreduje, in nato testirajte z odjemalca.