Gall pecynnau ddilyn llwybr OpenVPN ac eto gael eu dal gan bolisi IPsec, ac mae'r cyfuniad hwnnw'n edrych fel nam llwybro o bob ongl heblaw'r un gywir. Mae Linux yn datrys llwybr ac yna'n ymgynghori â chronfa ddata polisïau diogelwch ar wahân, felly nid yw llwybr cyrchfan mwy penodol yn disodli polisi XFRM sy'n cyfateb. Y symptom gweladwy yw traffig sy'n gadael y gwesteiwr ac na chyrhaedda byth, tra bod y ddau diwnnel yn adrodd eu bod yn iach. Mae tri opsiwn yn ei ddatrys, ac mae'r un a ddewiswch yn dibynnu ar ba un o'r ddwy lwybr sydd i fod i gario'r rhagddodiad hwnnw.

Dau benderfyniad, nid un

Mae dewis llwybr yn ateb cwestiwn cul: pa naid nesaf a chyfeiriad ffynhonnell ddylai gario'r pecyn hwn. Mae cronfa ddata'r polisïau diogelwch yn ateb un gwahanol: a oes angen diogelwch IPsec ar y pecyn hwn, a pha ddetholwyr sy'n berthnasol. Mae'r ddau yn rhedeg ar gyfer yr un pecyn, ac nid yw bodloni'r cyntaf yn dweud dim am yr ail. Dyna pam y gall newid metrig neu ychwanegu llwybr statig adael y symptom yn gyfan.

Detholwr IPsec eang yw'r achos arferol. Mae polisi sy'n diogelu 172.16.0.0/12 hefyd yn gorchuddio 172.20.8.0/24, y gallai gweinyddwr fwriadu cyrraedd drwy diwnnel OpenVPN yn lle hynny. Dim ond yn y tabl llwybro y mae'r bwriad yn bodoli, ac ni chlywodd y gronfa ddata polisïau amdano erioed.

Triniwch hynny fel gwrthdaro rhwng dau lwybr diogelu a ffurfweddwyd, yn hytrach na chystadleuaeth rhwng dau fetrig. Mae'r cywiriad yn perthyn i'r gydran a ffurfweddwyd â'r cwmpas anghywir.

Darllenwch y llwybr y mae'r cnewyllyn yn ei ddewis mewn gwirionedd

Dechreuwch gyda'r chwiliad y mae'r cnewyllyn yn ei wneud, gan gynnwys y cyfeiriad ffynhonnell ac unrhyw reol bolisi a allai ei throi i dabl arall. Efallai na fydd llwybr yn y prif dabl yn cael ei ystyried byth os yw rheol gynharach yn dewis tabl gwahanol, ac mae cyfatebiaeth rhagddodiad hiraf yn berthnasol yn unig o fewn y tabl y mae rheol yn ei ddewis.

ip rule show
ip route show table all
ip route get 172.20.8.20 from 10.44.7.15

Y gorchymyn olaf yw'r un sy'n bwysig, oherwydd mae'n argraffu'r llwybr a ddewiswyd ynghyd â'r cyfeiriad ffynhonnell y byddai'r cnewyllyn yn ei ddefnyddio. Cymharwch yr allbwn hwnnw â'r detholwr y mae'r polisi IPsec yn cyfateb iddo. Pan fydd y llwybr yn pwyntio at ryngwyneb OpenVPN ac mae'r polisi'n dal i gyfateb i'r un pâr, rydych wedi atgynhyrchu'r gwrthdaro heb ddyfalu.

Cadwch y dumpiau'n rhydd o gyfeiriadau diberth cyn iddynt gyrraedd tocyn. Mae tabl llwybro o westeiwr cynhyrchu yn cario topoleg fewnol, a dim ond y llinellau sy'n ateb y cwestiwn sy'n werth eu gludo.

Darllenwch y polisi sy'n berthnasol hefyd

Mae'r rhestr polisïau yn dangos cyfeiriad, detholwyr a'r templed sy'n penderfynu beth sy'n digwydd i becyn sy'n cyfateb. Darllenwch y cyfeiriad allan yn gyntaf, yna'r ochr i mewn ar gyfer y traffig dychwelyd, oherwydd mae eithriad unffordd yn cynhyrchu cysylltiad sy'n dechrau ac na fydd byth yn gorffen.

