Crúca PHP OpenVPN: trusted_ip in aghaidh ifconfig_pool_remote_ip
Dhá sheoladh le dhá bhrí éagsúla, á léamh ag próiseas nár sheol tusa. Cad iad na hathróga crúca, agus cén fáth nach gcruthaíonn $_ENV folamh aon rud.
Mothaíonn eagar $_ENV folamh i scríbhinn crúca mar chruthúnas nach bhfuil OpenVPN tar éis aon rud a sheoladh ar aghaidh. De ghnáth is cruthúnas é ar rud eile ar fad: bhí PHP cumraithe gan an ollathróg sin a líonadh, agus bhí na luachanna ina luí i dtimpeallacht an phróisis an t-am ar fad. Tá an dara conclúid bhréagach níos caolchúisí, toisc go gciallaíonn an dá athróg seolaidh i gcrúca naisc rudaí éagsúla agus go n-úsáidtear iad go malartach. Cosnaíonn an dá dhearmad tráthnóna má thosaíonn tú leis an gceann mícheart.
Dhá sheoladh, dhá mhaíomh éagsúla
Is é an t-aonphointe seachtrach an rud a bhreathnaigh an freastalaí nuair a cheangail an cliant, ar fáil mar trusted_ip le haghaidh IPv4 agus mar trusted_ip6 le haghaidh IPv6. Is é an seoladh fíorúil an rud a leithdháil an linn don seisiún seo, ar fáil mar ifconfig_pool_remote_ip.
Freagraíonn siad ceisteanna éagsúla, agus is gnách go mbíonn ceann amháin de dhíth ar thaifead seachas an dá cheann. Is é an chéad cheann cá as a dtáinig an nasc, rud a d'fhéadfadh a bheith ina sheoladh NAT comhroinnte a úsáideann na céadta duine. Is é an dara ceann cá bhfuil an seisiún seo ina chónaí taobh istigh den tollán, agus féadtar é a ath-leithdháileadh ar sheisiún eile níos déanaí. Má mhearbhaítear an dá cheann, cruthaítear taifid a bhfuil cuma inchreidte orthu agus atá mícheart.
Bíonn cuma mar seo ar íosléamh.
$outer4 = getenv('trusted_ip');
$outer6 = getenv('trusted_ip6');
$inner = getenv('ifconfig_pool_remote_ip');
$outer = $outer4 !== false ? $outer4 : $outer6;Ní aithníonn ceachtar den dá luach duine ar bith. Breathnóireacht líonra is ea ceann amháin, léas is ea an ceann eile, agus beidh taifead a dhéileálann le ceachtar acu mar aitheantóir seasta gléis mícheart an chéad uair a athcheanglaíonn cliant ó líonra eile nó a fhaigheann seoladh linn eile. Roghnaigh an réimse de réir na ceiste a chaithfidh an taifead a fhreagairt, agus ansin scríobh an cheist sin in aice an cholúin.
Seiceáil conas a seoladh PHP, ní do bhlaosc
Ritheann an crúca mar leanbh ag an daemon VPN le timpeallacht a thógann an daemon. Tá ceann eile ag do bhlaosc idirghníomhach, agus tástáileann rith na scríbhinne de láimh timpeallacht na blaoisce seach timpeallacht an chrúca.
Cuir tús trí dheimhniú gur las an crúca go deimhin ag an gcéim a raibh súil agat léi. Tugann scríbhinn atá ceangailte leis an gcéim mhícheart, nó ceann nár ritheadh riamh toisc go bpointeálann an treoir chuig conair eile, an comhartha céanna go díreach le hathróg atá ar iarraidh. Cuir líne mharcála d'aon ghnó ag barr na scríbhinne agus deimhnigh go bhfeictear í sula scrúdaíonn tú aon rud eile. Dealaíonn aon líne amháin le stampa ama sa log idir nár ritheadh riamh agus ritheadh gan an luach.
Ansin deimhnigh cén t-idirghabhálaí agus cén comhad cumraíochta a úsáideann an ghairm sin. Ní athraíonn eagarthóireacht chumraíocht PHP do fhreastalaí gréasáin aon rud faoi phróiseas CLI a sheol OpenVPN, agus féadfaidh an dá cheann comhaid php.ini atá go hiomlán éagsúil a lódáil.
Cén fáth nach gcruthaíonn $_ENV folamh aon rud
Déanann tagairt getenv PHP doiciméadú ar léamh díreach ar thimpeallacht an phróisis, a thugann false ar ais nuair nach bhfuil an t-ainm ann. Líontar an ollathróg $_ENV ar leithligh, agus socraíonn an treoir variables_order cé na hollathróga a líonfar.
Má fhágann an treoir sin E ar lár, fanann $_ENV folamh is cuma cad atá sa timpeallacht. Tuairiscíonn cód a innéacsálann é ansin athróg atá ar iarraidh agus atá i ndáiríre ann, agus téann an t-imscrúdú i dtreo OpenVPN agus an freagra in php.ini. Seiceáil an treoir go sonrach don chumraíocht CLI, ní don fhreastalaí gréasáin.
Seachnaíonn léamh le getenv an rang iomlán mearbhaill seo, agus tugann scríbhinn fillte a ghlanann an timpeallacht sula nglaonn sí ar an idirghabhálaí isteach arís í i bhfoirm eile.
Stóráil comhcheangal, ní nuashonrú ró
Socraigh cén luach a theastaíonn ón taifead sula scríobhann tú é. Más é an sprioc ná a thabhairt faoi deara cá as a dtáinig seisiún, stóráil an t-aonphointe seachtrach agus lipéadaigh mar bhreathnóireacht é. Más é an sprioc ná seisiún a mhapáil chuig seoladh tolláin ar feadh ré naisc, stóráil seoladh an linne agus eochraigh chuig an seisiún é.
Nuashonraigh de réir na féiniúlachta fíordheimhnithe agus an tseisiúin reatha seach de réir gach ró a roinneann seoladh tolláin, toisc go n-athúsáidtear seoltaí linne agus go bhféadfadh teagmhas dícheangail déanach sonraí naisc níos nuaí a fhorscríobh. Láimhseáil IPv6 go sainráite seach an luach IPv4 amháin a scríobh go ciúin. Is fearr ró le seoladh seachtrach NULL ná ró leis an gceann mícheart, toisc go bhfuil an chéad cheann neamhiomlán go feiceálach.
Eochraigh an scríobh chuig aitheantóir an tseisiúin a sholáthraíonn OpenVPN ionas go gcruthóidh athcheangal taifead nua seach an seancheann a chur in eagar. Úsáid ráitis pharaiméadraithe agus cuntas nach bhfuil aige ach na ceadanna a theastaíonn ón oibríocht. Ritheann crúca le húdarás an daemon, mar sin is fadhb níos leithne é iarratas míchúramach ná líne logála mícheart.
Déan diagnóis gan an timpeallacht a dhumpáil
Logáil cé na hainmneacha a bhí ann, cén chéim a ritheadh agus cén t-idirghabhálaí a úsáideadh. Ná priontáil an timpeallacht iomlán, toisc go bhféadfadh próiseas crúca luachanna neamhghaolmhara a oidhreachtú nár cheart a bheith i gcomhad logála.
Fíoraigh nasc amháin ó thús deireadh: léigh an t-aonphointe seachtrach, léigh an seoladh a leithdháileadh, agus deimhnigh an dá cheann i gcoinne radharc an fhreastalaí féin ar an seisiún sin. Nuair atá an péire deimhnithe do chliant amháin, is féidir muinín a bheith ag an gcomhcheangal in áiteanna eile.