ሽግግር ከ OpenVPN ላይ WireGuard አውታረ መረቦችን ወደ አንድ የL2 አውታረ መረብ ለማዋሃድ

ሽግግር ከ OpenVPN ላይ WireGuard አውታረ መረቦችን ወደ አንድ የL2 አውታረ መረብ ለማዋሃድ

በሦስት ጂኦግራፊያዊ ርቀት ላይ ባሉ አፓርተማዎች ውስጥ ያሉ አውታረ መረቦችን በማዋሃድ ልምዴን ማካፈል እፈልጋለሁ ፣ እያንዳንዱም ራውተሮች ከOpenWRT ጋር እንደ መግቢያ በር ወደ አንድ የጋራ አውታረመረብ ይጠቀማሉ። ሁሉም የአውታረ መረብ አንጓዎች በተመሳሳይ ንዑስ አውታረ መረብ ውስጥ ይሆናሉ ጊዜ L3 እና L2 መካከል አውታረ መረቦችን የማጣመር ዘዴን በሚመርጡበት ጊዜ ግልፅነት ስላለው ለማዋቀር በጣም ከባድ የሆነው ለሁለተኛው ዘዴ ምርጫ ተሰጥቷል ፣ ግን የበለጠ እድሎችን ይሰጣል ። ቴክኖሎጂዎችን መጠቀም በተፈጠረ ኔትወርክ Wake-on-Lan እና DLNA ውስጥ ታቅዶ ነበር።

ክፍል 1፡ ዳራ

ይህንን ተግባር ለመተግበር የተመረጠው ፕሮቶኮል መጀመሪያ ላይ ነበር OpenVPNምክንያቱም በመጀመሪያ ደረጃ፣ ያለምንም ችግር ወደ ድልድዩ ሊጨመር የሚችል የቧንቧ መሳሪያ መፍጠር ስለሚችል፣ እና ሁለተኛ፣ OpenVPN TCPን ይደግፋል፣ ይህም አስፈላጊ ነበር፣ ምክንያቱም ከአፓርታማዎቹ ውስጥ አንዳቸውም የተወሰነ የአይፒ አድራሻ ስላልነበራቸው። STUNን መጠቀም አልቻልኩም ምክንያቱም የእኔ የኢንተርኔት አገልግሎት አቅራቢ በሆነ ምክንያት ከአውታረ መረቦቹ የሚመጡ የ UDP ግንኙነቶችን ስለሚዘጋ። TCP የ VPN አገልጋይ ወደብ ወደተከራየው VPS በSSH በኩል እንድልክ ፈቅዶልኛል። ይህ አካሄድ ከፍተኛ ወጪ የሚፈጥር ቢሆንም፣ መረጃው ድርብ ኢንክሪፕት የተደረገ ስለሆነ፣ VPSን ከግል አውታረ መረቤ ጋር ማዋሃድ አልፈለግኩም፣ ምክንያቱም የሶስተኛ ወገኖች በእሱ ላይ ቁጥጥር የማግኘት አደጋ ነበር። ስለዚህ፣ እንዲህ አይነት መሳሪያ በቤቴ ኔትወርክ ላይ መኖሩ በጣም የማይፈለግ ነበር፣ ስለዚህ ለደህንነት ከፍተኛ ወጪ ለመክፈል ወሰንኩ።

አገልጋዩ እንዲሰማራበት በታቀደበት በራውተር ላይ ያለውን ወደብ ለማስተላለፍ፣ የsshtunnel ፕሮግራሙን ተጠቀምኩ። ስለ ውቅረቱ ዝርዝር መረጃ አልገባም - በጣም ቀላል ነው። ዓላማው የTCP ወደብ 1194ን ከራውተሩ ወደ VPS ማስተላለፍ መሆኑን ልብ ማለት እፈልጋለሁ። በመቀጠል፣ አገልጋዩን አዋቅሬዋለሁ። OpenVPN ከ br-lan ድልድይ ጋር በተገናኘው የ tap0 መሳሪያ ላይ። ከላፕቶፕዬ አዲስ የተፈጠረውን አገልጋይ ግንኙነት ከሞከርኩ በኋላ፣ የወደብ ማስተላለፊያው ሀሳብ እንደሰራ ግልፅ ሆነ፣ እና ላፕቶፔዬ በአካል ባይሆንም የራውተሩ ኔትወርክ አባል ሆኗል።