ip -s xfrm policy
swanctl --list-sas

Cymharwch y detholwyr yn y rhestr â'r rhagddodiadau a drafododd y cysylltiad. Nid yw analluogi gosod llwybrau strongSwan yn tynnu'r polisïau hynny, ac nid yw newid metrig yn newid pa bâr ffynhonnell a chyrchfan y mae polisi'n ei ddiogelu. Mae'r ddau anghywiriad hyn yn werth eu diystyru'n gynnar oherwydd nhw yw'r pethau cyntaf y mae pobl yn eu ceisio.

Os nad yw'r rhestr yn cynnwys polisi ar gyfer y rhagddodiad a ddisgwyliwyd gennych, mae'r broblem yn rhywle arall ac mae'r tabl llwybro yn debyg o ddweud y gwir. Os yw'n cynnwys polisi ehangach sy'n gorchuddio'r rhagddodiad, rydych wedi dod o hyd i'r dal.

Tri opsiwn pan fo'r ddwy lwybr yn gyfreithlon

Culhau'r detholwr IPsec yw'r opsiwn glanaf pan oedd y rhagddodiad eang yn gyfleustra yn hytrach na gofyniad. Mae lleihau detholwr traffig anghysbell i'r is-rwydweithiau sy'n perthyn go iawn y tu ôl i IPsec yn dileu'r gwrthdaro ar gyfer pob gwesteiwr ar unwaith, ac mae'n costio ail-allwedd allweddol yn hytrach na chydran newydd.

Eithriad pasnod yw'r opsiwn llawfeddygol pan ddylai'r detholwr eang aros. Mae strongSwan yn cefnogi cysylltiad ar wahân y mae ei blentyn yn defnyddio modd pass, sy'n dweud wrth y cnewyllyn na ddylai IPsec brosesu'r traffig sy'n cyfateb. Mae cyfeiriad pell loopback yn cadw'r cysylltiad hwnnw rhag cael ei ddewis ar gyfer cymheiriaid sy'n dod i mewn, ac mae'n rhaid i'r detholwyr ddisgrifio'r pâr awdurdodedig go iawn yn hytrach na phopeth.

connections {
    openvpn-exception {
        remote_addrs = 127.0.0.1
        children {
            openvpn-exception {
                local_ts = 10.44.7.0/24
                remote_ts = 172.20.8.0/24
                mode = pass
                start_action = trap
            }
        }
    }
}

Mae'r enghreifftiau ffurfweddu strongSwan yn dogfennu'r math hwn o bolisi a'r confensiwn cymar loopback. Y trydydd opsiwn yw dyluniad sy'n seiliedig ar lwybro gyda rhyngwynebau XFRM, sy'n clymu polisi wrth draffig a lwybrwyd drwy ryngwyneb enwebedig yn hytrach nag wrth ddetholwr byd-eang. Mae'n fudiad, nid addasiad, ac mae'n rhaid i'r traffig fodloni'r detholwyr a drafodwyd o hyd.

OptionUse it whenCost
Narrow the selectorThe broad prefix was convenienceA rekey and a policy review
Passthrough childThe broad selector must stayOne exception per intended pair
XFRM interfacePolicy should follow routingA design migration

Profwch yr eithriad heb wanhau'r gweddill

Ar ôl llwytho'r newid, profwch yr eithriad a chyrchfan gyffredin y mae'n rhaid iddi aros yn ddiogel. Gwiriwch y ddau gyfeiriad, yna gollwng tiwnnel OpenVPN a chadarnhau beth sy'n digwydd i'r traffig a eithrwyd. Mae eithriad sy'n anfon y rhagddodiad hwnnw'n dawel yn glir pan fydd y tiwnnel i lawr yn benderfyniad polisi y dylech ei wneud yn fwriadol, nid ei ddarganfod yn ystod digwyddiad.

Cofnodwch pa ragoddiad sy'n defnyddio pa lwybr a pham. Fel arall bydd y peiriannydd nesaf sy'n gweld detholwr eang yn ailagor yr un ymchwiliad, a bydd yr ateb yn eistedd mewn neges commit nad yw neb yn ei darllen.

Erthyglau cysylltiedig