ఈరోజు లైనస్ VPN ఇంటర్ఫేస్లతో నెట్-నెక్స్ట్ బ్రాంచ్ను తనకే మార్చుకున్నాడు WireGuard. ఈ సంఘటన గురించి నివేదించారు WireGuard మెయిలింగ్ జాబితాలో.
కొత్త Linux 5.6 కెర్నల్ కోసం కోడ్ సేకరణ ప్రస్తుతం కొనసాగుతోంది. WireGuard అనేది ఆధునిక క్రిప్టోగ్రఫీని అమలు చేసే వేగవంతమైన తదుపరి తరం VPN. ఇది వాస్తవానికి ఇప్పటికే ఉన్న VPNలకు సరళమైన మరియు మరింత అనుకూలమైన ప్రత్యామ్నాయంగా అభివృద్ధి చేయబడింది. రచయిత కెనడియన్ సమాచార భద్రతా నిపుణుడు జాసన్ ఎ. డోనెన్ఫెల్డ్. ఆగస్ట్ 2018లో, వైర్గార్డ్ ప్రశంసలు అందుకున్నారు లినస్ టోర్వాల్డ్స్ ద్వారా. ఆ సమయంలోనే, Linux కెర్నల్లో VPNని చేర్చే పని ప్రారంభమైంది. ప్రక్రియ కొంచెం ఎక్కువ సమయం పట్టింది.
"వైర్గార్డ్ని కెర్నల్లో చేర్చమని జాసన్ పుల్ అభ్యర్థన చేసినట్లు నేను చూస్తున్నాను" అని లైనస్ ఆగస్ట్ 2, 2018న రాశారు. — నేను ఈ VPN పట్ల నా ప్రేమను మరోసారి ప్రకటించగలనా మరియు త్వరలో విలీనం కోసం ఆశిస్తున్నానా? కోడ్ పరిపూర్ణంగా ఉండకపోవచ్చు, కానీ నేను దానిని చూశాను మరియు OpenVPN మరియు IPSec యొక్క భయానక పరిస్థితులతో పోలిస్తే, ఇది నిజమైన కళాకృతి.
లైనస్ కోరుకున్నప్పటికీ, విలీనం ఏడాదిన్నర పాటు సాగింది. ప్రధాన సమస్య పనితీరును మెరుగుపరచడానికి ఉపయోగించే క్రిప్టోగ్రాఫిక్ ఫంక్షన్ల యాజమాన్య అమలులతో ముడిపడి ఉంది. సెప్టెంబర్ 2019లో సుదీర్ఘ చర్చల తర్వాత అది ఒక రాజీ నిర్ణయం తీసుకోబడింది కెర్నల్లో అందుబాటులో ఉన్న క్రిప్టో API ఫంక్షన్లకు ప్యాచ్లను అనువదిస్తుంది, వైర్గార్డ్ డెవలపర్లకు పనితీరు మరియు సాధారణ భద్రత విషయంలో ఫిర్యాదులు ఉన్నాయి. కానీ వారు స్థానిక WireGuard క్రిప్టో ఫంక్షన్లను ప్రత్యేక తక్కువ-స్థాయి జింక్ APIగా విభజించాలని నిర్ణయించుకున్నారు మరియు చివరికి వాటిని కెర్నల్కు పోర్ట్ చేశారు. నవంబర్లో, కెర్నల్ డెవలపర్లు తమ వాగ్దానాన్ని నిలబెట్టుకున్నారు మరియు అంగీకరించారు కోడ్ యొక్క భాగాన్ని జింక్ నుండి ప్రధాన కెర్నల్కు బదిలీ చేయండి. ఉదాహరణకు, క్రిప్టో APIలో చేర్చబడింది వైర్గార్డ్లో తయారుచేసిన ChaCha20 మరియు Poly1305 అల్గారిథమ్ల వేగవంతమైన అమలు.
చివరగా, డిసెంబర్ 9, 2019న, Linux కెర్నల్ యొక్క నెట్వర్కింగ్ సబ్సిస్టమ్కు బాధ్యత వహించే డేవిడ్ S. మిల్లర్, ఆమోదించబడిన నెట్-తదుపరి శాఖకు పాచెస్ WireGuard ప్రాజెక్ట్ నుండి VPN ఇంటర్ఫేస్ అమలుతో.
మరియు నేడు, జనవరి 29, 2020, మార్పులు కెర్నల్లో చేర్చడం కోసం లైనస్కి వెళ్లాయి.
ఇతర VPN పరిష్కారాల కంటే WireGuard యొక్క క్లెయిమ్ చేయబడిన ప్రయోజనాలు:
WireGuard యొక్క కోర్ లాజిక్ మొత్తం 4000 లైన్ల కంటే తక్కువ కోడ్ను తీసుకుంటుంది, అయితే OpenVPN మరియు IPSec లకు వందల వేల లైన్లు అవసరం.
“వైర్గార్డ్ ఎన్క్రిప్షన్ కీ రూటింగ్ భావనను ఉపయోగిస్తుంది, ఇందులో ప్రతి నెట్వర్క్ ఇంటర్ఫేస్కు ప్రైవేట్ కీని జోడించడం మరియు దానిని బైండ్ చేయడానికి పబ్లిక్ కీలను ఉపయోగించడం వంటివి ఉంటాయి. SSH మాదిరిగానే కనెక్షన్ని ఏర్పాటు చేయడానికి పబ్లిక్ కీలు మార్పిడి చేయబడతాయి. వినియోగదారు స్థలంలో ప్రత్యేక డెమోన్ని అమలు చేయకుండా కీలను చర్చించడానికి మరియు కనెక్ట్ చేయడానికి, Noise_IK మెకానిజం నుండి నాయిస్ ప్రోటోకాల్ ఫ్రేమ్వర్క్SSHలో అధీకృత_కీలను నిర్వహించడం వంటిది. UDP ప్యాకెట్లలో ఎన్క్యాప్సులేషన్ ద్వారా డేటా ట్రాన్స్మిషన్ జరుగుతుంది. క్లయింట్ యొక్క ఆటోమేటిక్ రీకాన్ఫిగరేషన్తో కనెక్షన్ను డిస్కనెక్ట్ చేయకుండా VPN సర్వర్ (రోమింగ్) యొక్క IP చిరునామాను మార్చడానికి ఇది మద్దతు ఇస్తుంది, - అతను వ్రాస్తూ ఓపెన్నెట్.
ఎన్క్రిప్షన్ కోసం ఉపయోగించబడుతుంది స్ట్రీమ్ సాంకేతికలిపి ChaCha20 మరియు సందేశ ప్రమాణీకరణ అల్గోరిథం (MAC) Poly1305, డేనియల్ బెర్న్స్టెయిన్ రూపొందించారు (డేనియల్ J. బెర్న్స్టెయిన్), తాంజా లాంగే మరియు పీటర్ ష్వాబే. ChaCha20 మరియు Poly1305 AES-256-CTR మరియు HMAC యొక్క వేగవంతమైన మరియు సురక్షితమైన అనలాగ్లుగా ఉంచబడ్డాయి, దీని యొక్క సాఫ్ట్వేర్ అమలు ప్రత్యేక హార్డ్వేర్ మద్దతును ఉపయోగించకుండా స్థిరమైన అమలు సమయాన్ని సాధించడానికి అనుమతిస్తుంది. భాగస్వామ్య రహస్య కీని రూపొందించడానికి, ఎలిప్టిక్ కర్వ్ Diffie-Hellman ప్రోటోకాల్ అమలులో ఉపయోగించబడుతుంది Curve25519, డేనియల్ బెర్న్స్టెయిన్ కూడా ప్రతిపాదించారు. హ్యాషింగ్ కోసం ఉపయోగించే అల్గోరిథం BLAKE2s (RFC7693)".
గిగాబిట్ కార్డులు Intel 82579LM మరియు Intel I218LM
Linux 4.6.1
వైర్గార్డ్ కాన్ఫిగరేషన్: MAC కోసం Poly256తో 20-బిట్ ChaCha1305
మొదటి IPsec కాన్ఫిగరేషన్: MAC కోసం Poly256తో 20-బిట్ ChaCha1305
రెండవ IPsec కాన్ఫిగరేషన్: AES-256-GCM-128 (AES-NIతో)
OpenVPN కాన్ఫిగరేషన్: HMAC-SHA256-2, UDP మోడ్తో AES 256-బిట్ సమానమైన సైఫర్ సూట్
పనితీరును ఉపయోగించి కొలుస్తారు iperf3, 30 నిమిషాల కంటే ఎక్కువ సగటు ఫలితాన్ని చూపుతుంది.
సిద్ధాంతంలో, ఒకసారి నెట్వర్క్ స్టాక్లో విలీనం చేయబడితే, WireGuard మరింత వేగంగా పని చేయాలి. కానీ వాస్తవానికి ఇది కెర్నల్లో నిర్మించబడిన క్రిప్టో API క్రిప్టోగ్రాఫిక్ ఫంక్షన్లకు మారడం వల్ల తప్పనిసరిగా జరగదు. బహుశా అవన్నీ స్థానిక వైర్గార్డ్ పనితీరు స్థాయికి ఇంకా ఆప్టిమైజ్ చేయబడి ఉండకపోవచ్చు.
“నా దృక్కోణం నుండి, WireGuard సాధారణంగా వినియోగదారుకు అనువైనది. అన్ని తక్కువ-స్థాయి నిర్ణయాలు స్పెసిఫికేషన్లో తీసుకోబడతాయి, కాబట్టి సాధారణ VPN అవస్థాపనను సిద్ధం చేసే ప్రక్రియ కొన్ని నిమిషాలు మాత్రమే పడుతుంది. కాన్ఫిగరేషన్ను గందరగోళానికి గురిచేయడం దాదాపు అసాధ్యం - రాశారు 2018లో హబ్రేలో. - సంస్థాపన ప్రక్రియ వివరంగా వివరించబడింది అధికారిక వెబ్సైట్లో, నేను అద్భుతమైన వాటిని విడిగా గమనించాలనుకుంటున్నాను OpenWRT మద్దతు. ఈ సౌలభ్యం మరియు కోడ్ బేస్ యొక్క కాంపాక్ట్నెస్ కీల పంపిణీని తొలగించడం ద్వారా సాధించబడింది. కాంప్లెక్స్ సర్టిఫికేట్ సిస్టమ్ లేదు మరియు ఈ కార్పొరేట్ హర్రర్; చిన్న ఎన్క్రిప్షన్ కీలు SSH కీల వలె పంపిణీ చేయబడతాయి.
వైర్గార్డ్ ప్రాజెక్ట్ 2015 నుండి అభివృద్ధి చెందుతోంది, ఇది ఆడిట్ చేయబడింది మరియు అధికారిక ధృవీకరణ. WireGuard మద్దతు NetworkManager మరియు systemdలో విలీనం చేయబడింది మరియు డెబియన్ అన్స్టేబుల్, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, సబ్గ్రాఫ్ మరియు ALT యొక్క బేస్ డిస్ట్రిబ్యూషన్లలో కెర్నల్ ప్యాచ్లు చేర్చబడ్డాయి.