iptables --uid-owner Squid యొక్క స్థానిక సాకెట్లతో సరిపోతుంది, LAN వినియోగదారులతో కాదు
Squid యొక్క బహిర్గమనం గురించి ఆలోచించేటప్పుడు --uid-owner యొక్క స్థానిక సాకెట్-సృష్టికర్త అర్థాన్ని ఉపయోగించి, ఫార్వర్డ్ చేసిన LAN ప్యాకెట్లను వేరుగా ఉంచండి.
iptables యొక్క owner సరిపోలిక స్థానిక ప్రక్రియ యొక్క సాకెట్ సృష్టించిన ప్యాకెట్లను గుర్తించగలదు. ఉదాహరణకు, -m owner --uid-owner 1234 అనేది UID 1234 యాజమాన్యంలోని స్థానిక సాకెట్ను సూచిస్తుంది; ఇది HTTP ప్రాక్సీ వినియోగదారు పేరును గుర్తించదు.
Squid నడుస్తున్న మెషీన్లో ఈ మార్గాలను వేరు చేయండి:
| ట్రాఫిక్ | సంబంధిత భేదం |
|---|---|
| ఒక క్లయింట్ ఈ మెషీన్లో Squid కు కనెక్ట్ అవుతుంది | ప్రాక్సీ లిజనర్కు వచ్చే కనెక్షన్ |
| Squid గమ్యస్థాన కనెక్షన్ తెరుస్తుంది | స్థానికంగా సృష్టించిన అవుట్బౌండ్ సాకెట్ |
| LAN క్లయింట్ ఈ మెషీన్ ద్వారా నేరుగా రూట్ చేస్తుంది | స్థానిక సృష్టికర్త సాకెట్ లేని ఫార్వర్డ్ ట్రాఫిక్ |
ఈ ఎక్స్టెన్షన్ OUTPUT మరియు POSTROUTING లో చెల్లుతుంది. ఫార్వర్డ్ చేసిన ప్యాకెట్లకు ఈ సరిపోలిక కోసం అనుబంధిత స్థానిక సాకెట్ ఉండదు, కాబట్టి Squid యొక్క UID అడిగి FORWARD నియమం దూర కంప్యూటర్ వినియోగదారుని కనుగొనలేదు.
అందువల్ల Squid యొక్క స్వంత అవుట్బౌండ్ సాకెట్లను అనుమతించే విధానం ప్రాక్సీపై మాత్రమే ఆధారపడిన నెట్వర్క్ డిజైన్లో ఒక భాగాన్ని మాత్రమే నిర్వహిస్తుంది. గేట్వే ఫార్వర్డింగ్, లిజనర్ యాక్సెస్, ఇతర అనుమతించిన సేవలు మరియు వాస్తవ ప్రాక్సీ సేవా ఖాతా వాటి తగిన పరిధిలో నిర్వహించాలి.
Squid nobody గా నడుస్తుందని ఊహించకుండా కాన్ఫిగర్ చేసిన రన్టైమ్ గుర్తింపును ఉపయోగించండి. అనేక ప్రక్రియలు ఒక UID ను పంచుకోగలవు, కాబట్టి UID ఆధారిత అనుమతి ఖాతా పరిమితి, ఒక నిర్దిష్ట ఎక్జిక్యూటబుల్ ప్రతి అనుమతించిన కనెక్షన్ను సృష్టించిందని రుజువు కాదు.