የቀረው ብቸኛው ነገር በተለያዩ አፓርታማዎች ውስጥ የአይፒ አድራሻዎችን ማሰራጨት ነበር ስለዚህም እንዳይጋጩ እና ራውተሮችን እንደ ማዋቀር OpenVPN-ደንበኞች።
የሚከተሉት የራውተር አይፒ አድራሻዎች እና የDHCP አገልጋይ ክልሎች ተመርጠዋል።

  • 192.168.10.1 ከክልል ጋር 192.168.10.2 - 192.168.10.80 ለአገልጋዩ
  • 192.168.10.100 ከክልል ጋር 192.168.10.101 - 192.168.10.149 በአፓርታማ ቁጥር 2 ውስጥ ላለ ራውተር
  • 192.168.10.150 ከክልል ጋር 192.168.10.151 - 192.168.10.199 በአፓርታማ ቁጥር 3 ውስጥ ላለ ራውተር

እነዚህን አድራሻዎች ለደንበኛ ራውተሮች መመደብም አስፈላጊ ነበር። OpenVPN-server፣ የሚከተለውን መስመር ወደ ውቅሩ በማከል፡

ifconfig-pool-persist /etc/openvpn/ipp.txt 0

እና የሚከተሉትን መስመሮች ወደ /etc/openvpn/ipp.txt ፋይል ማከል:

flat1_id 192.168.10.100
flat2_id 192.168.10.150

ለመገናኘት የምስክር ወረቀቶችን በሚፈጥሩበት ጊዜ የተገለጹት የመሳሪያ ስሞች flat1_id እና flat2_id ሲሆኑ፣ OpenVPN

ቀጥሎም ራውተሮች ተዋቅረዋል OpenVPN- ደንበኞች፣ በሁለቱም ላይ ያሉት የtap0 መሳሪያዎች ወደ br-lan ድልድይ ተጨምረዋል። ​​በዚህ ጊዜ ሁሉም ነገር ጥሩ ይመስል ነበር፣ ምክንያቱም ሦስቱም ኔትወርኮች እርስ በእርስ ተያዩ እና እንደ አንድ አሃድ ሊሰሩ ይችላሉ። ሆኖም ግን፣ በጣም ደስ የማይል ዝርዝር ነገር ታየ፡ አንዳንድ ጊዜ መሳሪያዎች ከተሳሳተ ራውተር የአይፒ አድራሻ ይቀበላሉ፣ ይህም ሁሉንም ተከትሎ የሚመጣውን ውጤት ያስከትላል። በሆነ ምክንያት፣ በአንዱ አፓርትመንቶች ውስጥ ያለው ራውተር ለDHCPDISCOVER በጊዜው ምላሽ መስጠት አልቻለም፣ እና መሳሪያው የተሳሳተ አድራሻ አግኝቷል። እንደዚህ አይነት ጥያቄዎችን በእያንዳንዱ ራውተር ላይ በtap0 ውስጥ ማጣራት እንደሚያስፈልገኝ ተገነዘብኩ፣ ነገር ግን እንደ ተለወጠ፣ iptables የድልድይ አካል ከሆነ ከመሳሪያ ጋር መስራት ስለማይችል፣ ebtables መጠቀም ነበረብኝ። በሚያሳዝን ሁኔታ፣ የእኔ ፈርምዌር አላካተተም፣ ስለዚህ ለእያንዳንዱ መሳሪያ ምስሎቹን እንደገና መገንባት ነበረብኝ። ይህንን ካደረግኩ እና የሚከተሉትን መስመሮች በእያንዳንዱ ራውተር ላይ ወደ /etc/rc.local ካከልኩ በኋላ ችግሩ ተፈቷል፡

ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

ይህ ውቅር ለሦስት ዓመታት ያህል ቆይቷል።

ክፍል 2፡ ማወቅ WireGuard

ከቅርብ ጊዜ ወዲህ በኢንተርኔት ላይ ስለ WireGuardየውቅር ቀላልነቱን፣ ከፍተኛ የዝውውር ፍጥነቱን፣ ዝቅተኛ ፒንግ እና ተመሳሳይ ደህንነትን አደንቃለሁ። ስለሱ ተጨማሪ መረጃ ለማግኘት ባደረግኩት ፍለጋ የብሪጅ አባልንም ሆነ የTCP ፕሮቶኮልን ድጋፍ እንደማይደግፍ አረጋግጧል፣ ይህም ምንም አማራጭ እንደሌለ እንዳምን አድርጎኛል። OpenVPN ለእኔ አሁንም እዚያ የለም። ስለዚህ ለማወቅ ጊዜ አሳልፌያለሁ WireGuard.

