VM je stvoren bez IP prosljeđivanja, već pokreće VPN softver, a instinkt je ponovno ga izgraditi iz predloška s postavljenom zastavicom. Ta ponovna izgradnja nije potrebna. Compute Engine izlaže canIpForward kao svojstvo koje se može ažurirati, a dokumentirani put ažuriranja primjenjuje ga uz refresh umjesto ponovnog pokretanja. Ono što zastavica zapravo kontrolira usko je: bez nje platforma odbacuje pakete koji stižu na instancu, ali nisu adresirani na vlastitu adresu instance. Pristupnik koji prosljeđuje promet drugih strojeva čini upravo to, pa zastavica mora biti uključena. Sve nakon toga je konfiguracija gosta i usmjeravanje, koje zastavica ne dira.

Što zastavica dopušta, a što ne

Kad je prosljeđivanje onemogućeno, platforma instancu tretira kao krajnju točku. Paketi čije je odredište vlastita adresa instance dostavljaju se; paketi koje instanca treba dalje prenijeti u nečije ime ne dostavljaju se.

Kad je prosljeđivanje omogućeno, instanca može djelovati kao sljedeći skok za VPC rutu, a to je uloga potrebna VPN uređaju. Zastavica ne govori ništa o vatrozidima, usmjeravanju gosta, konfiguraciji tunela ni povratnim putanjama, i vrijednost true na pokvarenom pristupniku i dalje je pokvaren pristupnik.

Pročitajte trenutačno svojstvo

Pregledajte postavku prije bilo kakve promjene, koristeći describe samo za čitanje prema namjeravanoj instanci, projektu i zoni:

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

Vrijednost false važna je samo ako ovaj VM treba biti sljedeći skok. Ako jest, ostatak putanje i dalje treba zasebno provjeriti, jer je svojstvo jedan redak u duljem lancu.

Ažurirajte postojeću instancu

Googleov postupak ažuriranja svojstava instance izvozi trenutačni resurs, mijenja svojstvo i predaje rezultat. To je drugačiji tijek rada od zastavice --can-ip-forward pri stvaranju i upravo on radi na pokrenutom VM-u.

Najprije izvezite definiciju u lokalnu datoteku i sačuvajte nepromijenjenu kopiju za usporedbu:

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

U toj izvezenoj datoteci postavite svojstvo i ne mijenjajte ništa drugo:

canIpForward: true

Zadržite cijeli resurs, uključujući njegov otisak. Zamjena datoteke jednorednim YAML dokumentom ili spajanje nepovezanih izmjena tipa stroja, diska ili sučelja u istu predaju način je na koji promjena svojstva postaje prekid rada.

Zamolite mehanizam ažuriranja da provjeri datoteku i izvijesti što bi zahtijevao, prije nego što se dopusti ikakva stvarna promjena:

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

To probno pokretanje ne omogućuje prosljeđivanje. Pročitajte odgovor o nevaljanim svojstvima i o radnji za koju se kaže da je potrebna. Za ovu izoliranu promjenu dokumentirana radnja je REFRESH. Ako rezultat traži ponovno pokretanje, datoteka sadrži više od svojstva koje ste htjeli promijeniti, pa je pregledajte umjesto da odobrite ponovno pokretanje.

Primijenite pregledanu datoteku uz ograničenje refresh:

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

Provjerite je li operacija dovršena i ponovno pokrenite naredbu describe. Ako se otisak više ne podudara, netko je drugi promijenio instancu dok ste uređivali, pa izvezite svježu kopiju i ponovno pregledajte promjenu umjesto da progurate svoju zastarjelu datoteku.

Gost još mora usmjeriti paket

Dopuštenje u oblaku ne čini uređaj usmjerivačem. Potvrdite da VPC ruta odabire ovaj VM kao sljedeći skok za prefiks odredišta i da gost usmjerava između tunela i pravog sučelja sa svojom politikom prosljeđivanja uključenom.

Politika vatrozida mora dopustiti unutarnji tok, kao i vanjski slušatelj. Otvaranje samo VPN porta opisuje šifrirani prijenos i ne govori ništa o razmjeni aplikacije unutar njega.

Konačno, odredištu treba povratna putanja do skupa klijenata ili dizajn mora namjerno prevesti izvore. Ako odredište vidi prevedeni promet, provjerite prevedeni izvor; ako dizajn čuva skup, provjerite taj skup u povratnoj ruti i pravilima pristupa. Dodavanje NAT-a prije nego što odlučite koji dizajn želite skriva rutu koja nedostaje i mijenja politiku koju odredište vidi.

Na Linux pristupniku prosljeđivanje u jezgri dio je konfiguracije gosta. pfSense uređaj ima svoj ekvivalent, a kopiranje Linux sysctl naredbe u njega nije odgovarajući korak.

Provjerite s klijenta kojem treba pristup

Testirajte s VPN klijenta prema jednoj ciljnoj usluzi, a ne s pristupnika samog. Veza pokrenuta na pristupniku koristi drugi izvor i nikad ne provježbava pravila prosljeđivanja koja ste upravo omogućili.

Zabilježite svojstvo u čemu god upravlja uređajem. Ručno ispravljen VM radi do svoje sljedeće zamjene koja tiho vraća izvornu postavku, a taj će kvar izgledati kao regresija u VPN softveru.

Redoslijed rada: pročitajte svojstvo, izvezite i uredite jedan redak, provjerite s NO_EFFECT, primijenite s REFRESH, potvrdite da gost prosljeđuje, zatim testirajte s klijenta.

Povezani članci