Använd socket-ägarskap för att bryta en lokal proxy-omdirigeringsloop
Uteslut proxyprocessens egna utgående sockets från en lokal OUTPUT-omdirigering i stället för att gissa dess källportar.
En lokal avlyssnande proxy öppnar nya utgående anslutningar. Om en bred OUTPUT-omdirigering även fångar dessa sockets skickas proxyn tillbaka till sin egen lyssnare.
För en befintlig IPv4 iptables NAT-konfiguration kan en dedikerad tjänsteidentitet skilja dessa sockets:
-A OUTPUT -p tcp -m owner ! --uid-owner proxyuser \
-m multiport --dports 80,443 -j REDIRECT --to-ports 8080
Detta regelfragment förutsätter att den avlyssningsbara lyssnaren redan finns på port 8080 och att proxyns utgående sockets tillhör proxyuser. Den användarens anslutningar är undantagna från regeln; kvalificerade anslutningar från andra användare omdirigeras.
En webbläsare väljer normalt en efemär källport. Att matcha källport 80 eller 443 är inte ett tillförlitligt sätt att känna igen dess webbplatsanslutningar eller undanta proxyn.
Ägar-matchningen gäller lokalt genererad trafik med socket-ägarskap. Den ersätter inte en källadresspolicy för paket som kommer från andra maskiner.
Håll den befintliga regelordningen och nätverkspolicyn i sikte. Omdirigeringen gör inte en rå SOCKS-lyssnare till en avlyssningsadapter, och IPv6 behöver också sin tillämpliga konfiguration.