ከጥቂት ቀናት በፊት፣ ዜና በአንድ ወይም በሌላ መንገድ ከ IT ጋር በተያያዙ ሀብቶች ተሰራጭቷል፤ WireGuard በመጨረሻም በከርነል ውስጥ ይካተታል Linuxከስሪት 5.6 ጀምሮ። የዜና መጣጥፎች እንደ ሁልጊዜው አድናቆትን አግኝተዋል WireGuardእንደገና ጥሩውን አሮጌውን ለመተካት መንገዶችን መፈለግ ጀመርኩ OpenVPNበዚህ ጊዜ ተጋጠመኝ ይህ ዓምድ. GRE በመጠቀም በ L3 ላይ የኤተርኔት ዋሻ ስለመፍጠር ተናግሯል። ይህ ጽሑፍ ተስፋ ሰጠኝ። በUDP ፕሮቶኮል ምን እንደሚደረግ ግልጽ አልሆነም። ፍለጋ ወደ UDP ወደብ ለማስተላለፍ ከኤስኤስኤች መሿለኪያ ጋር በጥምረት ሶካትን ስለመጠቀም ወደ ጽሁፎች መራኝ፣ነገር ግን ይህ አካሄድ የሚሰራው በነጠላ የግንኙነት ሁነታ ብቻ እንደሆነ ጠቁመዋል፣ይህ ማለት ብዙ የቪፒኤን ደንበኞች የማይቻል ይሆናሉ። በቪፒኤስ ላይ የቪፒኤን አገልጋይ ለማቋቋም እና GREን ለደንበኞች ለማዋቀር ሀሳቡን አመጣሁ ፣ ግን እንደ ተለወጠ ፣ GRE ምስጠራን አይደግፍም ፣ ይህ ደግሞ ሶስተኛ ወገኖች ወደ አገልጋዩ መድረስ ከቻሉ ወደ እውነታው ይመራል ። በእኔ ኔትወርኮች መካከል ያለው ትራፊክ ሁሉ በእጃቸው ነው ይህም ለእኔ ምንም አይስማማኝም።

በድጋሚ፣ በሚከተለው እቅድ መሰረት ቪፒኤንን በቪፒኤን በመጠቀም ተደጋጋሚ ምስጠራን በመደገፍ ውሳኔው ተላልፏል።

ንብርብር XNUMX VPN፡
VPS ነው አገልጋይ ከውስጥ አድራሻ ጋር 192.168.30.1
ኤም ነው ደንበኛ ቪፒኤስ ከውስጥ አድራሻ ጋር 192.168.30.2
MK2 ነው ደንበኛ ቪፒኤስ ከውስጥ አድራሻ ጋር 192.168.30.3
MK3 ነው ደንበኛ ቪፒኤስ ከውስጥ አድራሻ ጋር 192.168.30.4

ንብርብር XNUMX VPN፡
ኤም ነው አገልጋይ በውጫዊ አድራሻ 192.168.30.2 እና በውስጥ 192.168.31.1
MK2 ነው ደንበኛ ኤም በአድራሻው 192.168.30.2 እና የውስጥ አይፒ 192.168.31.2 አለው
MK3 ነው ደንበኛ ኤም በአድራሻው 192.168.30.2 እና የውስጥ አይፒ 192.168.31.3 አለው

* ኤም - በአፓርትመንት 1 ውስጥ ራውተር-አገልጋይ ፣ MK2 - በአፓርትመንት 2 ውስጥ ራውተር; MK3 በአፓርታማ ውስጥ ራውተር 3
* የመሣሪያ ውቅሮች በአንቀጹ መጨረሻ ላይ በአጥፊው ውስጥ ታትመዋል።

እና ስለዚህ ፣ በአውታረ መረቡ አንጓዎች መካከል ፒንግ 192.168.31.0/24 ይሂዱ ፣ የ GRE ዋሻውን ለማቋቋም ጊዜው አሁን ነው። ከዚያ በፊት ፣ የራውተሮችን መዳረሻ ላለማጣት ፣ ወደብ 22 ወደ VPS ለማስተላለፍ የኤስኤስኤች ዋሻዎችን ማዘጋጀት ጠቃሚ ነው ፣ ስለሆነም ፣ ለምሳሌ ፣ ከአፓርትመንት 10022 ራውተር በ VPS ወደብ 2 ላይ ይገኛል ፣ እና ሀ ራውተር ከአፓርትማ 11122 በ VPS ራውተር ወደብ 3 ይገኛል።

