ifconfig-noexec red nie jou SSH-sessie nie: wat dit doen
Dit onderdruk OpenVPN se eie opstel van die koppelvlakadres. Dit reserveer nie ’n SSH-antwoordroete nie, skakel nie elke roeteverandering af nie en verskaf nie die ontbrekende adres nie.
In een of ander forumdraad word ifconfig-noexec aangebied as die oplossing wat ’n SSH-sessie lewendig hou wanneer ’n tonnel opkom. Die redenasie klink geloofwaardig totdat jy kyk wat die opsie aanraak. Dit keer dat OpenVPN die tonnelkoppelvlak se adres opstel en gee daardie waardes eerder aan scripte; dit sê niks oor waar antwoorde op jou bestuursverbinding heen gaan nie. As jy anders glo, kry jy ’n tonnel sonder ’n bruikbare adres en ’n SSH-sessie wat steeds sterf.
Wat die opsie werklik delegeer
Standaard bring die kliënt die tonneltoestel op en wys die plaaslike en afgeleë adresse toe wat die bediener hom gegee het. Met ifconfig-noexec ingestel, word daardie stap oorgeslaan, en die onderhandelde waardes word na die scriptomgewing uitgevoer sodat iets anders hulle kan toepas.
Eienaarskap verskuif. Niks word in sy plek uitgedink nie.
Die vraag wat die opsie beantwoord, is dus wie die koppelvlak opstel, en die vraag wat dit nie beantwoord nie, is hoe pakkette hul pad terug na jou vind. Hou dit apart, anders spandeer jy ’n aand aan roetes redigeer om ’n koppelvlak sonder ’n adres te vergoed.
Drie soortgelyke opsies met verskillende take
Die familie is maklik om te verwar omdat die name met een woord verskil en die simptome oorvly. Lees wat elkeen onderdruk voordat jy enige een kies.
| Opsie | Wat ophou gebeur |
|---|---|
ifconfig-noexec | OpenVPN se eie tonneladres-opstelling; waardes gaan eerder na scripte |
route-noexec | Outomatiese byvoeging en verwydering van roetes; roetedetails gaan na ’n script |
route-nopull | Roetes wat die bediener stoot en verwante opsies soos DNS word verwerp |
Dit is alternatiewe om elkeen afsonderlik te verstaan, nie ’n stel om saam te plak nie. Om adresopstelling te onderdruk, onderdruk nie roeteveranderinge, vuurmuurreëls of die gestootde opsies wat DNS dra nie. ’n Gedelegeerde script is ook vry om roetes te verander, en dit is ’n besluit wat jy oorhandig eerder as vermy.
As ’n verskaffer-kliënt die enjin inpak, gebruik sy ondersteunde integrasie eerder as om ’n laevlak-aanwysing in ’n profiel te gooi en te hoop die omhulsel respekteer dit. Omhulsels regenereer dikwels die profiel by verbinding, so ’n handmatige wysiging verdwyn sonder ’n fout. Kyk waar die kliënt sy instellings hou voordat jy ’n aand aan die lêer spandeer. Dit geld vir elke ry in die tabel, nie net die een waarvoor jy gekom het nie.
Die SSH-sessie wat jy bedoel het om te beskerm
’n SSH-verbinding het ’n bronadres, ’n bestemmingsadres en ’n antwoordpad. Op ’n bediener wat pas ’n vol-tonnel-standaard geïnstalleer het, pas die antwoord op jou publieke adres by die tonnel, en die VPN-deurweg laat dit val.
Niks in die adresopstelling van die tonnelkoppelvlak verander dit nie.
Wat dit regmaak, is ’n meer spesifieke roete vir jou bestuursadres deur die pre-tonnel-deurweg, of ’n beleidsreël wat daardie verkeer stuur, plus watter filterinstellings jou gasheer toepas. Die twee probleme verskyn soms saam, en so word een vir ’n kuur vir die ander aangehelp. Toets hulle afsonderlik: bring die tonnel op sonder die opsie, kyk na die koppelvlakadres en die antwoordpad, en besluit dan watter van die twee werklik stukkend is.
Wat ’n gedelegeerde script moet oorneem
As jy werklik wil hê ’n ander eienaar moet die koppelvlak opstel, lys die werk: pas die plaaslike en afgeleë adres toe, bring die toestel op, herstel of verwyder die adressering by demontage, en doen dieselfde weer ná ’n herverbinding. Waardes van een suksesvolle sessie moet nie hardgekodeer wees nie, want die bediener kan volgende keer ’n ander paar uitdeel.
Die omgewingsveranderlikes wat die kliënt uitvoer, is die enigste ondersteunde insette vir daardie werk.
env | grep -E '^ifconfig_|^route_'Binne ’n route-up-script is daardie veranderlikes beskikbaar; van ’n cron-werksopdrag of ’n handmatige shell af is hulle nie. Bevestig watter lewensiklus-haak jou weergawe gebruik, en bevestig dat die haak met genoeg voorregte loop om die koppelvlak te verander, want die kliënt het miskien al na ’n onbevoorregte gebruiker oorgegaan.
Toets die hele lewensiklus, nie een sessie nie
Bring die tonnel op, kyk na die adres op die toestel, herverbind dan en kyk weer. ’n Opstelling wat een keer werk en by die tweede poging faal, beteken gewoonlik dat die gedelegeerde stap net by die eerste verbinding loop.
Toets dan albei aanvaardingskriteria saam: ’n vars SSH-verbinding deur die bedoelde bestuurspad werk, en ’n toegelate toepassing gebruik die tonnel korrek.
’n Ou SSH-sessie wat oorleef terwyl die tonnel geen adres het nie, is nie ’n sukses nie, en dit is presies die toestand wat hierdie opsie skep wanneer niemand die werk oorneem nie. Kyk eerste na die koppelvlakadres, dan na die bestuurs-antwoordpad, dan na die toepassing. As twee van die drie verkeerd is, het die opsie werk verskuif sonder om vir hom ’n eienaar te gee.