Прокси жауап береді, сұрау аяқталады, бірақ межелі жер әлі де жергілікті желі мекенжайын жазады. Прокси журналында ешнәрсе қате көрінбейді, ал сіз өзгерткен жол — құжаттама өзгертуді ұсынған жол. Жергілікті желі мекенжайы да, туннель мекенжайы да бар хостта қай мекенжайдың қайда көрінетінін үш директива шешеді, және олардың тек біреуі шығыс жағына қатысты. Оларды дұрыс емес ретпен оқысаңыз, себепсіз маршруттау кестесіне кіресіз.

Белгісі: межелі жер жергілікті желі мекенжайын көреді

Клиент проксиге жергілікті желі мекенжайы арқылы қосылады, ал прокси межелі жерге өз қосылысын ашады. Сол екінші қосылыс көз мекенжайын ядро ережелері бойынша таңдайды, әдепкіде бұл маршрут іздеуі таңдаған мекенжай. Сондықтан әр байт проксиден өтсе де, межелі жер хосттың негізгі мекенжайын жазады. Жіберу тұрғысынан ештеңе бұзылмаған, сондықтан прокси журналының бұл туралы айтары жоқ.

Бұл ақаудың айна бейнесі байқауға оңайырақ: шығыс көзін туннель мекенжайына бекітіңіз, сонда жергілікті желі клиенттері тыңдаушыға мүлдем жетпейді. Ол нұсқа өзін-өзі жариялайды, ал біріншісі жұмыс істеп тұрған сұраудың артына тығылады. Екеуі де бір директиваны екі сұраққа да жауап береді деп қараудан туындайды.

Үш директива, үш түрлі мекенжай

Listen прокси клиенттерін қабылдайтын жергілікті мекенжайды атайды. Bind прокси сыртқа ашатын қосылыстарға көз мекенжайын береді, ал BindSame оған жаңа ғана қабылданған қосылыстың жергілікті мекенжайын қайта пайдалануды бұйырады. Бұл үш бөлек сұрақ, және бір жол олардың тек біреуіне жауап береді. Оларды шатастыру — өзгеріс ештеңе істемейтін сияқты көрінетін әдеттегі себеп.

What you observeCheck first
A client cannot connect at allListen: the local address the listener binds
The request works but the far side logs the LAN addressBind: the outgoing source is not being applied
A configured Bind appears to have no effectBindSame yes: the accepted local address overrides the Bind list
The lookup names the LAN interfaceThe route, not the proxy: the source cannot reach that destination

Орнатылған нұсқамен бірге келетін түсіндірмелі конфигурацияны оқыңыз, өйткені әдепкі мәндер мен қабылданатын синтаксис шығарылымдар арасында өзгереді. Жобаның үлгі конфигурациясы әр директиваны басқаларымен қатар сипаттайды. Ол файлды дискідегі файлмен салыстырыңыз, басқа дистрибутив үшін жазылған нұсқаулықпен емес.

Тыңдаушы мен шығыс көзін бөлек орнатыңыз

Жергілікті желі мекенжайы 192.168.50.10, ал туннель мекенжайы 10.90.0.3 болатын хостты алыңыз. Егер жергілікті желі клиенттері проксиге жетуі керек, ал олардың сұраулары туннельден шығуы керек болса, бұл екі тәуелсіз шешім және екеуін де жазу қажет. Төмендегі үзінді дәл соны білдіреді, одан артық ештеңе емес.

Listen 192.168.50.10
Bind 10.90.0.3
BindSame no

Бұл толық конфигурация емес, сондықтан бекітілген портты, аутентификацияны, клиенттердің кіруін бақылауды және межелі жер шектеулерін сақтаңыз. Екі мекенжай да Tinyproxy желілік атау кеңістігінің ішінде осы хостқа тиесілі болуы керек, өйткені процесс иелене алмайтын Bind мәні іске қосу кезінде емес, қосылу кезінде сәтсіз аяқталады. BindSame yes басқа саясатты сипаттайды: қабылданған қосылыстың жергілікті мекенжайы шығыс көзіне айналады. Қазіргі шығарылымдарда бұл тармақ Bind тізімінен басым, және осылайша конфигурацияланған көз қатесіз жоғалады.

Көз болжайтын маршрутты тексеріңіз

Көз мекенжайын таңдау жол жасамайды, сондықтан ядродан сол көз бен сол межелі жермен не істейтінін сұраңыз. Туннель интерфейсін атайтын іздеу — ең аз дәлел, ал жергілікті желі интерфейсін атайтыны көздің жазылған күйінде жұмыс істей алмайтынын білдіреді. Іздеу контекстік: ол сол атау кеңістігі үшін қолданыстағы саясат ережелері мен кестені бағалайды. Бұл байланыс емес және төмендегі NAT қызметке не көрсететіні туралы ештеңе айтпайды.

ip -4 route get 203.0.113.25 from 10.90.0.3

Мысалда құжаттама мекенжайын пайдаланып, оны сынауға рұқсатыңыз бар қызметпен алмастырыңыз. Прокси контейнерде жұмыс істесе, іздеуді проксидің атау кеңістігінде орындаңыз, өйткені хост ережелері процесс көретін ережелер емес. Көздеген туннель маршруты жоқ болса, прокси хостқа межелі жерге тән ережелер қосудың орнына желі иесіне оны түзетуді тапсырыңыз. Іздеу сәтті болуы үшін хост маршруттарын тазаламаңыз және сервер жіберетін маршруттарды өшірмеңіз, тіпті ескі нұсқаулық солай істесе де, өйткені мұндай өзгерістер бір прокси жолын жөндеу үшін бүкіл хосттың бекітілген VPN мінез-құлқын жылжытады.

Көзді межелі жерде растаңыз

Көзді сұрау келетін жерде оқыңыз, ол шығатын жерде емес. Межелі жердің қолданба журналы немесе оның алдындағы шеткі құрылғы өзі шынымен көрген мекенжайды жазады, ал прокси тек ниетін айта алады. Өзгерістен кейін көзделген тыңдаушы арқылы бір жаңа сұрау жасаңыз, өйткені кэштегі қосылыс жаңа байланыстыру туралы ештеңені дәлелдемейді. Содан кейін жазылған мекенжайды өзіңіз конфигурациялаған мекенжаймен салыстырыңыз.

ss -ltnp | grep tinyproxy
curl -x http://192.168.50.10:8888 https://example.com -o /dev/null -sS

curl — тек трафик генераторы; тексеруге тұрарлық мекенжай — алыс жақ жазған мекенжай, curl кездейсоқ қосылған серіктес емес. Екеуі сәйкеспесе, айырмашылық көз таңдауынан ба, әлде әрі қарайғы түрлендіруден бе, соны анықтаңыз, өйткені олар әр жерде түзетіледі. Мекенжай өзгерістері мен проксиді қайта іске қосуды бірге жоспарлаңыз, өйткені туннель енді иеленбейтін мекенжайды байланыстыру қайта қосылғаннан кейін үнсіз сәтсіз аяқталады. DNS пен IPv6 мінез-құлқын да бөлек анықтаңыз, өйткені жоғарыдағы IPv4 үзіндісі екеуінің ешқайсысы туралы ештеңені дәлелдемейді.

Қатысты мақалалар