In applikaasjekontener dy’t de netwurknammeromte fan in VPN-kontener dielt, hat gjin eigen ynterface, dus is it maklik om oan te nimmen dat er neat stjoere kin as de tunnel falt. Dy oanname is ferkeard yn de flatermodus dy’t ta saak docht. As it VPN-proses stjert wylst de nammeromte bestiet, behâldt de applikaasje syn sockets en behâldt de nammeromte syn rûtes, en it ferkear giet troch op hokker paad dan ek noch ynstallearre is. In echte noodstop is in eksplisyt filterbelied plus tests fan de libbenssyklus fan de runtime, net in ôfhinklikens by it opstarten.

Wêrom it dielen fan in nammeromte gjin noodstop is

In nammeromte dielen betsjut dat de app de ynterfaces, adressen en rûtetabel fan de VPN-kontener brûkt. It hellet it selsstannige paad fan de app nei it netwurk wei salang’t de dielde nammeromte yntakt is, en it seit neat oer wat dy nammeromte docht as de tunnel fuortgiet.

Compose-ôfhinklikensbetingsten kinne it opstarten fan in app útstelle oant in ôfhinklikens sûn is. Dat dekt ien momint yn ’e tiid en gjin lettere flater, dus it is in helpmiddel foar opstartfolchoarder en net in trochgeande útgongsbrânmuorre.

Wat der echt bart as de kontener út giet

Ûnderskied trije barrens. It VPN-proses yn de kontener kin stjerre wylst de kontener trochrint. De kontener kin stopje of fuortsmiten wurde, wat de nammeromte ferneatiget. De kontener kin opnij makke wurde, wat in nije nammeromte en nije regels bout.

Yn it earste gefal bliuwt de nammeromte bestean, kin de standertrûte noch nei de fysike ynterface wize, en de applikaasje bliuwt direkt stjoeren. Yn it twadde gefal ferliest de ôfhinklike app meastentiids de ferbining hielendal, om’t syn nammeromte ferdwûn is. Yn it tredde gefal kin de app wer ferbine mei in farske nammeromte foar’t de tunnel klear is. Elk gefal freget in oare test, en in ûntwerp dat allinnich de oardlike ferbrekking dekt, dekt de minst nijsgjirrige.

Bou in eksplisyt útgongsbelied

Skriuw it belied yn de dielde nammeromte sadat it jildt foar de pakketten fan de applikaasje. De foarm is in standertôfwizing mei smelle útsûnderingen: loopback, de tunnel-ynterface, en it spesifike einpuntadres en de poarte dy’t it tunnelferfier nedich hat.

De útsûndering foar it einpunt moat yn plak wêze foar’t de tunnel omheech giet, oars kin de VPN-klant syn tsjinner net berikke. Dêrom lit de regelset it bûtenste ferfier eksplisyt ta ynstee fan de fysike ynterface yn it algemien. Foegje ek IPv6-regels ta as de nammeromte IPv6-ferbining hat, want in belied dat allinnich IPv4 is, lit de oare famylje iepen.

DNS heart ek by it belied. As de app nammen oplost fia in resolver dy’t allinnich yn de tunnel berikber is, sil de ôfwizingsregel it oplossen brekke as de tunnel del is, en dat is it juste gedrach foar in noodstop. Beslis bewust of dat is wat jo wolle.

Test de libbenssyklus, net allinnich de ferbrekking

Stjoer in farsk ûnskeadlik fersyk wylst de tunnel sûn is, deadzje dan it VPN-proses en stjoer noch ien. Werhelje dat nei in kontenerstop, nei in werstart en nei it opnij meitsjen. In farsk fersyk is wichtich om’t in besteande ferbining in regelwiziging oerlibje kin dy’t nije blokkearret.

Fertrou net op in sûnenschecks of in útgongs-IP-syktocht as it blokkearmeganisme. In check observearret steat en rapportearret dy; in belied kontrolearret ferkear. Beide hearre yn deselde útrol, en se binne gjin ferfangings.

Skriuw de regels op sadat de test in fernijing oerlibbet

Skriuw de ferwachte útkomst foar elk flatergeval yn de útroldokumintaasje, tegearre mei de regels dy’t it ymplementearje. Dat ferslach lit deselde test rinne nei in byldfernijing of in runtime-upgrade, wannear’t nammeromtegedrach of standertrûtes feroarje kinne sûnder dat immen it compose-bestân bewurket.

Hâld it fereaske bûtenpaad fan it VPN-einpunt apart fan ûnbeheind applikaasje-útgong, en hâld DNS en IPv6 binnen de bedoelde dekking. As it belied de hiele fysike ynterface foar gemak tastiet, is de noodstop fuort. De Docker-netwurddokumintaasje beskriuwt de dielde-nammeromte-yndieling dêr’t it belied op boud is, en dat is de referinsje om te kontrolearjen as it gedrach fan de runtime yn twifel is.

Relatearre artikelen