strongSwan trap మోడ్: IPsec సొరంగం ట్రాఫిక్ కోసం ఎందుకు వేచి ఉంటుంది
నిష్క్రియ ఆన్-డిమాండ్ IPsec సొరంగం ప్యాకెట్ దాని trap విధానంతో సరిపోయే వరకు ఏ CHILD SA ను చూపదు. స్థితిని చదవండి, ట్రిగ్గర్ను తనిఖీ చేయండి మరియు start ఎప్పుడు సరిపోతుందో తెలుసుకోండి.
స్థితి అవుట్పుట్లో ఏ CHILD SA కనిపించదు, సొరంగం చనిపోయినట్లు కనిపిస్తుంది, ఆ తర్వాత దూరపు సబ్నెట్కు ping దానిని పైకి లేపుతుంది. ఆన్-డిమాండ్ IPsec సెటప్లో ఈ క్రమమే డిజైన్, లోపం కాదు. trap విధానం ఒక ఎంపికిని ఇన్స్టాల్ చేసి వేచి ఉంటుంది, దానితో సరిపోయే మొదటి ప్యాకెట్ IKE మరియు CHILD SA చర్చలను ప్రారంభిస్తుంది.
గందరగోళంలో ఒక భాగం పదజాలం: “up” రెండు వేర్వేరు స్థితులకు ఉపయోగించబడుతుంది. కాన్ఫిగరేషన్ లోడ్ అయింది మరియు కెర్నల్ విధానం ఉంది, కానీ డేటా అసోసియేషన్ లేదు. కేవలం యాక్టివ్ SAలను లెక్కించే మానిటర్, ఎవరూ అక్కడికి ట్రాఫిక్ పంపనంత వరకు ఆరోగ్యకరమైన సైట్ను డౌన్ అని నివేదిస్తుంది.
నిష్క్రియ ఆన్-డిమాండ్ సొరంగానికి చూపించడానికి CHILD SA లేదు
trap ఎంట్రీ దానంతట అదే ఏమీ ధ్రువీకరించదు. ఎంచుకున్న ట్రాఫిక్ కోసం విధానాన్ని ఉంచుకోవాలని, ప్యాకెట్కు ఆ విధానం అవసరమైనప్పుడు acquisition ను పైకి లేపాలని కెర్నల్ను కోరుతుంది. డీమన్ acquisition ను స్వీకరించి, child నిర్వచనంతో సరిపోల్చి అక్కడి నుండి చర్చలు జరుపుతుంది. అప్పటి వరకు చూపించడానికి IKE SA కూడా లేదు, అందుకే రెండు జాబితాలు ఒకేసారి ఖాళీగా ఉండవచ్చు.
ఈ క్రమమే లాగ్లను చదవగలిగేలా చేస్తుంది. మొదట acquisition వస్తుంది, తర్వాత IKE_SA_INIT మరియు IKE_AUTH, తర్వాత CHILD SA. acquisition తర్వాత వెంటనే లాగ్ ముగిస్తే, ట్రిగ్గర్ పనిచేసింది. చర్చలు విఫలమయ్యాయి, తదుపరి ప్రశ్న trap గురించి కాదు, క్రెడెన్షియల్స్, ప్రతిపాదనలు లేదా చేరుకోగలగడం గురించి.
Linux కెర్నల్ backend తో ఏ SA ఉనికిలోకి రాకముందే విధానాన్ని చూడవచ్చు. ఇది అమలు చేయండి ip xfrm policy మరియు out దిశ మరియు కనెక్షన్ను సూచించే టెంప్లేట్ ఉన్న ఎంపికిని వెతకండి. ఆ ఎంట్రీయే ఆన్-డిమాండ్ స్థితి, దాని ఉనికే మొదట ధృవీకరించాల్సిన విషయం.
start_action ఏదైనా వేచి ఉంటుందా లేదా అని నిర్ణయిస్తుంది
ప్రతి child swanctl.conf లో start_action. start కాన్ఫిగరేషన్ లోడ్ అయినప్పుడు ప్రారంభమవుతుంది, trap విధానాన్ని ఇన్స్టాల్ చేసి వేచి ఉంటుంది, మరియు none ప్రారంభాన్ని మరొకదానికి వదిలివేస్తుంది. కేవలం trap మాత్రమే పైన వివరించిన “ping మరియు అది పైకి వస్తుంది” ప్రవర్తనను సృష్టిస్తుంది.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
రెండు ట్రాఫిక్ ఎంపికలు ఏది ఆసక్తికరమైనదిగా పరిగణించబడుతుందో నిర్వచిస్తాయి, ఆ ప్రిఫిక్స్ల వెలుపలి హోస్ట్ నుండి వచ్చిన ప్యాకెట్ trap ను ప్రేరేపించదు; అది సాధారణంగా రూట్ అవుతుంది. ట్రిగ్గర్ మరింత ఉత్సాహంగా ఉండేందుకు ఎంపికలను విస్తరించడం, సొరంగం రక్షిస్తానని చెప్పుకునే పరిధిని కూడా విస్తరిస్తుంది, కాబట్టి మీరు నిజంగా ఎన్క్రిప్ట్ చేయాలనుకునే ట్రాఫిక్ నుండే వాటిని తీసుకోండి.
ఇక్కడ swanctl.conf సూచన అంగీకరించబడిన విలువలను జాబితా చేస్తుంది, SA ఉనికిలోకి వచ్చిన తర్వాత ఏమి జరుగుతుందో నియంత్రించే ప్రత్యేక close మరియు DPD చర్యలతో పాటు.
ట్రిగ్గర్ అసలు ప్రేరేపించబడిందా అని కనుగొనండి
దీనితో ప్రారంభించండి: swanctl --list-conns మరియు child మీరు ఉద్దేశించిన చర్యతో లోడ్ అయిందని నిర్ధారించండి. తర్వాత local_ts లోపలి హోస్ట్ నుండి remote_ts లోపలి చిరునామాకు ఒక ప్యాకెట్ పంపి swanctl --list-sas గమనించండి. అవుట్పుట్ మారకపోతే, ఏ acquisition డీమన్ను చేరలేదు.
నిశ్శబ్ద trap కి రెండు సాధారణ కారణాలు: ప్యాకెట్ విధానాన్ని చేరుకునే ముందే source-NAT అయింది మరియు ఇప్పుడు local_ts తో సరిపోలడం లేదు, లేదా సింటాక్స్ లేదా క్రెడెన్షియల్ లోపం వల్ల కనెక్షన్ ఎప్పుడూ లోడ్ కాలేదు. ఎంపికలను తాకే ముందు swanctl --load-all మళ్లీ అమలు చేసి దాని అవుట్పుట్ చదవండి. లోడ్ కాని కనెక్షన్ ఏ విధానాన్ని ఇన్స్టాల్ చేయదు, కాబట్టి ట్రాఫిక్ ప్రేరేపించడానికి ఏమీ లేదు.
దిశ కూడా ముఖ్యం: బయటకు వెళ్లే ట్రాఫిక్ కోసం ఇన్స్టాల్ చేసిన trap లోపలికి వచ్చే ప్యాకెట్పై ప్రారంభం కాదు. దూరపు వైపు సొరంగాన్ని పైకి లేపాల్సి ఉంటే దానికి సొంత trap అవసరం, లేదా ఈ వైపుకు start.
మొదటి ప్యాకెట్ కోసం వేచి ఉండటం ఎప్పుడూ సరైన మార్పిడి కాదు
ఇంటరాక్టివ్ సెషన్లు సెటప్ ఖర్చును గుర్తిస్తాయి. మొదటి అభ్యర్థన IKE మార్పిడి మరియు CHILD చర్చల ఖర్చును చెల్లిస్తుంది, తక్కువ గడువు ఉన్న క్లయింట్ SA ఉనికిలోకి రాకముందే వదిలేయవచ్చు. యాక్టివ్ start ఆ మొదటి-ప్యాకెట్ ఆలస్యాన్ని తొలగిస్తుంది. కానీ ఎప్పుడూ రాకపోవచ్చిన ట్రాఫిక్ కోసం సొరంగాన్ని పైకి ఉంచుతుంది.
మూడు వాస్తవాలు ఎంపికను నిర్ణయిస్తాయి: మార్గం ఎంత తరచుగా ఉపయోగించబడుతుంది, మొదటి అభ్యర్థనకు కఠినమైన గడువు ఉందా, మరియు బూట్ సమయంలో పీర్ చేరుకోగలమా. అప్పుడప్పుడు వచ్చే బ్యాచ్ ట్రాఫిక్ మరియు బూట్ సమయంలో ఆఫ్లైన్లో ఉండవచ్చిన పీర్ రెండూ trap కు అనుకూలంగా ఉన్నాయి. ఆలస్యానికి సున్నితమైన క్లయింట్ మరియు ఎల్లప్పుడూ చేరుకోగలిగే పీర్ start కు అనుకూలంగా ఉన్నాయి. రెండు వైపులా ప్రారంభించగలిగితే, రెట్టింపు చర్చలు రాకుండా ట్రిగ్గర్ ఎవరిదో అంగీకరించండి.
ఇన్స్టాల్ చేసిన విధానం కూడా లీక్-ప్రూఫ్ హామీ కాదు. అవసరం fail-closed అయితే, ఫైర్వాల్ SA లేని ట్రాఫిక్ను పడవేయాలి, ఆ నియమం child నిర్వచనం వెలుపల ఉంటుంది.
తదుపరి వాదనను ముగించే మూడు పంక్తులు రాయండి
ఎంపికలు, ప్రారంభ చర్య మరియు SA లేకుండా విధానం ఉనికిలో ఉందని చూపించే కమాండ్ అవుట్పుట్ రాయండి. ఆ మూడు పంక్తులు తదుపరిసారి ఎవరైనా సొరంగాన్ని డౌన్ అని నివేదించినప్పుడు “ఆన్-డిమాండ్ మరియు నిష్క్రియ” మరియు “లోడ్ అవడం లేదు” మధ్య తేడాను చూపుతాయి. వాటిని నమోదు చేయడానికి ఒక నిమిషం పడుతుంది. అవి లేకుండా అదే దర్యాప్తు సున్నా నుండి ప్రారంభమవుతుంది.
నిజంగా ఎంపిక లోపల ఉన్న హోస్ట్ నుండి పరీక్షించండి. రౌటర్ నుండే చేసే ping తరచుగా వేరే మార్గం తీసుకుంటుంది మరియు దాని వెనుక ఉన్న సబ్నెట్ను రక్షించే విధానం గురించి ఏమీ నిరూపించదు.