Pam mae llwybr OpenVPN yn colli i bolisi XFRM strongSwan
Nid yw llwybr OpenVPN penodol yn diystyru polisi XFRM: darllenwch y llwybr a detholwyr y polisi, yna culhewch, eithriwch neu symudwch i ryngwyneb XFRM.
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.
| Option | Use it when | Cost |
|---|---|---|
| Narrow the selector | The broad prefix was convenience | A rekey and a policy review |
| Passthrough child | The broad selector must stay | One exception per intended pair |
| XFRM interface | Policy should follow routing | A 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.