strongSwan ESP-in-UDP: గుర్తించడానికి NAT లేనప్పుడు
NAT గుర్తింపు చిరునామా అనువాదాన్ని కనుగొంటుంది, ఫైర్వాల్ విధానాన్ని కాదు. NAT లేని సైట్ కనెక్షన్కు ఇంకా స్పష్టమైన ESP-in-UDP ఎంపిక అవసరం కావచ్చు.
NAT గుర్తింపు ఒక ప్రశ్నకు సమాధానమిస్తుంది: మార్గంలో చిరునామాలు లేదా పోర్టులు మారాయా? ఫైర్వాల్ IP ప్రోటోకాల్ 50 ను అనుమతిస్తుందా అనే దానికి అది సమాధానమివ్వదు. ఎటువంటి అనువాదం లేని సైట్ గేట్వేలు native ESP ను విసిరే విధానం వెనుక ఇంకా ఉండవచ్చు, ఆ అవసరాన్ని కనుగొనడం బదులు కాన్ఫిగర్ చేయాలి. యంత్రాంగం ESP-in-UDP, ఇది నిర్ణయం, తనంతట తానే వచ్చే ప్రత్యామ్నాయం కాదు.
గుర్తింపు చిరునామాలపై అంకగణితం, ఫైర్వాల్ పరిశీలన కాదు
IKEv2 NAT గుర్తింపు పేలోడ్లను మోసుకెళ్తుంది, వాటిలో మూలం మరియు గమ్యం చిరునామాలు, పోర్టుల హాష్లు ఉంటాయి. ప్రతి వైపు అందుకున్నదాన్ని స్థానికంగా కనిపించే దానితో పోలుస్తుంది, భేదం ఉంటే ఏదో ప్యాకెట్ను అనువదించిందని దానికి తెలుస్తుంది. ఆ మార్పిడిలో మధ్యలో ఉన్న రౌటర్ ప్రోటోకాల్ 50 ను పంపుతుందా అని పరీక్షించేది ఏమీ లేదు.
ఆచరణాత్మక పరిణామాన్ని నేరుగా చెప్పడం విలువైనది. native ESP తో పనిచేసిన టన్నెల్ కొత్త నిర్బంధ ఫైర్వాల్ను తనే కనుగొనదు, IKE విజయవంతమవుతూనే ఉన్నప్పుడు దాని తదుపరి ప్రయత్నం డేటా దశలో విఫలమవుతుంది. మీరు స్థాపించిన IKE భద్రతా సంఘాలను చూస్తారు మరియు ఏ రక్షిత ట్రాఫిక్ లేదు, ఇది వైర్పై క్యాప్చర్ చేసే వరకు రూటింగ్ లోపంలా కనిపిస్తుంది.
అందువల్ల ఎన్క్యాప్సులేషన్ మీరు కాన్ఫిగర్ చేసే కనెక్షన్ లక్షణం, నెట్వర్క్ ప్రవర్తన నుండి పక్షాలు బేరమాడే ఫలితం కాదు.
encap మార్పిడిని ఎలా మారుస్తుంది
ఆధునిక strongSwan అమరికలో, అది swanctl.conf ద్వారా నిర్వహించబడుతుంది, కనెక్షన్పై encap = yes సెట్టింగ్ NAT గుర్తింపు మార్పిడిని ప్రభావితం చేస్తుంది, తద్వారా రెండు పక్షాలు ESP కోసం UDP ఎన్క్యాప్సులేషన్ ఉపయోగిస్తాయి. రక్షిత ప్యాకెట్లు తర్వాత UDP లోపల, సాధారణంగా పోర్టు 4500 పై ప్రయాణిస్తాయి, రెండు చివరలు ఆ ఏర్పాటుకు అంగీకరించాలి.
connections {
site {
encap = yes
# existing approved peer, authentication and child settings
}
}
ఆ భాగం నిజమైన కనెక్షన్ నిర్వచనం లోపలికి చెందుతుంది, పూర్తి సైట్ ప్రొఫైల్ కాదు. మీరు ఇప్పటికే నడుపుతున్న పీర్ చిరునామాలు, ప్రామాణీకరణ మరియు child ట్రాఫిక్ ఎంపికకారులను ఉంచండి; జోడించిన ఏకైక కీ రక్షిత డేటా ఎలా చుట్టబడుతుందో మారుస్తుంది, అది ఏమి రక్షిస్తుందో కాదు.
strongSwan యొక్క NAT-traversal గైడ్ ఈ ప్రవర్తనను వివరిస్తుంది, MOBIKE ఉపయోగించినప్పుడు పోర్టు తేలియాడే ప్రభావంతో సహా.
మీ backend కు చెందిన సెట్టింగ్ ఉపయోగించండి
strongSwan లో రెండు కాన్ఫిగరేషన్ backend లు ఉన్నాయి, కీ వాటి మధ్య భిన్నంగా ఉంటుంది. swanctl.conf కనెక్షన్ encap తీసుకుంటుంది, పాత ipsec.conf కనెక్షన్ forceencaps తీసుకుంటుంది. ఒక backend కీవర్డ్ను మరొకదానిలో పెట్టడం ఫిర్యాదు లేకుండా లోడ్ అయ్యే, ఏమీ మార్చని కాన్ఫిగరేషన్ను ఇస్తుంది, ఇది లోపం కంటే దారుణం.
ఏదైనా సవరించే ముందు ఏ డీమన్ నిజంగా నడుస్తోందో తనిఖీ చేయండి. చాలా పంపిణీలలో రెండు ఫైళ్లూ ఉంటాయి, ఎందుకంటే ఒకటి మునుపటి మార్పిడి మిగిలినది, సక్రియమైనది సేవా యూనిట్ ప్రారంభించేది. ఫైల్ సమయ ముద్రల నుండి ఊహించకుండా ఆ యూనిట్ చదవండి. ఇక్కడ ఐదు సెకన్ల తనిఖీ ఏమీ లోడ్ చేయని సెట్టింగ్ను గంటల తరబడి పరీక్షించడాన్ని నివారిస్తుంది.
కనెక్షన్ యజమాని ద్వారా మార్పును వర్తింపజేయండి, నియంత్రిత విండోలో సంఘాన్ని తిరిగి స్థాపించండి. ఇప్పటికే ఇన్స్టాల్ అయిన child భర్తీ అయ్యే వరకు తన ప్రస్తుత ఎన్క్యాప్సులేషన్ను ఉంచుకుంటుంది, కాబట్టి ఫైల్ సవరణ మాత్రమే కొత్త ఏర్పాటు ఉపయోగంలో ఉందని నిరూపించదు.
చుట్టబడిన డేటాను ధృవీకరించండి, పోర్టును మాత్రమే కాదు
రక్షిత ట్రాఫిక్ ప్రవహిస్తున్నప్పుడు గేట్వేపై క్యాప్చర్ చేయండి, తర్వాత దాన్ని strongSwan స్వంత దృశ్యంతో పోల్చండి:
$ sudo tcpdump -ni eth0 'udp port 4500' -c 20
$ sudo swanctl --list-sas --ike site
$ sudo ip xfrm state list
native ESP IP ప్రోటోకాల్ 50 గా కనిపిస్తుంది, UDP తో అస్సలు పోలదు. చుట్టబడిన ESP 4500 పై UDP డేటాగ్రామ్లుగా కనిపిస్తుంది, వాటి పేలోడ్ IKE కాదు. అదే పోర్టుపై IKE ట్రాఫిక్ ఎన్క్యాప్సులేషన్కు రుజువు కాదు, ఎందుకంటే MOBIKE IKE ను అక్కడికి తరలించవచ్చు, డేటా మార్గం native గానే ఉంటుంది, కాబట్టి పోర్టు సంఖ్య కాదు, పేలోడ్ చదవండి.
మార్గం MTU ను కూడా గుర్తుంచుకోండి. పొర అదనపు ఖర్చును జోడిస్తుంది, native ESP మోసిన మార్గం ప్యాకెట్లు పెద్దవుతున్నప్పుడు సర్దుబాట్లు అవసరం కావచ్చు. అవసరమైన ICMP నిర్వహణ ఇప్పటికే రూపకల్పనలో భాగం ఉండాలి; ఎన్క్యాప్సులేషన్ ఆ ఆధారాన్ని తొలగించదు.
టన్నెల్ లోపల కొత్త అప్లికేషన్ ట్రాఫిక్ రెండు చివరలా చుట్టబడిన ESP గా క్యాప్చర్లో కనిపించినప్పుడు, లోపలి సేవ మరియు దాని తిరిగి వచ్చే మార్గం ఇంకా పనిచేస్తున్నప్పుడు మార్పును అంగీకరించండి. అంతకంటే తక్కువ ఏదైనా ఫైల్లో సరిగ్గా కనిపించే కాన్ఫిగరేషన్.