Taispeánann an log an rogha a bhrúigh an freastalaí, tá an tollán suas, agus teipeann ar ainmneacha inmheánacha fós. Freagraíonn iarratas díreach chuig an réititheoir, mar sin tá an freastalaí ceart, ach leanann gach feidhmchlár ag fiafraí den ródaire áitiúil. Is tairiscint an rud a shroich an cliant, ní athrú ar an réititheoir, agus tá an chomhpháirt a shealbhaíonn réiteach ainmneacha difriúil ar Linux, Windows agus macOS. Nuair a scarann tú an rogha óna húinéir, clúdaíonn ceithre locht beagnach gach tuairisc: gan hook, dhá hook in iomaíocht, DNS scoilte ag obair mar a dearadh é, nó ainm gairid a bhfuil iarmhír de dhíth air seachas freastalaí.

Is tairiscint í rogha bhrúite, ní suiteáil

Ar an bhfreastalaí, cuireann dhá threoir síos ar rún, ní ar éifeacht:

push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DOMAIN corp.example"

Ní fhaigheann an cliant réititheoir cumraithe. Faigheann sé athróga timpeallachta, foreign_option_1 agus a thuilleadh, ceann in aghaidh gach líne brúite, agus caithfidh rud éigin áitiúil iad a léamh agus stát réititheoir an chórais oibriúcháin a athscríobh. Ar Linux ní dhéanann aon rud é sin de réir réamhshocraithe, agus mar sin is féidir le freastalaí ceart agus cliant nasctha ainmneacha a réiteach tríd an LAN fós.

Tá trí chéim idir an dá cheann: caithfidh an push taisteal, caithfidh an cliant é a nochtadh, agus caithfidh hook é a chur i bhfeidhm. Léigh an chéim láir i log an chliaint agus an chéim dheireanach i stát an réititheora, riamh a mhalairt, mar ní chruthaíonn líne log ach an chéad dá cheann.

Deimhnigh gur shroich an push agus aimsigh an t-úinéir

Tosaigh trí ainm a thabhairt don lainseálaí: ordú openvpn lom, cás systemd, NetworkManager nó cliant díoltóra. Cinneann sé sin cá féidir le hook maireachtáil. Ar óstach le systemd-resolved, resolvectl status liostaíonn sé gach nasc leis na freastalaithe DNS agus na fearainn chuardaigh a úsáideann sé i ndáiríre, agus ní bhíonn nasc an tolláin i gcónaí tun0.

Má bhíonn an seoladh brúite sa log ach gan a bheith ar aon nasc, tá an comhtháthú ar iarraidh. Má bhíonn sé ar an nasc agus na hiarratais fós ag imeacht in áit eile, is é an fhadhb cé na hiarratais a roghnaíonn an nasc sin. NetworkManager dns=dnsmasq sa chomhad /etc/NetworkManager/NetworkManager.conf ritheann sé seolaí áitiúil a chuireann DNS scoilte i bhfeidhm d’aon ghnó: téann ainmneacha laistigh de fhearann VPN chuig réititheoir VPN, agus coinníonn gach rud eile a chosán roimhe seo. Breathnaíonn an t-iompar sin mar locht nuair a bhí tú ag súil go mbeadh an trácht go léir ag bogadh; seiceáil na socruithe in aghaidh an naisc le nmcli connection show "My VPN", áit a ipv4.dns agus ipv4.dns-search a choinníonn na luachanna taobh thiar den mhéid a thuairiscíonn an gléas, sula nglaonn tú briste air. Más gá do gach iarratas réititheoir VPN a shroichint i ndáiríre, bain dns=dnsmasq as NetworkManager.conf agus atosaigh NetworkManager, rud a thugann an réiteach ar ais do shocruithe an naisc; mura ndéanfaidh, coinnigh DNS scoilte agus ceartaigh an liosta fearann brúite.

Linux: tabhair na roghanna don réititheoir

Soláthraíonn pacáistí dáileacháin hook chuige seo, agus caithfear cead a thabhairt don chliant é a rith. Socrú tipiciúil ar óstach gan systemd-resolved:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

Le systemd-resolved b’fhéidir nach n-athróidh an seanscript resolv.conf aon rud tábhachtach, mar coinníonn an stub-réititheoir stát in aghaidh an naisc. update-systemd-resolved déanann an cúntóir doiciméadú ar fhoirm hook a úsáideann up-restart agus down-pre, rud atá tábhachtach nuair a mhaireann comhéadan níos faide ná aon iarracht amháin nasctha. Cibé rud a roghnaíonn tú, caithfidh comhpháirt amháin an stát a shealbhú. Tugann hook neamhghaolmhar in aice le NetworkManager dhá scríbhneoir don nasc céanna, agus braitheann an toradh ansin ar an ordú seachas ar do chumraíocht.

Tá cás ann freisin inar thug NetworkManager neamhaird iomlán den rogha bhrúite go dtí gur iontráladh seoladh an fhreastalaí i socruithe IPv4 an naisc, agus ansin thaispeáin stát an réititheora go raibh sé in úsáid. Is fiú é a thriail sula n-athscríobhann tú scripteanna, mar aistríonn sé an fhadhb ó hook blaoisce go próifíl an naisc a iompraíonn an tollán cheana féin.

Cuireann Windows agus macOS codanna éagsúla i bhfeidhm

Socraíonn cliant Windows freastalaithe DNS an oiriúnóra VPN, ach roghnaíonn Windows comhéadan de réir méadrach fós agus tá iarmhír de dhíth air fós chun ainm gairid a leathnú. Deimhnigh stát an oiriúnóra seachas an phróifíl:

