Mae Redsocks yn gwrando ar loopback ond nid yw traffig VPN byth yn cyrraedd
Nid yw gwrandäwr ar loopback yn unig byth yn gweld traffig a ailgyfeirir o tun0. Darllenwch darged yr ailgyfeirio a rhwymiad y soced, trwsiwch y rhwymiad, yna profwch o gleient go iawn.
Mae twnnel yn codi, gall y cleient pingio'r porth, ac mae pob cais gwe trwy lwybr y procsi yn marw. Mae'r broses redsocks yn rhedeg ac mae ei phorth yn gwrando, felly mae'r gwasanaeth yn edrych yn iach o'r porth ei hun. Yr hyn sy'n methu yw'r cam cyflenwi: nid yw pecyn a ailgyfeirir o'r twnnel yn glanio ar y soced a gychwynnoch. Rhaid i'r cyfeiriad rhwymo a tharged yr ailgyfeirio gytuno, a dim ond un ohonynt a wirir fel arfer.
Ble mae pecyn a ailgyfeirir yn glanio mewn gwirionedd
Mae procsi tryloyw ar borth yn defnyddio REDIRECT yn y tabl nat yn PREROUTING i ailysgrifennu cyrchfan cysylltiad sy'n dod i mewn i borth lleol. Y gyrchfan a ailysgrifennwyd yw cyfeiriad lleol fel y'i gwelir o'r rhyngwyneb y daeth y pecyn i mewn arno, nid cyfeiriad loopback proses a gychwynnwyd yn rhywle arall. Mae gwrandäwr wedi'i rwymo i 127.0.0.1 yn unig yn derbyn cysylltiadau a oedd eisoes yn lleol i'r gwesteiwr, a dyna'r union achos sy'n dal i weithio tra bod traffig y twnnel yn methu. Mae loopback y cleient ei hun yn drydydd cyfeiriad ac nid yw byth yn darged rheol y porth.
Felly cyn cyffwrdd â chymwysterau'r llif i fyny, sefwch ddau ffaith: pa gyfeiriad lleol y mae'r rheol yn ailysgrifennu iddo, a pha gyfeiriad y mae soced y procsi wedi'i rwymo iddo.
Darllenwch y gwrandäwr a'r rheol ailgyfeirio gyda'i gilydd
Argraffwch y tabl soced a'r rheolau nat yn yr un darn, oherwydd mae rheol sy'n pwyntio at borth nad oes neb yn berchen arno yn edrych yn union yr un fath â rheol sy'n pwyntio at y cyfeiriad anghywir. Mae sudo ss -ltnp | grep redsocks yn dangos y cyfeiriad rhwymo a'r broses sy'n berchen arno. Mae sudo iptables -t nat -S PREROUTING yn dangos targed REDIRECT, ac mae sudo iptables -t nat -L PREROUTING -v -n yn dangos a oedd unrhyw beth wedi cyfateb iddo.
Nid yw naid i gadwyn defnyddiwr o'r enw REDSOCKS yn cyflawni dim oni bai bod y gadwyn honno'n bodoli ac yn cario'r eithriadau a fwriadwyd a'r weithred REDIRECT. Darllenwch y gadwyn y mae'n neidio iddi gyda sudo iptables -t nat -S REDSOCKS yn lle tybio bod yr enw'n gwneud y gwaith.
Yna cymharwch y ddau werth. Os yw'r rheol yn ailgyfeirio at gyfeiriad porth ar borth 12345 ac mae'r gwrandäwr yn adrodd 127.0.0.1:12345, mae'r camgymhariad yn esbonio'r methiant heb unrhyw ddiagnosis pellach.
Rhwymwch yn gul, yna cyfyngwch beth all gyrraedd
Mae'r cyfluniad enghreifftiol i fyny'r llif yn rhoi'r gwrandäwr ar loopback am reswm da: mae procsi tryloyw yn derbyn cysylltiadau ar ran pwy bynnag a all gyrraedd. Mae newid y rhwymiad i 0.0.0.0 yn trwsio cyflenwi ac ar yr un pryd yn agor y porth ar bob rhyngwyneb, sy'n newid diogelwch, nid yn drwsio niwtral. Mae'n well rhwymo i'r cyfeiriad lleol penodol y mae'r ailgyfeirio'n targedu, a chadw'r porth yn gaeedig ar ryngwynebau annibynadwy. Os yw rhwymiad ehangach yn anochel, ychwanegwch reol wal dân gwesteiwr sy'n caniatáu dim ond amrediad ffynhonnell y twnnel a thraffig lleol y porth ei hun.
Nid oes byth angen agor y porth ar y rhyngwyneb cyhoeddus ar gyfer traffig VPN a ailgyfeirir, oherwydd mae'r cysylltiad yn gorffen yn lleol ar ôl yr ailysgrifennu. Peidiwch â datgelu'r procsi i'r rhyngrwyd i wneud ailgyfeiriad lleol yn gweithio.
Profwch hyn gyda chysylltiad newydd o gleient
Profwch o gleient VPN go iawn gyda chysylltiad TCP newydd, nid o gragen ar y porth. Mae curl -sS -o /dev/null -w '%{http_code}\n' http://example.com ar y cleient yn ymarfer y llwybr a ailgyfeirir o'r dechrau i'r diwedd.
Yna cadarnhewch fod cysylltiad uniongyrchol â'r gwrandäwr o rwydwaith annibynadwy yn dal i gael ei wrthod, ac nad yw cysylltiad allgyrchol y procsi ei hun yn cael ei ddal eto gan yr un rheol. Mae dal ailadroddus yn ymddangos fel procsi sy'n cysylltu ag ef ei hun ac nad yw byth yn cwblhau cais. Ychwanegwch gyrchfan y procsi at y set eithrio, neu nodwch ei becynnau allanol fel bod y gadwyn yn eu hepgor.
Yn olaf, cofiwch beth nad yw'r llwybr hwn yn ei gynnwys. Nid yw ailgyfeirio TCP arferol redsocks yn troi UDP, QUIC na DNS yn draffig SOCKS, ac mae cyrchfannau preifat fel arfer angen eithriadau penodol. Mae prawf lleol llwyddiannus yn profi dim ond y llwybr loopback nad oedd byth yn broblem.