Mae'r handshake yn cwblhau, wg show yn adrodd am drosglwyddiad diweddar, ac mae cyfeiriad twnnel y gweinydd yn ateb ping. Nid yw gwesteiwr ar LAN y gweinydd yn ateb. Rhaid i dri amod fod yn wir ar unwaith: rhaid i'r cleient lwybro rhagddodiad y LAN i'r twnnel, rhaid i'r gweinydd anfon y pecynnau ymlaen, ac mae angen llwybr yn ôl ar yr ateb. Pan fydd un o'r tri ar goll, mae'r symptom yn union yr un fath.

Mae AllowedIPs yn rhestr mynediad ac yn dabl llwybro

Ar y cleient, mae'r rhestr AllowedIPs yn penderfynu'r ddau beth a ganiateir ei anfon at y cymar hwnnw a pha lwybrau y mae WireGuard yn eu gosod. Mae cofnod cymar sy'n rhestru cyfeiriad twnnel y gweinydd yn unig yn gosod un llwybr gwesteiwr, felly nid yw cyrchfannau'r LAN byth yn mynd i'r twnnel. Ychwanegu rhagddodiad y LAN yw'r peth cyntaf i'w wirio, a dyma hefyd y newid sy'n fwyaf tebygol o fod ar goll ar ôl ffurfweddiad wedi'i gopïo. Mae cymar wedi'i ehangu i lwybr diofyn yn ddyluniad gwahanol, a bydd yn symud traffig rhyngrwyd y cleient hefyd.

Cadwch y llwybr gwesteiwr a rhagddodiad y LAN fel cofnodion ar wahân. Os oes gan y swyddfa ddwy is-rwydwaith, mae'r ddwy yn perthyn i'r rhestr, ac mae'r ail ragddodiad ar goll yn cynhyrchu methiant sy'n edrych yn ddetholus yn hytrach nag yn llwyr.

[Peer]
PublicKey = <server public key>
Endpoint = vpn.example.net:51820
AllowedIPs = 10.66.0.1/32, 192.168.50.0/24

Mae anfon ymlaen a chyfieithu yn perthyn i'r gweinydd

Mae angen anfon IP ymlaen wedi'i alluogi ar y gweinydd, rheol anfon ymlaen sy'n derbyn traffig sy'n cyrraedd o'r twnnel, a rheol gyfieithu tuag at ei ryngwyneb LAN. Y gyfieithu sy'n gwneud i'r dyluniad weithio heb gyffwrdd â phob gwesteiwr ar rwydwaith y swyddfa. Yna mae'r atebion yn dychwelyd i'r gweinydd yn hytrach nag i gyfeiriad nad yw'r LAN erioed wedi clywed amdano. Heb hynny, mae angen llwybr ar bob gwesteiwr ar gyfer is-rwydwaith y twnnel a rheol mur tân sy'n ei chaniatáu, ac anaml y mae hynny'n dderbyniol ar rwydwaith y mae rhywun arall yn ei reoli.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Mae rheolau a ychwanegir â llaw yn diflannu ar ailgychwyn, felly clymwch nhw wrth y rhyngwyneb gyda'r gorchmynion bachyn yn ffurfweddiad y gweinydd. Mae set o reolau sy'n goroesi ei rhyngwyneb yn ffordd y mae peiriant yn cyfieithu traffig ar gyfer twnnel nad yw'n bodoli mwyach.

Pan symudodd y LAN ac na symudodd y rheol

Mae disodli llwybrydd sy'n ailrifo is-rwydwaith y swyddfa yn fersiwn glasurol y methiant hwn. Mae'r twnnel yn aros i fyny, mae'r handshake yn aros yn ffres, ac nid oes dim y tu ôl i'r gweinydd yn ateb, oherwydd bod y rheol gyfieithu yn dal i enwi'r hen gyfeiriad. Mae sgriptiau gosod yn aml yn pobi cyfeiriad LAN y gweinydd i reol POSTROUTING, ac ar ôl ailrifo nid yw'r cyfeiriad hwnnw'n bodoli ar unrhyw ryngwyneb. Yna mae'r pecynnau'n cael eu hailysgrifennu i gyrchfan na all ateb.

iptables -t nat -n -L POSTROUTING
ip -br addr show

Cymharwch y ddau allbwn. Targed cyfieithu nad yw'n ymddangos yn rhestr y rhyngwynebau yw'r nam, ac mae ei drwsio yn newid un llinell unwaith y byddwch wedi'i weld. Gall y rheol fyw mewn uned a gynhyrchir yn hytrach nag yn ffurfweddiad WireGuard, felly ail-lwythwch yr uned honno ar ôl golygu a chadarnhau nad yw'r cychwyn nesaf yn ailysgrifennu eich newid.

Mae angen man cyfarfod ar ddwy safle y tu ôl i NAT

Pan nad oes yr un ochr yn derbyn cysylltiadau sy'n dod i mewn, yr ateb ymarferol yw gwesteiwr bach â chyfeiriad cyhoeddus a dau ryngwyneb WireGuard. Mae pob safle'n cysylltu allan, mae'r gwesteiwr canol yn rhestru LAN pob cymar yn ei AllowedIPs, ac mae anfon ymlaen yn cludo pecynnau rhwng y ddau dwnnel. Nid oes rhaid newid dim ym mur tân y naill safle na'r llall, a dyna pam y mae'r dyluniad hwn yn lledaenu'n hawdd.

Mae llwybro rhwng y safleoedd yn cadw'r cyfeiriadau ffynhonnell gwreiddiol ac felly'n cadw cofnodi fesul gwesteiwr yn ystyrlon. Mae cyfieithu ar y gwesteiwr canol yn symlach pan fydd y ddwy LAN yn gorgyffwrdd, ar gost colli hunaniaeth y ffynhonnell yn y cofnodion. Penderfynwch pa briodwedd sy'n bwysig cyn i chi ddewis.

Gwahanwch y haenau â phedwar gwiriad

Rhedwch un gwiriad fesul haen yn hytrach na newid tri pheth a gobeithio. Mae'r cyntaf yn dangos oedran yr handshake a chyfrifwyr ar gyfer pob cymar. Mae'r ail yn dangos a yw'r cleient mewn gwirionedd yn llwybro'r gyrchfan honno i'r twnnel. Mae'r trydydd a'r pedwerydd yn dweud wrthych a gyrhaeddodd y cais ac a wnaeth polisi ei ollwng ar ôl cyrraedd.

wg show
ip route get 192.168.50.20
tcpdump -ni wg0 icmp
iptables -vnL FORWARD --line-numbers

Mae cais sy'n cyrraedd ac nad yw'n ennyn ateb yn cyfeirio at lwybr yr ateb neu at westeiwr y LAN. Mae cais nad yw byth yn cyrraedd yn cyfeirio at AllowedIPs neu at lwybr y cleient. Mae angen cywiriadau gwahanol ar y ddau ganlyniad hynny, a'r cipiad sy'n dweud y gwahaniaeth rhyngddynt.

Erthyglau cysylltiedig