ዋሻው ተዋቅሯል፣ በሚተላለፈው ወደብ በኩል ከኤስኤስኤች ጋር መገናኘት ይችላሉ።

ssh root@МОЙ_VPS -p 10022

ቀጥሎ ማሰናከል አለብዎት OpenVPN:

/etc/init.d/openvpn stop

አሁን ከአፓርትመንት 2 በራውተር ላይ የ GRE ዋሻን እናዘጋጅ፡-

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set grelan0 up

እና የተፈጠረውን በይነገጽ ወደ ድልድዩ ያክሉ

brctl addif br-lan grelan0

በአገልጋዩ ራውተር ላይ ተመሳሳይ አሰራርን እናከናውን-

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set grelan0 up

እና፣ እንዲሁም፣ የተፈጠረውን በይነገጽ ወደ ድልድዩ ያክሉ፡-

brctl addif br-lan grelan0

ከዚህ ጊዜ ጀምሮ ፒንግስ በተሳካ ሁኔታ ወደ አዲሱ አውታረ መረብ መሄድ ይጀምራል እና እኔ በእርካታ ቡና ለመጠጣት እሄዳለሁ. ከዚያም በሽቦው ሌላኛው ጫፍ ላይ ያለው አውታረመረብ እንዴት እንደሚሰራ ለማየት ኤስኤስኤች በአፓርታማ 2 ውስጥ ካሉት ኮምፒውተሮች ውስጥ ወደ አንዱ ለመግባት እሞክራለሁ, ነገር ግን የ ssh ደንበኛ የይለፍ ቃል እንድፈልግ ሳይጠይቀኝ ይቀዘቅዛል. ከዚህ ኮምፒዩተር ጋር በቴሌኔት ወደብ 22 ለመገናኘት እሞክራለሁ እና ግንኙነቱ እየተመሰረተ መሆኑን፣ የኤስኤስኤች አገልጋይ ምላሽ እየሰጠ መሆኑን መረዳት የምትችሉበትን መስመር ለማየት እሞክራለሁ፣ ግን በሆነ ምክንያት እንድገባ አያቀርብልኝም።

$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1

በቪኤንሲ በኩል ለመገናኘት እየሞከርኩ ነው እና ጥቁር ስክሪን አየሁ። ጉዳዩ በሩቅ ኮምፒዩተር ውስጥ እንዳለ እራሴን አሳምኛለሁ, ምክንያቱም የውስጥ አድራሻውን በመጠቀም ከዚህ አፓርታማ ወደ ራውተር በቀላሉ መገናኘት እችላለሁ. ነገር ግን፣ በራውተር በኩል ወደዚህ ኮምፒውተር ኤስኤስኤች ለመግባት ወሰንኩ እና ግንኙነቱ እንደተሳካ እና የርቀት ኮምፒዩተሩ በጥሩ ሁኔታ እንደሚሰራ ሳውቅ በጣም ተገረምኩ ነገር ግን ከኮምፒውተሬም ጋር መገናኘት አልቻለም።

የግሬላን0 መሳሪያውን ከድልድዩ አውጥቼ አስኬደዋለሁ OpenVPN በአፓርትመንት 2 ውስጥ ባለው ራውተር ላይ፣ አውታረ መረቡ እንደገና በአግባቡ እየሰራ መሆኑን እና ግንኙነቶች እንዳልተቋረጡ አረጋግጫለሁ። ስፈልግ፣ ሰዎች ስለተመሳሳይ ችግሮች የሚያማርሩባቸው እና MTU እንዲጨምሩ የሚመከሩባቸው መድረኮችን አገኘሁ። እንደተነገረው ወዲያውኑ። ሆኖም፣ MTU በቂ እስኪሆን ድረስ - ለግሬታፕ መሳሪያዎች 7000 - የTCP ግንኙነቶች ወይም ዝቅተኛ የዝውውር ፍጥነቶች አጋጥመውኛል። ለግሬታፕ ከፍተኛ MTU ምክንያት፣ ለግንኙነቶች MTU WireGuard የመጀመሪያው እና ሁለተኛው ደረጃዎች በቅደም ተከተል 8000 እና 7500 ነበሩ።

ከአፓርትመንት 3 ራውተር ላይ ተመሳሳይ ማዋቀር አደረግሁ፣ ልዩነቱ grelan1 የሚባል ሁለተኛ የግሬታፕ በይነገጽ ወደ አገልጋይ ራውተር መጨመሩ ብቻ ነው፣ እሱም ደግሞ በ br-lan ድልድይ ላይ ተጨምሯል።

