Ní féidir le OpenVPN i Docker /dev/net/tun a oscailt: cad atá ar iarraidh
Is dhá chead ar leith iad nód TUN agus an cumas líonra. Oscail an dá cheann, ansin léigh an chéad earráid eile ar a téarmaí féin in ionad an leigheas céanna a athrá.
Is féidir le híomhánna coimeádáin gach dénár agus comhad cumraíochta OpenVPN a theastaíonn uathu a iompar agus mainneachtain ag an gcéad ghlao líonra fós. Ainmníonn an earráid /dev/net/tun mar gur iarr an feidhmchlár comhéadan TUN ar an eithne agus ní raibh ag an gcoimeádán ná an nód gléis ná an cumas ceann a chruthú. Is dhá chead ar leith iad seo, agus fágann deisiú ceann amháin an ceann eile go díreach mar a bhí sé.
Teastaíonn ordú amháin do gach ceann chun iad a scaradh. Insíonn an teachtaireacht earráide ina dhiaidh sin duit ag cén teorainn a bhí tú i ndáiríre.
An nód gléis agus an cumas is dhá dhoras iad
Is réad de chóras na gcomhad é an nód gléis, mar sin caithfidh coimeádán é a fheiceáil ina spás ainmneacha feistithe féin. Is cead é an cumas, mar sin teastaíonn CAP_NET_ADMIN ón bpróiseas sa spás ainmneacha ina gcruthófar an comhéadan. Má thugann tú an gléas ar aghaidh gan an cumas, faigheann tú nód a osclaíonn agus ioctl a theipeann. Má thugann tú an cumas gan an gléas, fágtar an feidhmchlár gan cumas aon rud a oscailt ar chor ar bith, agus is é sin an fáth a dtagann an dá rud le chéile de ghnáth sna samplaí.
Socraíonn devices Docker gléas an óstaigh a mhapáil isteach sa choimeádán, agus coigeartaíonn cap_add an tacar cumais. Cuireann bind mount den chonair chéanna an comhad i radharc gan shéimeantaic rochtana gléis a chur i bhfeidhm.
Atáirg é lasmuigh den chomhad Compose
Sula ndéanfaidh tú an tseirbhís a chur in eagar, seiceáil go bhfuil an gléas ag an óstach agus gur féidir le coimeádán lom comhéadan a chruthú. Tá an t-ordú thíos íosta d’aon ghnó, agus is é a aonchuspóir fadhb óstaigh a scaradh ó fhadhb compose. Má theipeann air, ní chabhróidh aon athrú compose.
ls -l /dev/net/tun
docker run --rm --cap-add NET_ADMIN --device /dev/net/tun:/dev/net/tun alpine sh -c 'apk add -q iproute2 && ip tuntap add dev tun9 mode tun && ip link show tun9'
Ciallaíonn nód ar iarraidh ar an óstach nach bhfuil an modúl tun ar fáil, agus is deisiú ar thaobh an óstaigh é sin seachas ar thaobh an choimeádáin. Cuireann nód a bhíonn ann ach nach féidir a oscailt laistigh den choimeádán in iúl rochtain ar an ngléas, agus déarfaidh an teachtaireacht permission denied seachas no such file. Is é ord an dá mhainneachtain sin an diagnóis ar fad. Scríobh síos cé acu a chonaic tú sula n-athraíonn tú bratach.
Is fadhbanna difriúla iad na hearráidí tar éis TUN
A luaithe a fheictear an comhéadan, bíonn úinéir difriúil ag an gcéad mhainneachtain eile. Ciallaíonn earráidí fíordheimhniúcháin gur shroich an tollán an freastalaí agus gur diúltaíodh do na dintiúir, mar sin ní chabhróidh athruithe cumais. Cuireann tollán a bhunaítear agus na feidhmchláir fós ag teip in iúl bealaí, cur ar aghaidh, réiteach DNS laistigh den choimeádán nó leagan amach líonra an choimeádáin féin. Is ceist líonra choitianta gach ceann acu nach féidir le cead TUN a fhreagairt. Coinníonn athrá an tástála bhunaidh tar éis gach athraithe na mainneachtainí ó chumasc in aon tuairim amháin.
Is é cóipeáil gach socraithe ó shampla oibre an bealach a n-éiríonn leigheas íosta ina shainmhíniú seirbhíse doléite. Ná tóg ach na cinn a theastaíonn ón imscaradh seo agus scríobh síos cén fáth a bhfuil gach ceann ann.
Fíoraigh an comhéadan laistigh den choimeádán
Seiceáil an comhéadan agus an tacar cumais ón taobh istigh den choimeádán atá ag rith seachas ón óstach. Taispeánann na horduithe thíos an nód gléis, an liosta cumais agus an féidir comhéadan a chruthú ar chor ar bith. Rith iad sa choimeádán céanna a ritheann an cliant, agus suiteáil na huirlisí má tá an íomhá íosta.
ls -l /dev/net/tun
capsh --print | grep -i net_admin
ip link add dev tun9 type tun && ip link show tun9
Iompraíonn cumas atá sa bounding set ach as an effective set ar bhealach difriúil ó cheann nár deonaíodh riamh, agus taispeánann capsh an dá cheann. Má tá an nód ann agus an cumas i láthair agus an chruthú fós ag teip, tá an runtime ag forfheidhmiú rud éigin eile, mar phróifíl seccomp nó beartas AppArmor a chuireann srian ar an oibríocht. Is tríú teorainn é sin, arna dhoiciméadú ag an runtime seachas ag an bhfeidhmchlár.
Scríobh síos bratacha an choimeádáin, an íomhá agus an earráid bheacht ó gach iarracht. Beidh an chéad duine eile a léifidh an nóta sin in ann a rá cén doras a bhí dúnta gan an t-imscrúdú ar fad a athrá.