Tunelaren eta backendaren arteko nonbait, bezeroaren helbidea bizirik ateratzen da edo ordezkatu egiten da, eta bi emaitzak defendagarriak dira. Aukera zerbitzu hartzailearen jabearena da, ez CNIa instalatu zuenarena. Bezero bakoitzeko baimena, kuotak edo auditoretzako erregistroak garrantzitsuak direnean, helbideak jauzi guztiak gainditu behar ditu. Egozpen partekatua onargarria denean, iturri NATak betiko mantenduko zenukeen bideratze arazo bat kentzen du.

Non desagertzen den benetan bezeroaren helbidea

Urruneko bezero baten paketea VPN pod-era iristen da tunel barrutiko barne iturri batekin, demagun 10.90.0.42. Pod-ak pakete hori ClusterIP edo pod IP baterantz birbidaltzen duenean, hiru mekanismok berridatz dezakete iturria. Nodoko CNI masquerade arauak pod-ak kluster CIDR-etik kanpora bidaltzen duen trafikoa hartzen du. Helmuga nodoko kube-proxyren conntrack sarrerak Service jauzia bera hartzen du. Konexioa amaitzen duen proxy-ak ez du paketea batere birbidaltzen, beraz, azkenean ikusten duzun iturria proxy-arena da.

Bakoitza geruza ezberdin batean bizi da, horregatik Service eremu batek ia inoiz ez du bide osoa konpontzen.

VPNaren Service publikoan externalTrafficPolicy ezarpenak kanpoko konexioari zer gertatzen zaion soilik erabakitzen du: Local-ek urruneko helbidea jaso zuen nodoan mantentzen du, eta Cluster-ek kube-proxyri paketea beste nodo batera pasatzen uzten dio eta han masquerade egiten du. Ezarpen horrek zure bezeroek deitzen duten entzulea arautzen du. Ez du ezer esaten gero zure VPN prozesuak klusterrean sartzen duen deskifratutako paketeari buruz.

Eztabaida konpontzen duten hiru baldintza

Hiru galdera berberak ordena berean egiten ditut hau ateratzen den bakoitzean, lehenengoak normalean eztabaida amaitzen duelako. Erantzun karga-lan zehatzari, ez kluster osoari. Enpresa bateko bi klusterrek erantzun desberdinak lor ditzakete eta biak zuzen egon.

QuestionPreserveSNAT
Does the backend enforce policy per client?Yes, the address is the identityOnly if a trusted proxy supplies identity
Can the cluster route 10.90.0.0/24 back to a stable gateway?RequiredNot needed
Is the workload a forwarder or a proxy?ForwarderProxy is fine

Backendak lehen galderari bai eta bigarrenari ez erantzuten badio, manifest bat editatu beharrean sare-lana duzu egiteko. Hirugarren errenkadak proxy esaten badu, helbideak ez zuen inoiz bizirik aterako, eta kontrakoa simulatzen baduzu astebete pakete-harrapaketekin ordaintzen duzu.

Preserve moduak saretik eskatzen duena

Iturria gordetzeko, helmuga nodoak trafikoa 10.90.0.42ra itzuli behar du VPN gateway aktibo baten bidez. VPN pool-a ez da kluster CIDR bat, beraz CNI batek ere ez du automatikoki bideratzen zuretzat. Bidea zuk gehitzen duzu, eta gero ziurtatzen duzu seinalatzen duen gateway muturrak berrerrotatze bat gainditzen duela.

ip route add 10.90.0.0/24 via 10.244.3.17 dev eth0
sysctl -w net.ipv4.conf.eth0.rp_filter=2

Hurrengo jauzi hori pod helbide bat da, eta pod helbideak mugitu egiten dira. Bideratu bidea finko mantentzen den Service VIP edo nodo helbide batera, edo onartu desalojo bakoitzaren ondoren gatewayaren atzetik ibiliko zarela. Itzulera-bidearen iragazketa da beste tranpa: modu zorrotzak iristen ziren interfazearekin bat ez datorren itzulera-bidea duten paketeak baztertzen ditu, eta hori da gordetako VPN fluxuaren forma zehatza.

Baliozkotze lasaia sarritan itzulera-bide eraginkor baten eta backenda utzi ondoren desagertzen diren erantzunen arteko aldea da. VPN nodoko masquerade arauek tunel barrutia baztertu behar dute ere, bestela birbidalitako paketea pod-aren helbidearekin ateratzen da, eraiki duzun bidea edozein dela ere. Hobe ezazu bazterketa hori CNIren beraren konfigurazioan adieraztea iptables eskuz editatu beharrean, agenteak bere kateak berridazten baititu berrabiaraztean eta zure eskuz idatzitako arauak hurrengo bertsio-berritze arte irauten baitu.

NetworkPolicy sarbide-kontrola da, ez bideratzea. Politika bat gogortzeak ez du inoiz masquerade-k jada ordezkatu duen helbiderik berreskuratuko.

Zenbat kostatzen den SNATak, eta nola idatzi

Klusterrerantz iturri NATa diseinu merkeena da, eta ez da akats bat. Backendak VPN pod edo nodoaren helbidea ikusten du, erregistroak bat datoz, eta ez da itzulera-biderik egon behar. Galtzen duzuna bi bezero sare-geruzan bereizteko gaitasuna da, beraz kuotak, debekuak eta auditoretza-arrastoak beste nonbaitetik etorri behar dira.

Normalean beste nonbait hori aplikazioa da: saio-token bat, sinatutako goiburu bat edo zuk kontrolatzen duzun proxy batek idatzitako PROXY protokolo lerro bat. Horiek hartzaileari konfiantzazko identitatea ematen diote proxy-a bidean dagoenean eta goiburua bezeroaren aldetik ezarri ezin denean soilik. Izan argi runbookean zein aplikatzen den, hurrengo ingeniariak erregistroko helbidea bezeroa delako ustea hartuko baitu. Ez da, eta gertaera batek nahikoa da uste hori garesti egiteko.

Trukea zintzoa izaten jarraitzen du idatzita dagoen bitartean.

Bide eraginkorra eta zortezkoa bereizten dituzten egiaztapenak

Probatu konexio berri batekin cachean gordetako batekin baino, eta probatu bi noranzkoetan. Hainbat hutsegite tartekatuak dirudite soilik fluxu berriek berridatzitako bidea hartzen dutelako.

Harrapatu tupla hiru puntutan baimendutako eskaera batean: deskapsulatzearen ondoren berehala, VPN pod-aren irteera interfazean, eta backendan. Iturria bigarren eta hirugarren harrapaketen artean aldatzen bada, kausa pod-aren beherago dago. Bigarrena baino lehen aldatzen bada, pod-ak berak itzultzen du.

Gero ezabatu VPN pod-a eta errepikatu proba berrerrotatzen den bitartean. Desalojoan hausten den bide gorde bat amaitu gabea da, eta NAT arau bat jada existitzen ez den helbide batera finkatuta ere bai. Azkenik, ukatuko dela espero duzun iturri batetik eskaera bat bidali eta egiaztatu uko egitea politikatik datorrela, falta den bide batetik eta ez.

Erlazionatutako artikuluak