Nid un broblem yw rhwydwaith campws neu westy lle mae’r porwr yn gweithio a phob twnnel yn marw, ond pedair problem wedi’u pentyrru. Efallai mai dim ond TCP 443 y mae’r llwybr yn ei ganiatáu, efallai ei fod yn mynnu procsi dilysedig, efallai ei fod yn archwilio’r ysgwyd llaw, ac efallai ei fod yn syml yn gwahardd mynediad o bell drwy bolisi. Eu gweithio mewn trefn sy’n eich rhwystro rhag prynu cleient newydd i drwsio rheol rhwydwaith. Mae’r llawlyfr isod yn cymryd tua deg munud ac yn gorffen ag ateb ysgrifenedig ynghylch pa haen a’ch gwrthododd.

Profwch pa haen sy’n gwrthod y cysylltiad

Peidiwch â dechrau gyda’r cleient VPN. Dechreuwch â chais HTTPS cyffredin i’r un gwesteiwr a darllenwch y cyfnodau amser, oherwydd y cyfnod sy’n methu sy’n dweud pa ddyfais sy’n gyfrifol:

curl -sS -o /dev/null -w 'connect=%{time_connect} tls=%{time_appconnect} code=%{http_code}\n' \
  --max-time 8 https://vpn.example.net/

Dim ateb a dim amser connect yn golygu na chwblhaodd TCP erioed, felly mae wal dân, gofyniad procsi neu gyrchfan anghywir yn y gêm. Amser connect heb amser tls yn golygu bod rhywbeth yn y canol wedi derbyn y cysylltiad ac wedyn wedi atal yr ysgwyd llaw, a dyna sut mae procsi archwilio’n edrych o ochr y cleient.

Nawr archwiliwch y dystysgrif rydych yn ei chael mewn gwirionedd. Dyma’r ffordd gyflymaf i ddarganfod a ydych yn siarad â’r gweinydd neu â blwch canol sy’n ail-lofnodi’r sesiwn:

openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief </dev/null

Darllenwch linell y cyhoeddwr. Mae eich CA eich hun yn golygu eich bod wedi cyrraedd y gwasanaeth; mae cyhoeddwr corfforaethol neu ddyfais yn golygu bod hidlydd wedi terfynu’r cysylltiad ac yn penderfynu beth sy’n digwydd nesaf. Cofnodwch y ddau allbwn ag amsernod, oherwydd gallai’r un prawf awr yn ddiweddarach ar y rhwydwaith gwestai roi ateb gwahanol.

Mae cleient sy’n ymwybodol o’r procsi’n newid y pecyn cyntaf, nid y polisi

Os yw’r rhwydwaith yn mynnu CONNECT drwy procsi dilysedig, rhaid dweud wrth y cleient VPN, neu bydd yn ceisio agor soced i gyfeiriad na all ei lwybro. Profwch y procsi ar wahân i’r cleient, fel bod gan fethiant un eglurhad:

https_proxy=http://proxy.example.edu:3128 curl -v -o /dev/null https://vpn.example.net/
sudo openvpn --config /etc/openvpn/corp.conf --proto tcp-client \
  --remote vpn.example.net 443 --verb 4

Mae’r gorchymyn cyntaf yn profi y bydd y procsi’n cario’r gyrchfan. Mae’r ail yn gofyn i’r cleient ddefnyddio TCP ar 443, yr unig gludiant y bydd y rhan fwyaf o lwybrau we-yn-unig yn ei anfon o gwbl. Os yw’r gorchymyn cyntaf yn llwyddo a’r ail yn dal i fethu, nid y procsi yw’r rhwystr.

Mae rhai cleientiaid yn darllen procsi’r system weithredu yn lle trosysgrifiad, ac mae rhai heb ddarllen y naill na’r llall. Gwiriwch ddogfennaeth yr ap ei hun cyn tybio bod gosodiad system-gyfan yn berthnasol. Bydd cleient sy’n datrys y pwynt terfyn drwy ddatryswr nad yw’r procsi’n ei wasanaethu yn methu yma hefyd, ac felly gall newid DNS edrych fel ateb pan mai dim ond amgylchiad ydyw.

Gwyliwch y patrwm llywio tra’ch bod wrthi. Gall rhwydwaith wedi’i hidlo ateb enw gwesteiwr canfod gwerthwr â rhywbeth o’i eiddo, sy’n newid pa broffil procsi y mae’r cleient yn ei ddewis. Peidiwch ag adeiladu proses o amgylch y mympwy hwnnw. Mae’n amrywio o safle i safle, mae’n newid heb rybudd, ac nid yw’n rhywbeth y gallwch ei gefnogi i unrhyw un arall.

Mae porth 443 yn gyrraeddadwy, nid yn cael ei ganiatáu