ሁሉም ነገር እየሰራ ነው። አሁን የግሬታፕ ስብሰባን በራስ-ሰር መጫን ይችላሉ። ለዚህ:

እነዚህን መስመሮች በ /etc/rc.local በአፓርታማ 2 ውስጥ ባለው ራውተር ላይ አስቀምጠዋል፡

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

በአፓርታማ 3 ውስጥ ባለው ራውተር ላይ ይህንን ወደ /etc/rc.local ታክሏል።

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

እና በአገልጋዩ ራውተር ላይ:

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

ip link add grelan1 type gretap remote 192.168.31.3 local 192.168.31.1
ip link set dev grelan1 mtu 7000
ip link set grelan1 up
brctl addif br-lan grelan1

የደንበኛ ራውተሮችን እንደገና ካስጀመርኩ በኋላ፣ በሆነ ምክንያት ከአገልጋዩ ጋር እንዳልተገናኙ ተገነዘብኩ። ከSSH ጋር ከተገናኙ በኋላ (እንደ እድል ሆኖ፣ ቀደም ብዬ ለዚህ sshtunnel አዋቅሬያለሁ)፣ ያንን አገኘሁ WireGuard በሆነ ምክንያት፣ ለመጨረሻው ነጥብ መንገድ ይፈጥራል፣ ግን የተሳሳተ ነው። ለምሳሌ፣ ለ192.168.30.2፣ የመንገድ ሠንጠረዥ በpppoe-wan በይነገጽ በኩል መንገድን ገልጿል፣ ማለትም፣ በኢንተርኔት በኩል፣ ምንም እንኳን ወደ እሱ የሚወስደው መንገድ በwg0 በይነገጽ በኩል መመራት የነበረበት ቢሆንም። ይህንን መንገድ ከሰረዝኩ በኋላ ግንኙነቱ ተመልሷል። እንዴት ማስገደድ እንዳለብኝ መመሪያዎችን በየትኛውም ቦታ ማግኘት እችላለሁን? WireGuard እነዚህን መንገዶች ከመፍጠር መቆጠብ አልቻልኩም። ከዚህም በላይ፣ ይህ የOpenWRT ወይም የOpenWRT ባህሪ መሆኑን እንኳን አልገባኝም ነበር። WireGuardችግሩን ለማወቅ ብዙ ጊዜ ሳላጠፋ፣ ይህንን መንገድ የሰረዙት ሁለቱም ራውተሮች ላይ ወደ ጊዜ ቆጣሪ-ሉፕ ስክሪፕት መስመር ጨምሬያለሁ፡

route del 192.168.30.2

ማጠቃለል

ሙሉ በሙሉ ውድቅ ማድረግ OpenVPN ይህንን እስካሁን አላሳካሁትም፤ ምክንያቱም አልፎ አልፎ ከላፕቶፕ ወይም ስልክ ወደ አዲስ ኔትወርክ መገናኘት ስለሚያስፈልገኝ እና በእነሱ ላይ የግሬታፕ መሳሪያ ማዘጋጀት በአጠቃላይ የማይቻል ነው። ሆኖም ግን፣ ይህ ቢሆንም፣ በአፓርታማዎች መካከል ባለው የውሂብ ዝውውር ፍጥነት ረገድ ጥቅም አግኝቻለሁ፣ እና ለምሳሌ VNCን መጠቀም አሁን ምንም ችግር የለውም። ፒንግ በትንሹ ቀንሷል ነገር ግን የበለጠ የተረጋጋ ሆኗል፡

ሲጠቀሙ OpenVPN:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=133 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=125 ms

--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19006ms
rtt min/avg/max/mdev = 124.722/126.152/136.907/3.065 ms

ሲጠቀሙ WireGuard:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=124 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=124 ms
--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19003ms
rtt min/avg/max/mdev = 123.954/124.423/126.708/0.675 ms

በአብዛኛው የሚጎዳው በከፍተኛ ፒንግ ወደ ቪፒኤስ ሲሆን ይህም በግምት 61.5ms ነው።

