Mae pecyn ar gyfer 10.77.20.0/24 yn cymryd dau benderfyniad ar wahân ar weinydd OpenVPN: rhaid i’r system weithredu ei drosglwyddo i ryngwyneb VPN, a rhaid i OpenVPN wybod pa gleient cysylltiedig sy’n berchen ar y rhagddodiad hwnnw. Mae llwybr cnewyllyn ar goll yn ei ollwng cyn y twnnel, ac mae llwybr cymar ar goll yn ei ollwng ar ôl hynny. Mae’r ddwy fethiant yn edrych yr un fath o’r LAN pell, ac mae diagnosio pa un sydd gennych yn cymryd un gorchymyn ar bob ochr.

Yn y llwybr data gofod-defnyddiwr clasurol, mae llwybr y cnewyllyn yn cael y pecyn i mewn i broses y twnnel, ac mae iroute yn dweud wrth y broses honno pa gymar ddylai ei dderbyn. Nid yw’r naill yn disodli’r llall, a bydd ffurfweddiad sy’n cario dim ond un ohonynt yn edrych yn rhesymol hyd at y ping cyntaf.

Dau benderfyniad, nid un llwybr

Dychmygwch gyswllt safle-i-safle lle mae 10.77.20.0/24 y tu ôl i un cleient. Mae llwybr cnewyllyn y gweinydd, er enghraifft ip route add 10.77.20.0/24 dev tun0, yn anfon pecynnau cyfatebol i ddyfais y twnnel. Yna mae OpenVPN yn ymgynghori â’i dabl mewnol ei hun, a adeiladwyd o gofnodion iroute yn ngyfeiriadur ffurfweddu’r cleient, i benderfynu pa gysylltiad cymar sy’n eu derbyn. Heb lwybr y cnewyllyn ni fydd y pecyn byth yn cyrraedd y broses, a heb lwybr y cymar mae’n cyrraedd y broses ac yn mynd i unman.

Mae’r rhaniad hwnnw’n hawdd ei anghofio, oherwydd gall un llinell llwybr mewn proffil cleient edrych fel petai’n gwneud y ddwy swydd. Nid yw: mae gwthio llwybr yn dweud wrth gleientiaid beth i’w anfon drwy’r twnnel, tra bod iroute yn dweud wrth y gweinydd pwy sy’n berchen ar ystod cyfeiriadau y tu ôl i gleient. Maent yn byw mewn ffeiliau gwahanol, yn cael eu darllen gan ochrau gwahanol, ac yn methu i gyfeiriadau croes.

Lle mae iroute yn perthyn a beth mae’n ei ddweud

Mae’r cofnod yn mynd mewn ffeil fesul cleient a enwir ar ôl common_name y cleient, o dan client-config-dir, fel iroute 10.77.20.0/24. Nid yw’r cyfatebiaeth enw ffeil yn addurniadol: mae OpenVPN yn chwilio’r hunaniaeth ddilysedig ac yn darllen y ffeil gyda’r enw hwnnw’n union, felly dim ond i gleient y mae site-a yn enw cyffredin iddo y mae ffeil o’r enw site-a yn gweithredu. Ychwanegwch ccd-exclusive os dylid gwrthod cleientiaid heb ffeil o’r fath yn gyfan gwbl, sef y gosodiad cywir pan fo pob cleient yn borth safle. Cadwch un ffeil fesul porth a’i henwi ar ôl pwnc y dystysgrif a roddwch mewn gwirionedd.

Profwch y cofnod o’r gweinydd cyn beio’r LAN pell. Mae’r ffeil statws yn rhestru cleientiaid cysylltiedig gyda’u henwau cyffredin, ac mae gweinydd sy’n rhedeg ar --verb 4 yn cofnodi gosod iroute wrth i’r cymar gysylltu. Os na fydd unrhyw beth yn ymddangos ar amser cysylltu, mae’r ffeil yn y cyfeiriadur anghywir neu’n enwi’r hunaniaeth anghywir.

Y trap: ffeil yn bresennol, hunaniaeth anghywir

Mae iroute sy’n edrych yn gywir ond wedi’i atodi wrth y cymar anghywir yn gwastraffu mwy o amser nag ffeil ar goll, oherwydd mae popeth ar y disg yn edrych yn iawn. Mae ailenwi tystysgrifau, enwau cyffredin dyblyg, a username-as-common-name yn newid yr hunaniaeth effeithiol i gyd yn cynhyrchu hyn. Gwiriwch ba hunaniaeth y gwnaeth y gweinydd ei dilysu yn lle’r un y gwnaethoch ei disgwyl: allbwn statws yw’r awdurdod, tra mai allwedd chwilio yn unig yw enw’r ffeil.

Gall llwybr oroesi ei berchennog. Mae llwybrau statig a chofnodion iroute yn disgrifio rhagddodiad yn hytrach na gwarant argaeledd, felly gall traffig barhau i gael ei lwybro tuag at gymar sydd ar hyn o bryd wedi’i ddatgysylltu.

Gorffennwch y llwybr y tu hwnt i’r cymar

Canol y llwybr yw perchnogaeth y cymar, nid ei ddiwedd. Rhaid i’r cleient anfon pecynnau o’r twnnel i’w LAN, sy’n golygu bod anfon IP ymlaen wedi’i alluogi ar y gwesteiwr hwnnw a bod rheol wal dân yn caniatáu’r tramwy. Mae angen llwybr dychwelyd ar gyfer cyfeiriad y twnnel ar westeiwyr y LAN pell: naill ai llwybr sy’n pwyntio’n ôl at y porth, neu gynllun NAT bwriadol ar ochr y cleient. Cadarnhewch y gosodiad anfon ymlaen ar y cleient gyda sysctl net.ipv4.ip_forward yn lle rhagdybio rhagosodiad y dosbarthiad.

Os oes rhaid i gleientiaid VPN eraill gyrraedd y is-rwydwaith honno, mae’r trefniant yn tyfu eto: mae angen client-to-client ar y gweinydd, ac mae angen i’r cleientiaid hynny lwybro’r rhagddodiad drwy’r twnnel. Nid oes dim o hyn yn cael ei awgrymu gan dabl llwybro’r gweinydd ei hun.

Gwiriwch un cyrchfan o ffynhonnell go iawn yn lle o’r gweinydd ei hun. Mae ping o westeiwr LAN di-gysylltiad i westeiwr y tu ôl i’r cleient yn ymarfer y llwybr dychwelyd, y rheol anfon ymlaen a pherchnogaeth y cymar mewn un symudiad, tra mai dim ond hunaniaeth y mae handshake llwyddiannus yn ei brofi. Yna datgysylltwch y cymar sy’n berchen a chofnodwch beth mae’r llwybr yn ei wneud, oherwydd yr ateb hwnnw yw eich modd methu.

Erthyglau cysylltiedig