Следење на TPROXY пакет сè до сокетот
Проверете го приемниот сокет, ознаката на пакетот и локалната рута на политиката како еден пат на испорака на транспарентен прокси.
Бројачот TPROXY може да расте додека апликацијата не прима ништо. Правилото се совпадна, но локалната испорака сè уште зависи од рутирањето по политика и од компатибилен приемен сокет.
Linux TPROXY може да пресретне сообраќај без да ја препише дестинацијата како што прави DNAT. Затоа пакетите упатени до нелокална дестинација мора да стигнат до соодветен локален сокет.
Следете го патот на испорака
- Сообраќајот стигнува до домаќинот за пресретнување преку предвидениот интерфејс и фамилијата адреси.
- Правилото за пресретнување и ознаката на пакетот ја одредуваат политиката за локална испорака.
- Соодветно правило на политиката избира рута што пакетите ги доставува локално.
- Проксито користи поддржан транспарентен слушател со потребната опција на сокетот.
Примерот за IPv4 во јадрото бара поддршка од апликацијата за IP_TRANSPARENT. Обичен слушател на истиот порт, или глобално нелокално поврзување, не ја докажува таа поддршка.
| Набљудување | Следна проверка |
|---|---|
| Нема релевантни влезни пакети | Пат на сообраќајот и влезен интерфејс |
| Пакетите пристигнуваат; бројачот на пресретнување стои | Фамилија адреси, синџир и услови за совпаѓање |
| Правилото се совпаѓа; локалната испорака не успева | Ознака и избор на рута по политика |
| Сокетот слуша; апликацијата не гледа ништо | Можноста на транспарентниот сокет и сопственикот на слушателот |
| Барањето започнува; подоцнежните одговори не успеваат | Совпаѓање на воспоставен сокет и повратни рути |
Чувајте ја вчитаната конфигурација и мрежниот именски простор со секое набљудување. Подоцнежно правило може да препише ознака или да избере друга рута. Ако пресретнувањето се случува на домаќинот додека слушателот работи во контејнер, валидна локална рута на домаќинот не доставува автоматски во тој контејнер.
Сметајте на подоцнежните пакети
Примерот во јадрото вклучува совпаѓање на сокет и DIVERT пат што ги означува пакетите на транспарентните сокети. Неговото изоставување може да го остави подоцнежниот сообраќај на друг пат, дури и кога првото пресретнување успева.
Користете го поддржаниот транспарентен режим на апликацијата и соодветната документација на јадрото за секоја фамилија адреси. Командата за локална рута IPv4 не конфигурира IPv6, а поддршката во една фамилија не го докажува однесувањето на сокетот во другата.
TPROXY исто така не создава SOCKS преговори. Компонентата од транспарентно во SOCKS сепак мора да ја открие дестинацијата и да преговара со својот upstream.
Премин од REDIRECT
Запишете како постојната апликација ја добива оригиналната дестинација. REDIRECT ја менува дестинацијата и се потпира на соодветниот механизам за враќање; TPROXY бара свој транспарентен сокет и распоред на рутирање. Изберете според апликацијата и политиката за изворна адреса.
Пред да ги смените режимите на пресретнување, поврзете ги бројачите со избраната рута, можноста на сокетот и дневникот на апликацијата. На дистрибуција што ги обезбедува потребните средства, чекорот на испорака што недостасува е подобра почетна точка отколку повторно компајлирање на јадрото.