Get-DnsClientServerAddress -InterfaceAlias "My VPN"
Get-DnsClientNrptPolicy

Mura bhfuil an seoladh ann, socraigh é le Set-DnsClientServerAddress -InterfaceAlias "My VPN" -ServerAddresses 10.8.0.1, ansin cuir an iarmhír le hairíonna IPv4 an oiriúnóra ionas go fileserver mbeidh fileserver.corp.example. Déanann luach SearchList ar fud an mheaisín faoi Tcpip\Parameters an rud céanna. Nuair a réitítear an t-ainm fada agus nach réitítear an ceann lom, tá an réititheoir ceart cheana féin agus is é an liosta cuardaigh an locht. Na ceartúcháin, in ord: brúigh DOMAIN ionas go bhfoghlaimíonn an cliant an iarmhír, cuir an iarmhír sin le liosta cuardaigh an oiriúnóra nó an naisc, agus mar bheart sealadach cuir an t-ainm ina shuí i hosts, nó LMHOSTS ar Windows; ní théann brabhsáil NetBIOS thar ródaire, mar sin ní shroicheann an craoladh a aimsíonn ainm gairid ar LAN na hoifige cliant tolláin riamh.

block-outside-dns Is iompar cliant Windows é block-outside-dns, ní líne phróifíle iniompartha, agus ní athchruthaíonn cóipeáil chuig próifíl Linux nó macOS é ansin. Má oibríonn ainmneacha poiblí agus má theipeann ar chinn inmheánacha ar Windows, déan comparáid idir ord na n-oiriúnóirí faoi Shocruithe chun cinn le ipconfig /all. Ar macOS baineann ord na réititheoirí in aghaidh an tseirbhíse leis an gcóras, mar sin úsáid scutil --dns chun a fheiceáil cén réititheoir a cheistítear do cén fearann, agus caitheamh le haon cheartú próifíle aonair a thuairiscítear mar rud a bhraitheann ar an gcliant seachas mar rud ginearálta.

Ní fhaigheann meaisín fíorúil ar an ríomhaire glúine céanna aon rud de seo le hoidhreacht. Tabhair d’iontráil réititheora féin don aoi don fhearann inmheánach, nó lig do NAT an hipeirbhlocála a chuid iarratas a sheoladh tríd an óstach, rud atá ceart amháin fad a bhíonn tollán an óstaigh suas.

Is é an stair an tríú cúis. Is féidir le freastalaithe DNS nó socruithe iarmhíre ó phróifíl níos luaithe maireachtáil thar athnasc, mar sin nuair a bhreathnaíonn an t-oiriúnóir ceart agus teipeann ar chuardach fós, déan comparáid idir an t-oiriúnóir beo le Get-VpnConnection agus glan nó forscríobh an iontráil atá as dáta sula dtagann tú i dteagmháil leis an bhfreastalaí.

Cruthaigh cén áit a ndeachaigh an t-iarratas

Socraíonn gabháil le linn aon chuardaigh amháin an díospóireacht: tcpdump -ni eth0 port 53 taispeánann sí iarratais ar an gcomhéadan fisiceach, rud a chiallaíonn go bhfuil siad ag imeacht lasmuigh den tollán agus nár cuireadh an réititheoir ar athrú riamh. dig @10.8.0.1 name.corp.example scarann sí ansin an dá chás atá fágtha. Má fhreagraíonn an t-iarratas díreach, oibríonn an réititheoir agus níl an cliant á úsáid; má théann sé thar an teorainn ama, tá an réititheoir doshroichte tríd an tollán agus ní chabhróidh aon athrú áitiúil.

Más é an réititheoir atá in úsáid fós an ceann a roinn an soláthraí, criptíonn an tollán an trácht agus fanann na hainmneacha le feiceáil don soláthraí sin. Ceist sceite atá ann seachas ceist fheidhmiúil, agus freagraíonn an ghabháil chéanna í: téann iarratas ar an gcomhéadan fisiceach chuig duine lasmuigh den tollán.

Áirítear le hinrochtaineacht balla dóiteáin an óstaigh VPN, a chaithfidh UDP agus TCP 53 a cheadú ón linn. Breathnaíonn port blocáilte go díreach mar push briste, agus mar sin freisin réititheoir nach bhfreagraíonn ach ón taobh istigh de líonra an tolláin. Déan an ghabháil arís tar éis dícheangal agus athnasc amháin, mar is locht saoilré hook iad socruithe a thagann chun solais ar an gcéad nasc agus a imíonn ar an dara ceann, ní rogha atá ar iarraidh.

Coinnigh úinéir amháin agus fíoraigh in ord

Déanann script a athscríobh DNS an oiriúnóra bunaithe ar stát tolláin a bhfuil tomhaiste a dhúbláil cumraíochta a iompraíonn an phróifíl cheana féin, agus teipeann sé go ciúin an chéad uair a bhíonn an tomhas mícheart. Bíodh rogha agat do shocruithe DNS an naisc féin nó hook amháin doiciméadaithe, agus taifead cé acu a roghnaigh tú ionas nach gcuirfidh an chéad duine eile an dara ceann leis.

Dún an lúb le ceithre sheiceáil: an seoladh brúite i láthair ar nasc an tolláin, an t-ainm inmheánach á réiteach mar ainm láncháilithe, an t-ainm céanna á réiteach gan an iarmhír, agus an dá rud fós fíor tar éis athnasc amháin. Insíonn gabháil amháin duit cé acu den cheathrar a theip. Lámhleabhar OpenVPN 2.6 liostaíonn sé dhcp-option agus na treoracha scripte lena notas ardáin.

Ailt ghaolmhara