Squid SO_ORIGINAL_DST లోపాన్ని చదవడం
Squid లో అసలైన గమ్యస్థాన శోధన వైఫల్యాన్ని పరిశీలించే ముందు స్పష్టంగా కాన్ఫిగర్ చేసిన క్లయింట్ ఇంటర్సెప్షన్ లిజనర్ను చేరిందో లేదో తనిఖీ చేయండి.
NF getsockopt(SO_ORIGINAL_DST) అసలైన గమ్యస్థానం యొక్క శోధనను సూచిస్తుంది. ఇంటర్సెప్షన్ సెటప్లో, రీడైరెక్ట్ చేయబడిన కనెక్షన్ మొదట ఎక్కడికి వెళ్తోందో Squid తిరిగి కనుగొనాలి.
స్పష్టంగా కాన్ఫిగర్ చేసిన బ్రౌజర్ తన అభ్యర్థనలను ఉద్దేశపూర్వకంగా ప్రాక్సీకి పంపుతుంది. Squid లిజనర్ పోర్టు పక్కన intercept రాయబడి ఉందన్న కారణంగానే ఆ కనెక్షన్కు NAT ఇంటర్సెప్షన్ చరిత్ర లభించదు.
అందువల్ల ఈ అసమతుల్యత గమ్యస్థానం యొక్క సర్టిఫికెట్ సంబంధితం కాకముందే విఫలమవుతుంది.
కనెక్షన్ ఎలా వచ్చిందో దానితో ప్రారంభించండి
- అప్లికేషన్లో ప్రాక్సీ చిరునామా కాన్ఫిగర్ చేయబడి ఉంటే, అది ఉపయోగించాల్సిన సాధారణ ఫార్వర్డ్-ప్రాక్సీ లిజనర్ను గుర్తించండి.
- గేట్వే లేకపోతే నేరుగా ఉండే ట్రాఫిక్ను రీడైరెక్ట్ చేస్తే, అది ఉద్దేశించిన ఇంటర్సెప్షన్ లిజనర్ను చేరుతుందా మరియు మద్దతు ఉన్న NAT రూపకల్పన అవసరమైన గమ్యస్థాన సమాచారాన్ని కాపాడుతుందా అని తనిఖీ చేయండి.
- రెండు మోడ్లు ఉంటే, విఫలమవుతున్న క్లయింట్ వాస్తవంగా ఏ చిరునామా మరియు పోర్టును సంప్రదించిందో తనిఖీ చేయండి.
Squid యొక్క http_port డాక్యుమెంటేషన్ భేదాన్ని స్పష్టం చేస్తుంది: మోడ్ ఫ్లాగ్ను వదిలేస్తే ఫార్వర్డ్-ప్రాక్సీ మోడ్ ఎంపిక అవుతుంది; intercept IP పొరలో NAT ఇంటర్సెప్షన్ను ఆశిస్తుంది.
తర్వాత రవాణా భద్రతను విడిగా పరిగణించండి. HTTP ప్రాక్సీ CONNECT ద్వారా HTTPS మోసుకెళ్లగలదు. ప్రాక్సీకి TLS కనెక్షన్కు సరిపోయే లిజనర్ మరియు క్లయింట్ కాన్ఫిగరేషన్ అవసరం. గమ్యస్థాన ట్రాఫిక్ను డీక్రిప్ట్ చేయడం మరో ఐచ్ఛిక సామర్థ్యం.
గమ్యస్థాన URL HTTPS తో ప్రారంభమవుతుందన్న కారణంగానే సర్టిఫికెట్ ఉత్పత్తిని ఆన్ చేసే పాత “HTTPS పరిష్కారాన్ని” కాపీ చేయవద్దు. మొదట క్లయింట్ మరియు లిజనర్ మధ్య సామరస్యాన్ని సరిచేయండి. ఆ తర్వాత నిజమైన TLS లోపం మిగిలి ఉంటే, అది పరిశీలించడానికి మరింత ఉపయోగకరమైన లోపం అవుతుంది.