Trácht Docker agus VM taobh thiar de OpenVPN: ródáil nó athuimhriú?
Cailleann coimeádáin agus aíonna ar óstach le cliant OpenVPN an cosán fillte nó bíonn siad ag teacht salach ar réimír an tolláin. Roghnaíonn trí cheist an réiteach.
Bíonn an t-óstach ag brabhsáil tríd an tollán agus ní shroicheann an coimeádán ina aice aon rud. Tá sé níos measa port a fhoilsiú ó choimeádán a ritheann a chliant VPN féin: sroicheann an t-iarratas agus ní fhágann an freagra riamh. Cinntí ródála ar an óstach iad an dá rud, agus ní bhíonn Docker ach ina theachtaire.
Cinneann trí cheist cé acu den dá chás atá agat, agus tógann siad timpeall nóiméid.
Dhá mhainneachtain a bhíonn le feiceáil mar an gcéanna
Is fadhb le cosán fillte an chéad cheann. Aistrítear port foilsithe isteach sa choimeádán, sroicheann an t-iarratas, agus ródáiltear an freagra trí ród réamhshocraithe an óstaigh, a bhfuil an cliant OpenVPN tar éis é a dhíriú ar tun0. Fágann an freagra ó sheoladh nach mbíonn súil ag an bpiara i bhfad uaidh, agus caitear é. Is é an dara ceann ná imbhuailt réimíre: tá 172.17.0.0/16 ag droichead réamhshocraithe Docker agus brúnn tollán corparáideach an raon céanna.
Deisítear ceann le tábla ródála, agus an ceann eile trí dhroichead a athuimhriú. Is é an bealach chun coimeádán atá ag obair a bhriseadh ná eagarthóireacht a dhéanamh sula mbíonn a fhios agat cé acu ceann.
Cinntigh le trí cheist
Ceist a haon: an n-imíonn an mhainneachtain nuair a stopann tú an VPN? Má oibríonn gach rud agus an tollán síos, bíodh amhras ort faoin gcosán fillte. Ceist a dó: an liostaíonn ip route show table all an réimír chéanna faoi dhó, uair amháin ar dhroichead agus uair amháin ar tun0? Sin í an imbhuailt. Ceist a trí: an coimeádán, aoi NAT nó aoi droichid é an seoladh atá i gceist?
Tá tábhacht leis an tríú ceist mar tá réiteach ceart éagsúil ag gach ceann, agus cuireann sé oíche amú réiteach an choimeádáin a chur i bhfeidhm ar aoi libvirt.
ip route
ip route show table all | grep -E '172\.1[7-9]|10\.8'
docker network inspect bridge --format '{{.IPAM.Config}}'Cosán fillte: tábla d'aon seoladh foinse amháin
Nuair a chaithfidh trácht an choimeádáin dul amach tríd an gcomhéadan fisiceach agus an t-óstach féin ag úsáid an tolláin, ródáil bunaithe ar fhoinse is ea an t-athrú is lú. Cuir riail a mheaitseálann seoladh an choimeádáin leis agus seol chuig tábla tiomnaithe í. Ní chorraíonn aon rud eile ar an óstach.
ip rule add from 172.22.0.3 lookup 10
ip route add default via 172.22.0.1 table 10Féachann gach paicéad a bhfuil an seoladh sin mar fhoinse air ar thábla 10 ar dtús, agus seolann tábla 10 chuig geata an droichid é in ionad an tolláin.
Deimhnigh le ip route get 1.1.1.1 from 172.22.0.3. Caithfidh an freagra comhéadan an droichid a ainmniú, ní tun0. Imíonn rialacha a chuirtear leis ar an mbealach seo nuair a atosaítear, mar sin cuir iad san aonad nó sa chrúca líonra a shealbhaíonn an coimeádán.
Oibríonn an patrún céanna do choimeádán WireGuard, áit a dteastaíonn riail shoiléir ón gcosán freagartha freisin.
Imbhuailt réimíre: athuimhrigh an droichead
Seolann tábla ródála réimír amháin chuig aon áit amháin. Má bhrúnn an VPN 172.17.0.0/16 agus droichead Docker ann cheana, buaann an mheátrach is ísle: suiteálann Docker a ród nasctha ag meátrach 0, agus sroicheann an ród bhrúite ag 50. Ansin breathnaíonn an tollán briste agus Docker fós ag obair, nó a mhalairt, ag brath ar ord an tsuiteála. Athuimhrigh an droichead seachas a bheith ag troid leis an meátrach.
{
"bip": "10.200.0.1/24",
"default-address-pools": [{"base": "10.201.0.0/16", "size": 24}]
}Atosaigh Docker tar éis an athraithe agus déan líonraí a tógadh leis an sean-linn a athchruthú. Ní dhéanann athrú an mheátraigh ach an choimhlint a aistriú chuig an gcéad tosú eile.
Teastaíonn freagra difriúil ó VManna arís
Faigheann aoi libvirt ar an líonra NAT réamhshocraithe ródáil an óstaigh le hoidhreacht agus stopann sé ag sroicheadh an taobh amuigh a luaithe a bhíonn ród réamhshocraithe ag tollán an óstaigh. Tugann aistriú an aoi chuig gléas droichid nó macvtap a chosán féin dó ar an líonra fisiceach. I virt-manager, cuir crua-earraí leis, roghnaigh Network, socraigh an fhoinse ar ghléas óstaigh macvtap, coinnigh virtio mar mhúnla, agus ansin díghníomhachtaigh an sean-chomhéadan NAT.
De ghnáth ní féidir le haoi macvtap a óstach féin a shroicheadh. Iompar a bhfuiltear ag súil leis is ea é seachas locht, agus baineann sé leis an nóta a fhágann tú.
I gcás aoi nach dteastaíonn uaidh ach LAN an óstaigh, b'fhéidir go bhfuil an lasc atá ar iarraidh ag cliant an tsoláthraí: le Mullvad, cuireann mullvad lan set allow infhaighteacht áitiúil ar ais gan libvirt a bhaint. Agus nuair a chaithfidh coimeádán a bheith sroichte tríd an tollán amháin, ceangail an port foilsithe le seoladh an tolláin, -p 10.8.0.5:8080:8080, in ionad é a fhoilsiú ar gach seoladh.