ይሁን እንጂ ፍጥነቱ በከፍተኛ ሁኔታ ጨምሯል። ስለዚህ፣ ከራውተር-ሰርቨር ጋር ባለው አፓርታማ ውስጥ፣ የኢንተርኔት ግንኙነት ፍጥነት 30 ሜጋ ባይት በሰከንድ ሲሆን፣ በሌሎች አፓርታማዎች ደግሞ 5 ሜጋ ባይት በሰከንድ ነው። ከዚህም በላይ፣ በአጠቃቀም ጊዜ OpenVPN በአይፐርፍ ንባቦች መሠረት ከ 3,8 Mbps በላይ በሆኑ አውታረ መረቦች መካከል የውሂብ ዝውውር ፍጥነት ማግኘት አልቻልኩም፣ WireGuard እስከ ተመሳሳይ 5 Mbit/ሰከንድ ድረስ "ፓምፕ" አድርገውታል።

ውቅር WireGuard በቪፒኤስ ላይ[Interface]
Address = 192.168.30.1/24
ListenPort = 51820
PrivateKey = <ЗАКРЫТЫЙ_КЛЮЧ_ДЛЯ_VPS>

[እኩይ]
የሕዝብ ቁልፍ = <VPN_1_MS_PUBLIC_KEY>
የተፈቀደላቸው አይፒዎች = 192.168.30.2/32

[እኩይ]
የሕዝብ ቁልፍ = <VPN_2_MK2_PUBLIC_KEY>
የተፈቀደላቸው አይፒዎች = 192.168.30.3/32

[እኩይ]
የሕዝብ ቁልፍ = <VPN_2_MK3_PUBLIC_KEY>
የተፈቀደላቸው አይፒዎች = 192.168.30.4/32

ውቅር WireGuard በኤምኤስ (ወደ /etc/config/network ታክሏል)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.2/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МС'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option route_allowed_ips '1'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - сервер
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option listen_port '51821'
        list addresses '192.168.31.1/24'
        option auto '1'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК2'
        list allowed_ips '192.168.31.2'

config wireguard_wg1ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3

        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК3'
        list allowed_ips '192.168.31.3'

ውቅር WireGuard በMK2 ላይ (ወደ /etc/config/network ታክሏል)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.3/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МК2'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - клиент
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МК2'
        list addresses '192.168.31.2/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

ውቅር WireGuard በMK3 ላይ (ወደ /etc/config/network ታክሏል)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.4/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МК3'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - клиент
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МК3'
        list addresses '192.168.31.3/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

በሁለተኛው ደረጃ VPN በተገለጹት ውቅሮች ውስጥ ለደንበኞች እጠቁማለሁ WireGuard ወደብ 51821። ይህ አስፈላጊ መሆን የለበትም፣ ምክንያቱም ደንበኛው ከማንኛውም ነፃ፣ መብት ከሌለው ወደብ ግንኙነት ይፈጥራል፣ ነገር ግን ወደብ 51821 የሚመጡ የUDP ግንኙነቶችን ሳይጨምር በሁሉም ራውተሮች wg0 በይነገጾች ላይ ሁሉንም ገቢ ግንኙነቶች መከልከል እንድችል በዚህ መንገድ አደረግኩት።

ጽሑፉ ለአንድ ሰው ጠቃሚ እንደሚሆን ተስፋ አደርጋለሁ.

PS እንዲሁም፣ አዲስ መሳሪያ በኔትወርኩ ላይ በሚታይበት ጊዜ በWirePusher አፕሊኬሽን ውስጥ የPUSH ማሳወቂያ ወደ ስልኬ የሚልክልኝን ስክሪፕቴን ማጋራት እፈልጋለሁ። ወደ ስክሪፕቱ የሚወስድ አገናኝ እነሆ፡- github.com/r0ck3r/device_discover.

አዘምን: ውቅር OpenVPN- አገልጋዮች እና ደንበኞች

OpenVPN- አገልጋይ

client-to-client

ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpn-server.crt
dh /etc/openvpn/server/dh.pem
key /etc/openvpn/server/vpn-server.key

dev tap
ifconfig-pool-persist /etc/openvpn/ipp.txt 0
keepalive 10 60
proto tcp4
server-bridge 192.168.10.1 255.255.255.0 192.168.10.80 192.168.10.254
status /var/log/openvpn-status.log
verb 3
comp-lzo

OpenVPN-ደንበኛ

client
tls-client
dev tap
proto tcp
remote VPS_IP 1194 # Change to your router's External IP
resolv-retry infinite
nobind

ca client/ca.crt
cert client/client.crt
key client/client.key
dh client/dh.pem

comp-lzo
persist-tun
persist-key
verb 3

የምስክር ወረቀቶችን ለማምረት ቀላል-rsa ተጠቀምኩኝ.

ምንጭ: hab.com

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster