Llwybro un is-rwydwaith LAN trwy OpenVPN a chadw’r llwybr diofyn
Cadwch lwybr diofyn y LAN tra bo un is-rwydwaith yn mynd trwy’r twnnel. Cymharwch dabl polisi ag addasiadau’r prif dabl, yna dewiswch NAT neu lwybr ar ochr y gweinydd.
Mae blychau sy’n llwybro ar gyfer LAN ac ar yr un pryd yn deialu VPN yn cyrraedd yr un ddadl â nhw eu hunain: mae’r twnnel eisiau meddiannu’r llwybr diofyn, ac mae ar y LAN ei eisiau yn ôl. Pan fydd OpenVPN yn cysylltu, gall osod llwybr diofyn trwy’r twnnel neu bâr o hanner llwybrau diofyn, sy’n iawn ar gyfer gliniadur ac yn anghywir ar gyfer porth y mae ei chymydogion yn disgwyl atebion o’i chyfeiriad LAN. Nid yr ateb yw hepgor y VPN. Yr ateb yw rhoi dau dabl gwahanol i’r ddau benderfyniad.
Un llwybr diofyn, dau berchennog
Nid oes rhaid i draffig a anfonir ymlaen a thraffig a gychwynnir yn lleol fynd yr un ffordd. Dim ond ar gyfer y cyrchfannau a ddewch chi y mae angen y twnnel ar gleientiaid LAN, tra bo sesiynau rheoli’r gwesteiwr ei hun a’i atebion i’r cleientiaid hynny angen llwybr diofyn y LAN. Mae cymysgu’r ddau yn y prif dabl yn gorfodi un ateb ar ddau gwestiwn gwahanol.
Mae gan OpenVPN switsh ar gyfer hyn yn union. route-noexec yn atal y cleient rhag cyffwrdd â’r prif dabl o gwbl, ac mae’r gwerthoedd y byddai wedi’u defnyddio yn cael eu hallforio i sgript route-up fel route_vpn_gateway, dev a chyfeiriadau’r rhyngwyneb. Yna chi sy’n penderfynu pa dabl sy’n cael pa lwybr, mewn cod y gallwch ei ddarllen yn ddiweddarach.
Tabl polisi yn erbyn ailysgrifennu’r prif dabl
| Approach | What it buys | What it costs |
|---|---|---|
| Separate table plus source rule | LAN traffic and host traffic keep independent defaults | Every lookup now depends on rule order |
| Editing the main table only | Fewer moving parts on a single-purpose host | One mistake takes the gateway offline entirely |
| Two half-default routes | Works for a full-tunnel client | Ambiguous on a host that must answer on its LAN address |
Y tabl ar wahân yw’r unig opsiwn sy’n graddio y tu hwnt i un is-rwydwaith. Enwch ef unwaith, yna cyfeiriwch ato wrth ei enw fel na fydd yn rhaid i neb gofio rhif:
echo "10 vpn" >> /etc/iproute2/rt_tables
ip rule add from 192.168.50.0/24 table vpn
ip route add default via 10.8.0.1 dev tun0 table vpnMae’r cyfeiriadau yma’n ddeiliaid lle. Amnewidiwch ragddodiad y LAN, porth y twnnel ac enw’r ddyfais o’ch defnyddiad eich hun cyn rhedeg unrhyw beth.
Rhaid i’r rheol gyd-fynd â’r gwesteiwr hefyd
Mae rheol sy’n cyd-fynd â rhagddodiad y LAN yn unig yn cwmpasu pecynnau a anfonir ymlaen. Nid yw’n cwmpasu traffig y mae’r borth ei hun yn ei gychwyn, ac nid yw’n cwmpasu’r atebion a anfonir yn ôl at gleientiaid LAN, sy’n cario cyfeiriad LAN y borth fel eu ffynhonnell. Mae’r chwiliadau hynny’n syrthio i main a gallant o hyd fynd allan trwy’r twnnel.
Ychwanegwch ail reol ar gyfer cyfeiriad LAN y borth ei hun, neu ehangu’r rheol gyntaf i set sy’n cynnwys y ddau. Mae’r drefn yn bwysig: rhowch y rheol fwy penodol yn gyntaf, a gwirio’r canlyniad gyda chwiliad sy’n enwi’r ffynhonnell yn benodol.
ip route get 203.0.113.9 from 192.168.50.1Os yw hynny’n adrodd dyfais y twnnel ar gyfer cyrchfan a ddylai aros yn lleol, mae’r set rheolau’n anghywir beth bynnag sydd yn y tabl.
NAT neu lwybr ar yr ochr bell
Mae gweinydd VPN yn gwybod is-rwydwaith y twnnel a dim arall. Nid oes gan becynnau sy’n cyrraedd â chyfeiriad ffynhonnell LAN unrhyw lwybr dychwelyd oni bai bod rhywun yn darparu un, ac mae yna ddwy ffordd yn union o’i ddarparu. Mae ychwanegu llwybr ar gyfer rhagddodiad y LAN ar y gweinydd yn cadw’r ffynhonnell wreiddiol yn weladwy o’r naill ben i’r llall, sef yr hyn y mae dyluniad archwiliedig fel arfer yn ei eisiau. Mae masgio ar y borth yn ailysgrifennu’r ffynhonnell i gyfeiriad y twnnel ac nid oes angen cydweithrediad gan y gweinydd.
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o tun0 -j MASQUERADEDewiswch NAT pan nad ydych yn rheoli’r gweinydd ac na allwch ychwanegu llwybrau yno. Dewiswch lwybr ar ochr y gweinydd pan fo logiau, rheolaeth mynediad neu gymesuredd y llwybr dychwelyd yn bwysig, oherwydd mae masgio’n dileu’r cyfeiriad gwreiddiol o bopeth y mae’r ochr bell yn ei gofnodi.
Naill ffordd neu’r llall, rhaid i anfon ymlaen fod wedi’i alluogi, a gall hidlo llwybr cefn llym ollwng yr ateb pan na fyddai main wedi dewis y twnnel ar gyfer y ffynhonnell honno. Gwiriwch y gwerth effeithiol cyn beio’r twnnel.
Gwneud i’r hollt oroesi ailgysylltiad
Mae rheolau a llwybrau a ychwanegwyd â llaw yn diflannu pan gaiff y rhyngwyneb ei ail-greu, a gall cofnod tabl hen ffasiwn oroesi’r sesiwn a’i cyfiawnhaodd. Rhowch reol y tabl, llwybr y twnnel a chofnod y masgio y tu mewn i sgript route-up y cleient, a fflysjo’r tabl ar frig y sgript fel na all hen borth oroesi i’r sesiwn newydd.
Gwiriwch o’r ddau ben: chwiliad ar y borth gyda ffynhonnell y LAN, a chais go iawn o gleient LAN i gyrchfan a ddylai fynd trwy’r twnnel. Mae llwybr sy’n bodoli ond nad yw byth yn cael ei ddewis yn ymddwyn yn union fel dim llwybr o gwbl nes i chi ddarllen y cownteri.