Mae tri chyfeiriad cleient yn ymddangos mewn gosodiad NGINX ac OpenVPN ar yr un gwesteiwr, un ar gyfer pob llwybr y gall cais ei gymryd. Mae porwr sy'n cyrraedd cyfeiriad y twnnel, porwr sy'n cyrraedd y cyfeiriad cyhoeddus, a rhaglen sy'n gadael drwy lwybr rhyngrwyd y giât i gyd yn edrych yn wahanol yn y soced gwrando. Penderfynwch pa lwybr yr ydych yn edrych arno cyn i chi ddehongli'r llinell log. Mae'r penderfyniad yn dibynnu ar y cyrchfan a ddefnyddiodd y cleient, yr eithriad sydd ganddo ar gyfer pwynt terfyn allanol y VPN, ac a oes unrhyw beth yn cyfieithu'r pecyn ar y ffordd.

Penderfynwch yn ôl cyrchfan, nid yn ôl pwy yw'r defnyddiwr

Dechreuwch gyda'r cyfeiriad y cafodd y cais ei anfon iddo, oherwydd y cyfeiriad hwnnw sy'n dewis y llwybr. Mae cais am gyfeiriad twnnel y gwesteiwr yn cyrraedd y rhyngwyneb twnnel gyda chyfeiriad mewnol y cleient fel ffynhonnell. Mae cais am gyfeiriad cyhoeddus y gwesteiwr fel arfer yn cyrraedd y rhyngwyneb sy'n wynebu'r rhyngrwyd gyda chyfeiriad cyhoeddus y cleient, hyd yn oed pan fo gan yr un gliniadur dwnnel wedi'i sefydlu ar yr eiliad honno. Felly mae aelodaeth yn y pwll VPN yn briodwedd o lwybr y pecyn, nid yn briodwedd sy'n dilyn y defnyddiwr o gwmpas.

Path the request tookSource the site normally records
Client reaches the site at its tunnel address, 10.24.0.1Client inner address, 10.24.0.20
Client reaches another internet site through the gatewayGateway public egress address, 192.0.2.44
Client reaches the gateway's public address through the endpoint exceptionClient's own public access address

Y drydedd res honno yw'r un sy'n werth ei gwirio gyntaf pan fydd defnyddiwr VPN yn ymddangos yn y log gyda chyfeiriad nad oes ganddo ddim i'w wneud â'r twnnel. Mae hefyd yn egluro pam y gall dau ddefnyddiwr ar yr un proffil gynhyrchu cofnodion gwahanol: mae eu rhwydweithiau mynediad eu hunain yn wahanol, ac nid oes dim yn y twnnel yn trosysgrifo hynny.

Pam mae'r pwynt terfyn allanol yn creu ail lwybr cyhoeddus

Rhaid i'r cleient gyrraedd cyfeiriad cyhoeddus y giât i sefydlu'r twnnel, felly rhaid i lwybr i'r cyfeiriad hwnnw fodoli y tu allan i'r twnnel. Pan fydd cleient yn ailgyfeirio'r holl draffig i mewn, mae gweithrediad synhwyrol yn cadw llwybr gwesteiwr penodol ar gyfer cyfeiriad cyhoeddus y gweinydd i osgoi twnnel sy'n dibynnu arno'i hun. Nid yw'r eithriad hwnnw'n ddewisgar ynglŷn â gwasanaethau, felly mae unrhyw gais i'r un cyfeiriad cyhoeddus yn ei ddilyn, gan gynnwys cais porwr am safle a gynhelir ar y giât.

Dyma'r mecanwaith y tu ôl i'r rhan fwyaf o adroddiadau dryslyd yn y maes hwn, ac mae'n ymwneud â gweithrediad y cleient yn hytrach na'r gweinydd. Felly gall dau gleient â phroffiliau unfath ymddwyn yn wahanol. Mae tynnu'r eithriad i »drwsio«'r log yn dod â'r twnnel i lawr gydag ef, felly cadwch ef a dylunio o'i amgylch.

