Tinyproxy ичиндеги Listen, Bind жана BindSame: кайсы дарек жеңет
Listen кардарларды кабыл алган даректи тандайт, Bind сыртка чыгуучу байланыштардын булагын тандайт. Экөө тең маршрут орнотпойт, ошондуктан жолду өзүнчө текшериңиз.
Прокси жооп берет, суроо аяктайт, бирок багыт дагы эле жергиликтүү тармактын дарегин жазат. Прокси журналында эч нерсе туура эмес көрүнбөйт, ал эми сиз өзгөрткөн сап — документтештирүү өзгөртүүнү сунуш кылган сап. Жергиликтүү тармактын дареги да, туннелдин дареги да бар хостто кайсы дарек кайда көрүнөрүн үч директива чечет, жана алардын бир гана сыртка чыгуучу жагына тиешелүү. Аларды туура эмес тартипте окусаңыз, себепсиз маршруттоо таблицасына киресиз.
Белгиси: багыт жергиликтүү тармактын дарегин көрөт
Кардар проксиге жергиликтүү тармактын дареги аркылуу туташат, ал эми прокси багытка өзүнүн байланышын ачат. Ошол экинчи байланыш булак дарегин ядронун эрежелери боюнча тандайт, жана демейкиде бул маршрут издөө тандаган дарек. Ошондуктан ар бир байт проксиден өтсө да багыт хосттун негизги дарегин жазат. Жиберүү жагынан эч нерсе бузулган эмес, ошондуктан прокси журналынын бул тууралуу айтары жок.
Бул мүчүлүштүктүн күзгүдөгү сүрөтүн байкоо оңоюраак: сыртка чыгуучу булакты туннелдин дарегине бекитиңиз, ошондо жергиликтүү тармактын кардарлары угуучуга такыр жетпейт. Ал версия өзүн өзү жарыялайт, ал эми биринчиси иштеп жаткан суроонун артына жашынат. Экөө тең бир директиваны эки суроого тең жооп берет деп кароодон келип чыгат.
Үч директива, үч башка дарек
Listen прокси кардарларын кабыл алган жергиликтүү даректи атайт. Bind прокси сыртка ачкан байланыштарга булак дарегин берет, ал эми BindSame ага жаңы эле кабыл алынган байланыштын жергиликтүү дарегин кайра колдонууну буйруйт. Булар үч өзүнчө суроо, жана бир сап алардын бирине гана жооп берет. Аларды аралаштыруу — өзгөртүү эч нерсе кылбайт окшоп көрүнүшүнүн кадимки себеби.
| What you observe | Check first |
|---|---|
| A client cannot connect at all | Listen: the local address the listener binds |
| The request works but the far side logs the LAN address | Bind: the outgoing source is not being applied |
| A configured Bind appears to have no effect | BindSame yes: the accepted local address overrides the Bind list |
| The lookup names the LAN interface | The 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 -sScurl — бул трафик генератору гана; текшерүүгө татыктуу дарек — алыс тарап жазган дарек, curl кокустан туташкан өнөктөш эмес. Экөө дал келбесе, айырма булак тандоодон бери чыгабы же андан ары өзгөртүүдөн бери чыгабы, аныктаңыз, анткени алар ар башка жерде оңдолот. Дарек өзгөртүүлөрүн жана проксини кайра күйгүзүүнү чогуу пландаңыз, анткени туннел эми ээлик кылбаган даректи байлоо кайра туташкандан кийин үнсүз ишке ашпайт. DNS жана IPv6 жүрүм-турумун да өзүнчө аныктаңыз, анткени жогорку IPv4 үзүндүсү экөөнүн бири тууралуу да эч нерсени далилдебейт.