IP alabara VPN ninu Kubernetes: kó wa ni ipamọ tabi SNAT?
Yan laaarin ipamọ adirẹsi gidi alabara VPN ati NAT orisun ninu Kubernetes nipa awọn ipo mẹta, lẹhinna ṣayẹwo ọna ipadabọ ati iyipada pod.
Nibikan laaarin tunnel ati backend, adirẹsi alabara boya yoo ye tabi a yoo rọpo rẹ, ati pe awọn abajade mejeeji jẹ eyiti a le gbeja. Yiyan jẹ ti ẹniti o ni iṣẹ ti n gba, kii ṣe ẹniti o fi CNI sori ẹrọ. Nigbati aṣẹ fun alabara kọọkan, awọn ipin tabi awọn igbasilẹ iṣayẹwo ba ṣe pataki, adirẹsi gbọdọ ye kọja gbogbo igbesẹ. Nigbati ipinpin papọ ba jẹ itewogba, NAT orisun yọ iṣoro ipa-ọna kan kuro ti iwọ iba ti tọju lailai.
Ibi ti adirẹsi alabara gbé pòórá sí
Pakẹti alabara ti o jinna de pod VPN pẹlu orisun inu laaarin agbegbe tunnel, sọ pe 10.90.0.42. Nigbati pod ba fi pakẹti yẹn ranṣẹ si ClusterIP tabi IP pod, awọn ọna mẹta ti o yatọ le tún orisun kọ. Ofin masquerade ti CNI lori node bo awọn ijabọ ti pod fi ranṣẹ si ita CIDR ijo. Igbasilẹ conntrack ti kube-proxy lori node ibi-afẹde bo igbesẹ Service funrararẹ. Proxy ti o pari asopọ ko fi pakẹti ranṣẹ rara, nitorina orisun ti o ri nikẹhin jẹ ti proxy naa.
Ọkọọkan wọn ngbe ni ipele ti o yatọ, nitorina aaye Service kan ko fẹrẹ tún gbogbo ọna naa ṣe.
externalTrafficPolicy lori Service gbangba ti VPN nikan pinnu ohun ti o ṣẹlẹ si asopọ ita: Local ntọju adirẹsi jijinna lori node ti o gba a, nigba ti Cluster n gba kube-proxy laaye lati fi pakẹti naa fun node miiran ki o ṣe masquerade nibẹ. Eto yẹn n ṣakoso listener ti awọn alabara rẹ n sopọ mọ. Ko sọ nkankan nipa pakẹti ti a ti túmọ ti ilana VPN rẹ n dari si inu ijo lẹhinna.
Awọn ipo mẹta ti o yanju ariyanjiyan naa
Mo béèrè awọn ibeere mẹta kanna ni ọna kanna ni gbogbo igba ti eyi ba dide, nitori ti akọkọ maa n pari ijiroro naa. Dahun wọn fun ẹru iṣẹ kan pato kii ṣe fun gbogbo ijo. Awọn ijo meji laaarin ile-iṣẹ kan le de awọn idahun oriṣiriṣi ati pe awọn mejeeji le tọ.
| Question | Preserve | SNAT |
|---|---|---|
| Does the backend enforce policy per client? | Yes, the address is the identity | Only if a trusted proxy supplies identity |
| Can the cluster route 10.90.0.0/24 back to a stable gateway? | Required | Not needed |
| Is the workload a forwarder or a proxy? | Forwarder | Proxy is fine |
Ti backend ba dahun bẹẹni si ibeere akọkọ ati rara si ekeji, o ni iṣẹ nẹtiwọọki lati ṣe dipo manifest lati ṣatunkọ. Ti ila kẹta ba sọ proxy, adirẹsi naa ko iba ye lailai, ati pe didanwo idakeji jẹ ọ̀sẹ̀ kan ti gbigba pakẹti.
Kini ipo preserve beere lọwọ nẹtiwọọki
Ipamọ orisun tumọ si pe node ibi-afẹde gbọdọ da ijabọ pada si 10.90.0.42 nipasẹ ẹnu-ọna VPN ti n ṣiṣẹ. Adagun VPN kii ṣe CIDR ijo, nitorina ko si CNI ti o n dari rẹ fun ọ nipasẹ aiyipada. Iwọ funrararẹ yoo fi ọna kun, lẹhinna rii daju pe aaye ipari ẹnu-ọna ti o tọka si ye kọja atunto.
ip route add 10.90.0.0/24 via 10.244.3.17 dev eth0
sysctl -w net.ipv4.conf.eth0.rp_filter=2
Igbesẹ ti o tẹle jẹ adirẹsi pod, ati awọn adirẹsi pod n gbe lọ. Dari ọna naa si VIP Service tabi adirẹsi node ti o duro ni aaye, tabi gba pe iwọ yoo lepa ẹnu-ọna naa lẹhin gbigbe kuro kọọkan. Sisẹ ọna yiyipada jẹ pakute miiran: ipo lile n ju awọn pakẹti ti ọna ipadabọ wọn ko baamu interface ti wọn gba wọle lori, ati pe eyi ni irisi pipe ti ṣiṣan VPN ti a fipamọ.
Ṣiṣayẹwo alailagbara nigbagbogbo jẹ iyatọ laaarin ọna ipadabọ ti n ṣiṣẹ ati awọn idahun ti o padanu lẹhin ti wọn ba kuro ni backend. Awọn ofin masquerade lori node VPN tun gbọdọ yọ agbegbe tunnel kuro, bibẹẹkọ pakẹti ti a fi ranṣẹ yoo jade pẹlu adirẹsi pod, laibikita ọna ti o kọ. O dara julọ lati ṣafihan iyọkuro yẹn ninu iṣeto CNI funrararẹ dipo ṣatunkọ iptables pẹlu ọwọ, nitori aṣoju n tún awọn ẹwọn rẹ kọ nigbati o bẹrẹ, ati ofin ti o fi ọwọ kọ yoo duro ni deede titi di igbesoke ti o tẹle.
NetworkPolicy jẹ iṣakoso iwọle, kii ṣe ipa-ọna. Lilọ ofin kan le ko da adirẹsi ti masquerade ti rọpo pada.
Kini SNAT n na, ati bawo ni lati kọ ọ silẹ
NAT orisun si ijo jẹ apẹrẹ ti o din owo julọ, ati pe kii ṣe aṣiṣe. Backend ri adirẹsi pod tabi node VPN, awọn igbasilẹ n baamu, ati pe ko nilo ọna ipadabọ kan lati wa. Ohun ti o padanu ni agbara lati yato awọn alabara meji ni ipele nẹtiwọọki, nitorina awọn ipin, awọn idiwọ ati awọn ami iṣayẹwo gbọdọ wa lati ibomiran.
Nigbagbogbo ibomiran yẹn ni ohun elo: token igba, akọsori ti a fowo si, tabi laini ilana PROXY ti proxy ti o ṣakoso kọ. Iwọnyi fun olugba ni idanimọ ti o le gbẹkẹle nikan nigbati proxy wa ni ọna ati pe a ko le ṣeto akọsori lati ẹgbẹ alabara. Jẹ kedere ninu runbook nipa eyi ti o kan, nitori ẹlẹrọ ti o tẹle yoo ro pe adirẹsi ninu igbasilẹ jẹ alabara. Kii ṣe bẹẹ, ati iṣẹlẹ kan to lati jẹ ki ironu yẹn wọn.
Paṣipaarọ naa wa ni otitọ niwọn igba ti a ba kọ ọ silẹ.
Awọn ayẹwo ti o ya ọna ti n ṣiṣẹ kuro ninu ọna oriire
Danwo pẹlu asopọ tuntun dipo ti a ti fipamọ sinu kaṣe, ki o danwo ni ẹgbẹ mejeeji. Ọpọlọpọ awọn ikuna dabi alaileto nikan nitori awọn ṣiṣan tuntun gba ọna ti a tún kọ.
Mu tuple ni aaye mẹta lakoko ibeere ti a fun ni aṣẹ: lẹsẹkẹsẹ lẹhin iyọkuro, lori interface ijade pod VPN, ati lori backend. Ti orisun ba yipada laaarin gbigba keji ati kẹta, idi naa wa ni isalẹ pod. Ti o ba yipada ṣaaju ẹkeji, pod funrararẹ n túmọ.
Lẹhinna pa pod VPN rẹ, ki o tun idanwo naa ṣe lakoko ti a tun ṣeto rẹ. Ọna ti a fipamọ ti o fọ nigba gbigbe kuro ko pari, ati bẹẹ ni ofin NAT ti a so mọ adirẹsi ti ko si mọ. Nikẹhin, fi ibeere kan ranṣẹ lati orisun ti o nireti pe yoo kọ, ki o jẹrisi pe ikọ naa wa lati eto imulo kii ṣe lati ọna ti o nsọnu.