Darllenwch y soced, y tabl a fformat y log gyda'i gilydd

Mae tri arsylwi yn setlo pa lwybr yr ydych yn edrych arno: lle mae'r soced yn gwrando, pa ryngwyneb sy'n ateb y gyrchfan, a beth mae fformat y log yn ei gofnodi mewn gwirionedd. Os yw'r gwrandawr wedi'i rwymo i gyfeiriad y twnnel yn unig, ni all cais cyhoeddus gyrraedd o gwbl, sy'n diystyru dwy res ar unwaith. Os yw'r chwiliad ar gyfer y cleient yn dychwelyd y ddyfais twnnel, cyrhaeddodd y cais â ffynhonnell fewnol a dylai'r log ei ddangos.

ss -lntp 'sport = :443'
ip route get 10.24.0.20
ip route get 192.0.2.44

Yna darllenwch y fformat yn hytrach na'r llinell. Mae maes a fwydir gan bennawd a anfonwyd ymlaen yn cofnodi honiad, nid cymar soced, ac nid yw'r honiad ond yn bwysig pan fo'r cymar uniongyrchol yn ddirprwy y gellir ymddiried ynddo. Mae ysgrifennu'r ddau werth yn y log yn setlo dadleuon diweddarach, oherwydd mae'r cymar uniongyrchol a'r cyfeiriad a amnewidiwyd yn ffeithiau gwahanol ac mai dim ond un ohonynt a ddaeth o'r rhwydwaith.

log_format tunneled '$remote_addr $realip_remote_addr $request $status';
grep -n 'log_format' /etc/nginx/nginx.conf

Dewiswch y pwynt mynediad yr ydych ei eisiau a gwnewch i DNS gytuno

Os yw'r safle i fod drwy'r twnnel yn unig, rhowch enw iddo sy'n datrys i gyfeiriad y twnnel ar gyfer cleientiaid VPN a gorfodwch bolisi ar y soced gwrando. Mae ateb DNS hollt sy'n dychwelyd 10.24.0.1 ar gyfer yr enw mewnol yn benderfyniad llwybro mewn gwisg manylyn datrysiad enw. Os oes rhaid i'r safle fod yn gyhoeddus hefyd, cadwch ddau enw neu ddau borth a gadewch i'r log ddweud wrthych pa un a wasanaethodd y cais.

Mae rheolau allow yn dilyn yr un rhesymeg. Nid yw caniatáu'r pwll twnnel yn awdurdodi cais cyhoeddus, ac ni fydd yn llenwi cyfeiriad mewnol ar gysylltiad a gyrhaeddodd dros y rhyngrwyd. Mae cymysgu'r ddau bwynt mynediad o dan un enw yn troi'r ffynhonnell a gofnodwyd yn sgîl-effaith llwybro'r cleient yn hytrach na dewis dylunio.

Gwiriwch y llwybr, yna'r polisi

Cadarnhewch y llwybr gyda chipolwg ar y giât a chais yr ydych yn ei reoli. Mae cipolwg ar ddyfais y twnnel ac un ar y rhyngwyneb cyhoeddus yn dangos pa un a gludodd y beitiau, ac mae trefn y pecynnau'n dweud wrthych a ddigwyddodd cyfieithiad rhyngddynt.

tcpdump -ni tun0 port 443 -c 5
tcpdump -ni eth0 port 443 -c 5

Yna gwiriwch fynediad i'r ddau gyfeiriad: mae'r fynedfa enwog a fwriadwyd yn gweithio i'r cleient a fwriadwyd, ac mae llwybr cyhoeddus heb ei gymeradwyo'n cael ei wrthod yn hytrach na bod yn araf yn unig. Mae gwefan eco IP gyffredin yn profi rhywbeth am allanfa ryngrwyd y giât a dim am y safle hwn ar yr un gwesteiwr. Pan fydd tudalen a WebSocket yn anghytuno, cymharwch eu URLs, eu teuluoedd cyfeiriadau a'u hatebion DNS cyn cyffwrdd â chyfluniad y gweinydd.

Erthyglau cysylltiedig