OpenVPN iroute vs కర్నెల్ మార్గం: ఏది లేదు?
సేవకంలో మార్గం ఉంది, అయినా ట్రాఫిక్ ఆగుతుంది. మార్గం యొక్క ఒక నిర్ణయం కర్నెల్కు, మరొకటి పీర్కు చెందుతుంది; ఏది లేదు మరియు ఏమి తనిఖీ చేయాలో తెలుసుకోండి.
10.77.20.0/24 కోసం ప్యాకెట్ OpenVPN సేవకంలో రెండు వేర్వేరు నిర్ణయాలు తీసుకుంటుంది: ఆపరేటింగ్ సిస్టమ్ దానిని VPN ఇంటర్ఫేస్కు అప్పగించాలి, మరియు OpenVPN ఆ ప్రిఫిక్స్ను ఏ కనెక్ట్ అయిన క్లయింట్ కలిగి ఉందో తెలుసుకోవాలి. కర్నెల్ మార్గం లేకపోతే ప్యాకెట్ టన్నెల్కు ముందే పడిపోతుంది, పీర్ మార్గం లేకపోతే దాని తర్వాత పడిపోతుంది. దూరపు LAN నుండి రెండు వైఫల్యాలు ఒకేలా కనిపిస్తాయి, మీ దగ్గర ఏది ఉందో నిర్ధారించడానికి ప్రతి వైపు ఒక ఆదేశం అవసరం.
సాంప్రదాయ వినియోగదారు స్థల డేటా మార్గంలో కర్నెల్ మార్గం ప్యాకెట్ను టన్నెల్ ప్రక్రియకు చేర్చుతుంది, మరియు iroute ఆ ప్రక్రియకు ఏ పీర్ దానిని స్వీకరించాలో చెబుతుంది. ఏదీ మరొకదాన్ని భర్తీ చేయదు, మరియు వాటిలో ఒకటి మాత్రమే ఉన్న కాన్ఫిగరేషన్ మొదటి ping వరకు సమంజసంగా కనిపిస్తుంది.
రెండు నిర్ణయాలు, ఒక మార్గం కాదు
10.77.20.0/24 ఒక క్లయింట్ వెనుక ఉన్న సైట్-టు-సైట్ లింక్ను ఊహించుకోండి. సేవకం యొక్క కర్నెల్ మార్గం, ఉదాహరణకు ip route add 10.77.20.0/24 dev tun0, సరిపోలే ప్యాకెట్లను టన్నెల్ పరికరానికి పంపుతుంది. తర్వాత OpenVPN క్లయింట్ కాన్ఫిగరేషన్ డైరెక్టరీలోని iroute నమోదులతో నిర్మించిన తన అంతర్గత పట్టికను చూసి, ఏ పీర్ కనెక్షన్ వాటిని స్వీకరిస్తుందో నిర్ణయిస్తుంది. కర్నెల్ మార్గం లేకుండా ప్యాకెట్ ఎప్పటికీ ప్రక్రియకు చేరదు, పీర్ మార్గం లేకుండా అది ప్రక్రియకు చేరి ఎక్కడికీ వెళ్లదు.
ఆ విభజనను మరచిపోవడం సులభం, ఎందుకంటే క్లయింట్ ప్రొఫైల్లో ఒకే మార్గ పంక్తి రెండు పనులను చేస్తున్నట్టు కనిపించవచ్చు. అది చేయదు: మార్గాన్ని నెట్టడం టన్నెల్ ద్వారా ఏమి పంపాలో క్లయింట్లకు చెబుతుంది, అయితే iroute సేవకానికి క్లయింట్ వెనుక ఉన్న చిరునామా పరిధి ఎవరిదో చెబుతుంది. అవి వేర్వేరు ఫైళ్లలో నివసిస్తాయి, వేర్వేరు వైపుల నుండి చదవబడతాయి, వ్యతిరేక దిశల్లో విఫలమవుతాయి.
iroute ఎక్కడ ఉంది మరియు ఏమి చెబుతుంది
నమోదు క్లయింట్ యొక్క common_name ప్రకారం పేరు పెట్టిన ప్రతి-క్లయింట్ ఫైల్లో, client-config-dir కింద, iroute 10.77.20.0/24 రూపంలో వెళ్తుంది. ఫైల్ పేరు సరిపోలిక అలంకారం కాదు: OpenVPN ధృవీకరించిన గుర్తింపును వెతికి సరిగ్గా ఆ పేరుతో ఫైల్ను చదువుతుంది, కాబట్టి site-a అనే ఫైల్ సాధారణ పేరు site-a ఉన్న క్లయింట్కు మాత్రమే వర్తిస్తుంది. అలాంటి ఫైల్ లేని క్లయింట్లను పూర్తిగా తిరస్కరించాలంటే ccd-exclusive జోడించండి, ప్రతి క్లయింట్ సైట్ గేట్వే అయినప్పుడు ఇదే సరైన సెట్టింగ్. ప్రతి గేట్వేకు ఒక ఫైల్ ఉంచి, మీరు నిజంగా జారీ చేసే ధృవపత్రం విషయం పేరుతో దానిని పేరు పెట్టండి.
దూరపు LANను నిందించే ముందు సేవకం నుండి నమోదును పరీక్షించండి. స్థితి ఫైల్ కనెక్ట్ అయిన క్లయింట్లను వారి సాధారణ పేర్లతో జాబితా చేస్తుంది, మరియు --verb 4 తో నడిచే సేవకం పీర్ కనెక్ట్ అయిన క్షణంలో iroute ఇన్స్టాల్ కావడాన్ని లాగ్ చేస్తుంది. కనెక్ట్ అయినప్పుడు ఏమీ కనిపించకపోతే, ఫైల్ తప్పు డైరెక్టరీలో ఉంది లేదా తప్పు గుర్తింపును పేర్కొంటుంది.
ఉచ్చు: ఫైల్ ఉంది, గుర్తింపు తప్పు
సరిగ్గా కనిపించే iroute తప్పు పీర్కు జోడించబడితే డిస్క్లో అన్నీ సరిగ్గా కనిపించడం వల్ల లేని ఫైల్ కంటే ఎక్కువ సమయం వృథా అవుతుంది. ధృవపత్రాల పేరు మార్పు, నకిలీ సాధారణ పేర్లు, ప్రభావవంతమైన గుర్తింపును మార్చే username-as-common-name ఇవన్నీ దీన్ని ఉత్పత్తి చేస్తాయి. సేవకం ఏ గుర్తింపును ధృవీకరించిందో తనిఖీ చేయండి, మీరు ఆశించినది కాదు: స్థితి అవుట్పుట్ అధికారికం, ఫైల్ పేరు కేవలం శోధన కీ.
మార్గం తన యజమాని కంటే ఎక్కువ కాలం జీవించవచ్చు. స్థిర మార్గాలు మరియు iroute నమోదులు లభ్యత హామీ కాదు, ప్రిఫిక్స్ను వివరిస్తాయి, కాబట్టి ట్రాఫిక్ ప్రస్తుతం డిస్కనెక్ట్ అయిన పీర్ వైపు కొనసాగవచ్చు.
పీర్ దాటి మార్గాన్ని పూర్తి చేయండి
పీర్ యాజమాన్యం మార్గం మధ్యలో ఉంది, ముగింపులో కాదు. క్లయింట్ టన్నెల్ నుండి ప్యాకెట్లను తన LANకు ఫార్వార్డ్ చేయాలి, అంటే ఆ హోస్ట్లో IP ఫార్వార్డింగ్ ప్రారంభించబడి, ప్రయాణాన్ని అనుమతించే firewall నియమం ఉండాలి. దూరపు LANలోని హోస్ట్లకు టన్నెల్ చిరునామా కోసం తిరిగి వెళ్లే మార్గం అవసరం: గేట్వే వైపు తిరిగి చూపే మార్గం, లేదా క్లయింట్ వైపు ఉద్దేశపూర్వకంగా రూపొందించిన NAT. పంపిణీ డిఫాల్ట్ను ఊహించకుండా sysctl net.ipv4.ip_forward తో క్లయింట్లో ఫార్వార్డింగ్ సెట్టింగ్ను నిర్ధారించండి.
ఇతర VPN క్లయింట్లు ఆ సబ్నెట్ను చేరుకోవాలంటే, ఏర్పాటు మళ్లీ పెరుగుతుంది: సేవకానికి client-to-client అవసరం, మరియు ఆ క్లయింట్లు ప్రిఫిక్స్ను టన్నెల్ ద్వారా మార్గనిర్దేశం చేయాలి. వీటిలో ఏదీ సేవకం స్వంత మార్గ పట్టిక నుండి రాదు.
సేవకం నుండి కాదు, నిజమైన మూలం నుండి ఒక గమ్యాన్ని ధృవీకరించండి. సంబంధం లేని LAN హోస్ట్ నుండి క్లయింట్ వెనుక ఉన్న హోస్ట్కు ping ఒకే కదలికలో తిరిగి వెళ్లే మార్గం, ఫార్వార్డింగ్ నియమం మరియు పీర్ యాజమాన్యాన్ని పరీక్షిస్తుంది, విజయవంతమైన handshake గుర్తింపును మాత్రమే నిరూపిస్తుంది. తర్వాత యజమాని పీర్ను డిస్కనెక్ట్ చేసి మార్గం ఏమి చేస్తుందో నమోదు చేయండి, ఎందుకంటే ఆ సమాధానమే మీ వైఫల్య విధానం.