Mae lapio twnnel mewn TLS ar 443 yn datrys cyrraeddadwyedd a dim byd arall. Bydd hidlydd sy’n gwirio’r porth yn ei adael drwodd; ni fydd hidlydd sy’n cymryd ôl-bys o’r ysgwyd llaw, ac mae cyfarchiad cleient wedi’i amgryptio’n cuddio enw’r gweinydd dim ond pan fydd y ddwy ochr yn ei gefnogi. Rhedwch y prawf a darganfyddwch pa fath o hidlydd sydd o’ch blaen yn lle gobeithio.

Mae cost perfformiad hefyd y mae pobl yn ei ddarganfod yn hwyrach. Mae cludiant dibynadwy o fewn cludiant dibynadwy’n chwyddo colled, oherwydd bod y pentwr mewnol yn ailanfon segmentau y mae’r pentwr allanol eisoes wedi’u hailanfon. Ar gyswllt glân nid oes neb yn sylwi. Ar rwydwaith di-wifr campws llawn traffig mae’r twnnel yn dod yn anweithredol yn union pan fydd ei angen arnoch, ac mae’r graff yn edrych fel colled pecynnau er nad oes dim yn cael ei ollwng yn fwriadol.

UDP fel arfer yw’r dioddefwr cyntaf, ac mae’n werth cadarnhau hynny yn lle’i gasglu. Os nad yw WireGuard neu OpenVPN diofyn byth yn cwblhau ysgwyd llaw tra bod TCP 443 yn gweithio, mae’r rhwydwaith yn gollwng UDP, ac ni fydd unrhyw ailgynhyrchu allwedd yn newid hynny:

sudo wg show
dig +short vpn.example.net
dig +short vpn.example.net @1.1.1.1

Mae amsernod ysgwyd llaw gwag wrth ochr cymar a oedd yn gweithio ddoe yn ateb UDP. Mae’r ddau ymholiad DNS yn ateb cwestiwn gwahanol: os yw’r datryswr lleol a datryswr cyhoeddus yn anghytuno am gyfeiriad y pwynt terfyn, rydych yn cael eich llywio ac mae’r ddadl am gludiant yn un anghywir.

Gwiriwch beth a adawodd y peiriant mewn gwirionedd

Mae cofnodion y cleient yn disgrifio’r hyn y mae’r cleient yn ei gredu. Mae cipiad yn disgrifio’r hyn a welodd y rhwydwaith, a’r gwahaniaeth rhwng y ddau yw lle mae’r rhan fwyaf o’r achosion hyn yn cael eu datrys:

sudo tcpdump -ni any -c 20 'tcp port 443 and host 203.0.113.10'
sudo ss -tunp | grep -E ':(443|1194|51820)\b'

Os gwelwch becynnau SYN a dim SYN-ACK, mae’r bloc i fyny’r llif ac mae’r cleient yn ddieuog. Os gwelwch ysgwyd llaw wedi’i gwblhau i gyfeiriad nad yw’n un y gweinydd, rydych yn siarad â procsi neu ryng-gipiwr. Os na welwch ddim o gwbl, gwiriwch eich bod wedi cipio ar y rhyngwyneb cywir cyn dod i unrhyw gasgliad.

Mae’r rhestr socedau’n dal achos mwy cynnil: ail dwnnel sydd eisoes yn dal y llwybr diofyn. Mae dau gleient yn ymladd dros y tabl llwybro yn cynhyrchu methiannau ysbeidiol sy’n edrych yn union fel rhwydwaith wedi’i rwystro, a bydd y cipiad yn dangos traffig yn gadael drwy ryngwyneb na wnaethoch ei ddisgwyl.

Troi’n ôl, a’r nodyn sy’n werth ei gadw

Dadwnewch y newidiadau yn y drefn groes i’r un y gwnaethoch nhw. Tynnwch y newidynnau procsi, ataliwch y cleient a gychwynnoch â llaw, a dilewch unrhyw drosysgrifiad llwybr neu ddatryswr a ychwanegoch:

unset https_proxy http_proxy
sudo systemctl stop openvpn-client@corp
sudo ip route show default

Gadael cleient a gychwynnwyd â llaw yn rhedeg yw sut mae gliniadur yn gorffen â rhwydwaith wedi torri ar yr ymweliad nesaf â’r swyddfa. Mae newidynnau procsi a adawyd mewn proffil plisgyn yn torri offerynnau diberthyn wythnosau’n ddiweddarach, ac ni fydd y person sy’n eu dadfygio yn cysylltu’r ddau ddigwyddiad.

Yna ysgrifennwch bedair llinell: y rhwydwaith, yr amsernod, y cyfnod a fethodd, a’r cyhoeddwr a welsoch. Mae llwybr sy’n gweithio ar un campws ac yn methu ar y nesaf yn normal, ac mae angen i’r person nesaf wybod mai’r procsi, y datryswr neu’r hidlydd oedd y gwahaniaeth. Os mai’r ateb yw bod y rhwydwaith yn gwahardd mynediad o bell, stopiwch yno a gofynnwch i’r gweinyddwr am y llwybr â chymorth yn lle cario ffordd osgoi i bolisi nad ydych wedi’i ddarllen.

Erthyglau cysylltiedig