Жергілікті прокси қайта бағыттау циклін үзу үшін сокет иелігін пайдалану
Прокси процесінің өз шығыс сокеттерін оның бастапқы порттарын болжаудың орнына жергілікті OUTPUT қайта бағыттауынан шығарыңыз.
Жергілікті ұстап қалушы прокси жаңа сыртқы қосылымдар ашады. Егер жалпыға ортақ OUTPUT қайта бағыттауы сол сокеттерді де ұстап алса, проксиді өзінің тыңдаушысына қайта жібереді.
Қолданыстағы IPv4 iptables NAT конфигурациясы үшін арнайы қызмет идентификациясы сол сокеттерді ажырата алады:
-A OUTPUT -p tcp -m owner ! --uid-owner proxyuser \
-m multiport --dports 80,443 -j REDIRECT --to-ports 8080
Бұл ереже үзіндісі ұстап қалуға қабілетті тыңдаушы 8080 портында бұрыннан бар және проксидің шығыс сокеттері proxyuser-ге тиесілі деп болжайды. Сол пайдаланушының қосылымдары бұл ережеден шығарылған; басқа пайдаланушылардың жарамды қосылымдары қайта бағытталады.
Браузер әдетте эфемерлік бастапқы порт таңдайды. 80 немесе 443 бастапқы портын сәйкестендіру оның веб-сайт қосылымдарын танудың немесе проксиді босатудың сенімді жолы емес.
Ие сәйкестігі сокет иелігімен жергілікті түрде жасалған трафикке қатысты. Ол басқа машиналардан келетін пакеттер үшін бастапқы адрес саясатын алмастырмайды.
Қолданыстағы ереже тәртібі мен желілік саясатты назарда ұстаңыз. Қайта бағыттау шикі SOCKS тыңдаушысын ұстап қалу адаптеріне айналдырмайды, және IPv6 да өзінің тиісті конфигурациясын қажет етеді.