డ్యూయల్-స్టాక్ VPN పూల్స్: strongSwan లో రెండు కుటుంబాలను సంబోధించడం
లోపలి IPv4 మరియు IPv6 పూల్స్, రక్షిత ప్రిఫిక్స్లు మరియు బయటి టన్నెల్ కుటుంబం మూడు వేర్వేరు నిర్ణయాలు. దానిని డ్యూయల్ స్టాక్ అని పిలవడానికి ముందు ప్రతిదాన్ని ప్రణాళిక చేయండి.
ఒక గేట్వే ప్రయాణ వినియోగదారుకు IPv4 మరియు IPv6 రెండు వర్చువల్ చిరునామాలను ఇవ్వగలదు, అయితే బయటి టన్నెల్ ఇప్పటికీ IPv4 పైనే ప్రయాణిస్తుంది. ఇవి స్వతంత్ర నిర్ణయాలు, మరియు వాటిని ఒకటిగా పరిగణించడమే డ్యూయల్-స్టాక్ ప్రణాళికలు సాధారణంగా విరిగిపోయే స్థలం. క్లయింట్ యొక్క లోపలి కుటుంబాలు, అది చేరుకోగల రక్షిత ప్రిఫిక్స్లు, మరియు ఎన్క్యాప్సులేషన్ మోసే రవాణా మూడు వేర్వేరు ఎంపికలు.
చాలా గందరగోళం డ్యూయల్ స్టాక్ అనే పదాన్ని ఒకే చోట డ్యూయల్ స్టాక్గా ఉన్న రూపకల్పనకు వర్తింపజేయడం వల్ల వస్తుంది. సేవ లోపల డ్యూయల్ స్టాక్, దాని బయటి చిరునామాలో సింగిల్ స్టాక్ అయినప్పటికీ క్లయింట్లకు బాగా పనిచేయగలదు. చేయలేనిది ప్రమాదవశాత్తు పనిచేయడం.
లోపల రెండు కుటుంబాలు, బయట ఒక మార్గం
బయటి కనెక్షన్ UDP పైన IKE, మరియు క్లయింట్ ఎక్కడ ఉన్నా అక్కడి నుండి చేరుకోగల ఒక చిరునామా కుటుంబం దానికి అవసరం. లోపలి IPv6 చిరునామాకు IPv6 మద్దతు ఉన్న ISP అవసరం లేదు, ఎందుకంటే లోపలి ప్యాకెట్ బయటి ప్యాకెట్ లోపలి పేలోడ్. అనేక పనిచేసే అమలులు IPv6 ప్రిఫిక్స్లను IPv4 మాత్రమే ఉన్న అప్లింక్ ద్వారా తీసుకువెళతాయి.
బయటి మార్గం నిజంగా పరిమితం చేసేది చేరుకోగల సామర్థ్యం మరియు NAT దాటడం. గేట్వే IPv4 చిరునామాను మాత్రమే ప్రకటిస్తే, IPv6 మాత్రమే ఉన్న నెట్వర్క్లోని క్లయింట్ మీరు ఎన్ని పూల్స్ కాన్ఫిగర్ చేసినా అసలు కనెక్ట్ కాలేదు. బయటి కుటుంబాన్ని మీ క్లయింట్ జనాభా ఆధారంగా నిర్ణయించండి, లోపలి చిరునామా ప్రణాళిక ఆధారంగా కాదు.
ప్రతి కుటుంబంలో క్లయింట్కు చిరునామా ఇవ్వండి
రెండు కుటుంబాలను అడగడం క్లయింట్ వైపు ఒక పంక్తి ప్రకటన, గేట్వే దగ్గర పంచుకోవడానికి ఏదైనా ఉంటే. పేరు పెట్టిన పూల్స్ మూలాలను సేవా నెట్వర్క్ల నుండి వేరుగా ఉంచుతాయి, ఈ లక్షణమే ఆరు నెలల తర్వాత కూడా ఫైర్వాల్ నియమాలను చదవగలిగేలా చేస్తుంది.
pools {
pool4 { addrs = 10.90.0.0/24 }
pool6 { addrs = fd42:90::/64 }
}
connections {
private-access {
version = 2
pools = pool4, pool6
local { auth = pubkey certs = gateway.pem id = vpn.example.com }
remote { auth = pubkey cacerts = ca.pem vips = 0.0.0.0, :: }
children {
private { local_ts = 10.60.0.0/16, fd42:60::/48 remote_ts = dynamic }
}
}
}
ఈ vips విలువ ప్రతి కుటుంబం నుండి ఒక చిరునామాను అడుగుతుంది, పూల్స్ జాబితా ఆ చిరునామాలు ఎక్కడి నుండి వస్తాయో నిర్ణయిస్తుంది.strongSwan యొక్క వర్చువల్-IP పత్రాలు అనేక అభ్యర్థనలు మరియు పూల్ కేటాయింపును కవర్ చేస్తాయి, నిర్దిష్ట చిరునామాను అడిగే క్లయింట్ ప్రతిస్పందించేవాడు రద్దు చేయగల ప్రాధాన్యతను మాత్రమే వ్యక్తం చేస్తాడు అనే అంశం కూడా ఇందులో ఉంది. క్లయింట్ ఎప్పుడూ అదే విలువను పొందుతాడని భావించే యాక్సెస్ నియమాన్ని నిర్మించవద్దు.
ఉదాహరణను కాపీ చేయడం బదులు మీ స్వంత ప్రత్యేక స్థానిక ప్రిఫిక్స్ను సృష్టించండి. రెండు సంస్థలు రెండూ fd42::/16 అమలు చేస్తే, మొదటిసారి ఒకదానికొకటి కనెక్ట్ అయినప్పుడు ఢీకొనడాన్ని కనుగొంటాయి, దానిని నిర్ధారించడం ఆహ్లాదకరం కాదు.
ఎంపికలు గమ్యస్థానాలను వివరిస్తాయి, మూలాలను కాదు
చైల్డ్ SA యొక్క స్థానిక ట్రాఫిక్ ఎంపికలు గేట్వే వెనుక ఏ రక్షిత నెట్వర్క్లు ఉన్నాయో చెబుతాయి, దూర ఎంపికలు క్లయింట్ మూలంగా ఏమి ఉపయోగించవచ్చో వివరిస్తాయి. వర్చువల్ పూల్ చిరునామా ఆ విధానం యొక్క మూల వైపుకు చెందుతుంది; దానిని గమ్యస్థాన జాబితాలో పెట్టడం కాన్ఫిగరేషన్ యొక్క సాధారణ తప్పు పఠనం.
రెండు కుటుంబాలకూ గేట్వేపై తిరిగి వచ్చే మార్గాలు మరియు అనుమతించిన ఫార్వర్డింగ్ అవసరం. పూల్కు తిరిగి మార్గం లేకుండా ఎంపికకు ప్రిఫిక్స్ జోడిస్తే, స్థాపించబడి, ఒక దిశలో ట్రాఫిక్ను దాటించి, సమాధానాన్ని నిశ్శబ్దంగా పడేసే టన్నెల్ ఏర్పడుతుంది. ఎంపిక అనేది విధానం, రూటింగ్ కాదు.
పూల్స్ మరియు సేవా ప్రిఫిక్స్లను మీ చిరునామా ప్రణాళికలోని వేర్వేరు బ్లాకులలో ఉంచండి. అవి అతివ్యాప్తి చెందినప్పుడు, రక్షిత హోస్ట్ను చేరుకోవాల్సిన మార్గం పూల్ చిరునామాతో సరిపోలి టన్నెల్ లోపల కనుమరుగు కావచ్చు.
DNS మరియు సమాధాన మార్గం అది పూర్తయినట్టు అనిపిస్తుందా అని నిర్ణయిస్తాయి
పరిష్కర్త సమాధానాలు దానిని చేరుకోవడానికి ఉపయోగించే రవాణాకు స్వతంత్రం. ఒక పేరు A రికార్డ్, AAAA రికార్డ్ లేదా రెండింటినీ తిరిగి ఇవ్వగలదు, క్లయింట్ తన స్వంత ప్రాధాన్యత నియమాల ప్రకారం ఎంచుకుంటుంది. లోపలి సేవ AAAA రికార్డ్ను ప్రచురించినా ఆ ప్రిఫిక్స్ను ఏదీ రూట్ చేయకపోతే, డ్యూయల్-స్టాక్ నెట్వర్క్లలోని క్లయింట్లు మొదట IPv6 మార్గాన్ని ప్రయత్నించి అది విఫలమయ్యే వరకు అక్కడే కూర్చుంటాయి. అలా జరుగుతున్నప్పుడు టన్నెల్ కాన్ఫిగరేషన్లో ఏదీ తప్పుగా కనిపించదు.
కాబట్టి ప్రతి పేరుకు ఏ కుటుంబాలు ఉపయోగించదగినవి అయి ఉండాలో నిర్ణయించి, ఆ తర్వాత సంబంధిత ప్రిఫిక్స్ ఎంపికలో ఉందా మరియు దానికి తిరిగి మార్గం ఉందా అని తనిఖీ చేయండి. ఇది ప్రతి సేవకు వేర్వేరు నిర్ణయం. రెండు రకాల రికార్డులను భేదం లేకుండా ప్రచురించడమే IPv4 మాత్రమే ఉన్న పనిచేసే సేవ తన సగం వినియోగదారులకు సమయం ముగియడం ప్రారంభించే మార్గం.
పూర్తయిందని చెప్పే ముందు రెండు కుటుంబాలను ధృవీకరించండి
లోడ్ అయ్యే కాన్ఫిగరేషన్ పనిచేసే కాన్ఫిగరేషన్ కాదు. డీమన్ నివేదించే స్థితిని చదవండి, పూల్ కేటాయింపులను నిర్ధారించండి, ఆ తర్వాత క్లయింట్ నిజంగా ఇన్స్టాల్ చేసిన మార్గాలను చూడండి.
swanctl --list-sas
swanctl --list-pools
ip -6 addr show scope global
ip -6 route get fd42:60::10
మొదటి రెండు ఆదేశాలు స్థాపించబడిన చైల్డ్ SAలను మరియు ఏ పూల్స్లో ఇంకా చిరునామాలు ఉన్నాయో చూపుతాయి, కాబట్టి మొదటి క్లయింట్కు పనిచేసి పదవదానికి విఫలమయ్యే ప్రణాళిక కనిపిస్తుంది. చివరి రెండు, క్లయింట్ పూల్ నుండి ప్రపంచ IPv6 చిరునామాను పొందిందా మరియు రక్షిత ప్రిఫిక్స్ వైపు ట్రాఫిక్ నిజంగా ఎక్కడికి వెళ్తుందో చూపుతాయి. కేటాయించిన చిరునామాను మీరు కాన్ఫిగర్ చేసిన పూల్తో పోల్చండి, మీరు ఆశించిన చిరునామాతో కాదు. ప్రతిస్పందించేవాడు తన విధానం ప్రకారం వేరే విలువను ఎంచుకుంటే, మార్గాలు మరియు ఫైర్వాల్ నియమాలు ఇప్పటికీ అతని ఎంపికతో సరిపోలాలి.
ఆ తర్వాత ప్రతి కుటుంబానికి ఒక రక్షిత హోస్ట్ను, మరియు రెండింటికీ పరిష్కారమయ్యే పేరును పరీక్షించండి. ఒకే కుటుంబ పరీక్ష మీరు సాధన చేయని సగం ప్రణాళిక గురించి ఏమీ చెప్పదు, మరియు తప్పిపోయిన మార్గం సాధారణంగా అదే సగంలో ఉంటుంది.