አውታረ መረቦችን ወደ አንድ L2 አውታረ መረብ ለማዋሃድ ከOpenVPN ወደ WireGuard ፍልሰት

አውታረ መረቦችን ወደ አንድ L2 አውታረ መረብ ለማዋሃድ ከOpenVPN ወደ WireGuard ፍልሰት

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

ክፍል 1፡ ዳራ

OpenVPN ይህንን ተግባር ለማስፈፀም እንደ ፕሮቶኮል ተመርጧል በመጀመሪያ ደረጃ ምንም አይነት ችግር ሳይኖር ወደ ድልድዩ የሚጨመር የቧንቧ መሳሪያ መፍጠር ስለሚችል በሁለተኛ ደረጃ ደግሞ OpenVPN በ TCP ፕሮቶኮል ላይ መስራትን ይደግፋል, ይህ ደግሞ አስፈላጊ ነበር, ምክንያቱም ከአፓርትመንት ውስጥ አንዳቸውም የተለየ የአይፒ አድራሻ አልነበራቸውም እና STUN ን መጠቀም አልቻልኩም ምክንያቱም በሆነ ምክንያት የእኔ አይኤስፒ ከአውታረ መረባቸው የሚመጡ የ UDP ግንኙነቶችን ያግዳል ፣ የTCP ፕሮቶኮሉ ኤስኤስኤች በመጠቀም በተከራየው ቪፒኤስ ላይ የቪፒኤን አገልጋይ ወደብ እንዳስተላልፍ አስችሎኛል። አዎ ፣ ይህ አቀራረብ ትልቅ ጭነት ይሰጣል ፣ ምክንያቱም ውሂቡ ሁለት ጊዜ የተመሰጠረ ነው ፣ ግን VPS ን ወደ ግል አውታረመረቤ ማስተዋወቅ አልፈለግሁም ፣ ምክንያቱም አሁንም የሶስተኛ ወገኖች በእሱ ላይ ቁጥጥር የማድረግ ስጋት ስላለ ነው ፣ ስለሆነም እንደዚህ ያለ ነገር መኖሩ በቤት አውታረመረብ ላይ ያለው መሳሪያ በጣም የማይፈለግ ነበር እና ለደህንነት ክፍያ ከትልቅ ክፍያ ጋር ተወስኗል።

አገልጋዩን ለማሰማራት በታቀደው ራውተር ላይ ያለውን ወደብ ለማስተላለፍ የ sshtunnel ፕሮግራም ጥቅም ላይ ውሏል። የአወቃቀሩን ውስብስብነት አልገልጽም - ይህ በቀላሉ ይከናወናል ፣ ተግባሩ TCP ወደብ 1194 ን ከራውተር ወደ VPS ማስተላለፍ እንደነበረ ልብ ይበሉ። በመቀጠል የOpenVPN አገልጋይ በtap0 መሳሪያ ላይ ተዋቅሯል፣ እሱም ከ br-lan ድልድይ ጋር የተገናኘ። ከላፕቶፑ አዲስ ከተፈጠረው አገልጋይ ጋር ያለውን ግንኙነት ካጣራ በኋላ ወደብ የማስተላለፊያ ሀሳብ እራሱን እንደፀደቀ እና የእኔ ላፕቶፕ በአካል ውስጥ ባይሆንም የራውተር አውታረመረብ አባል እንደሆነ ግልጽ ሆነ።

ጉዳዩ ትንሽ ቀረ፡ እንዳይጋጩ እና ራውተሮችን እንደ 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 አገልጋይ ደንበኛ ራውተሮች መመደብ አስፈላጊ ነበር።

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 ጋር መተዋወቅን አቆምኩ።

ከጥቂት ቀናት በፊት፣ ዜናው በአንድ መንገድ ወይም በሌላ ከአይቲ ጋር በተገናኘ በሃብቶች ተሰራጭቷል፣ WireGuard በመጨረሻ ከስሪት 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

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

የ grelan0 መሣሪያውን ከድልድዩ ውስጥ አውጥቼ በአፓርትመንት 2 ውስጥ ባለው ራውተር ላይ OpenVPN ን እጀምራለሁ እና አውታረ መረቡ እንደገና በትክክል እየሰራ መሆኑን እና ግንኙነቶች እየጠፉ አይደሉም። በመፈለግ ላይ ሰዎች ስለ ተመሳሳይ ችግሮች የሚያጉረመርሙባቸው መድረኮች አጋጥመውኛል, እነሱ MTU ን እንዲያሳድጉ ይመከራሉ. እንዳደረገው ብዙም አልተናገረም። ነገር ግን፣ MTU ለግሬታፕ መሳሪያዎች በቂ መጠን ያለው 7000 እሴት እስኪዋቀር ድረስ፣ ወይ የ TCP ግንኙነቶች ተቋርጠዋል ወይም ቀርፋፋ ስርጭቶች ተስተውለዋል። በከፍተኛ MTU ለግሬታፕ ምክንያት የመጀመርያ እና ሁለተኛ ደረጃዎች MTUs ለ 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

የደንበኛ ራውተሮችን እንደገና ካስጀመርኩ በኋላ, በሆነ ምክንያት ከአገልጋዩ ጋር እንዳልተገናኙ ተገነዘብኩ. ከኤስኤስኤች ጋር በመገናኘት (እንደ እድል ሆኖ፣ ለዚህ ​​sshtunnel አዋቅሬው ነበር)፣ WireGuard በሆነ ምክንያት ለመጨረሻ ነጥብ መንገድ እንደሚፈጥር ታወቀ፣ ስህተት እያለ። ስለዚህ, ለ 192.168.30.2, የመንገዱን ሰንጠረዥ በ pppoe-wan በይነገጽ ማለትም በኢንተርኔት በኩል, ምንም እንኳን ወደ እሱ የሚወስደው መንገድ በwg0 በይነገጽ መመራት ነበረበት. ይህን መንገድ ከሰረዙ በኋላ ግንኙነቱ ወደነበረበት ተመልሷል። WireGuard እነዚህን መንገዶች እንዳይፈጥር እንዴት ማስገደድ እንደምችል መመሪያዎችን የትም ማግኘት አልቻልኩም። ከዚህም በላይ ይህ የ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ን እየተጠቀምኩ ሳለ፣ በ iperf መሠረት ከ3,8 ሜጋ ባይት በላይ በሆኑ አውታረ መረቦች መካከል የውሂብ ማስተላለፍ ፍጥነት ማሳካት አልቻልኩም፣ WireGuard ግን እስከ 5 ሜጋ ባይት በሰከንድ ድረስ “ፓምፕ አድርጓል።

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

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_1_МС>
AllowedIPs = 192.168.30.2/32

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК2>
AllowedIPs = 192.168.30.3/32

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК3>
AllowedIPs = 192.168.30.4/32

በ MS ላይ 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'

በMK2 ላይ የ WireGuard ውቅር (ወደ /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'

በMK3 ላይ የ WireGuard ውቅር (ወደ /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'

ለሁለተኛ ደረጃ ቪፒኤን በተገለጹት ውቅሮች ውስጥ ወደብ 51821 ለ WireGuard ደንበኞች እገልጻለሁ ። በንድፈ-ሀሳብ ፣ ይህ አስፈላጊ አይደለም ፣ ምክንያቱም ደንበኛው ከማንኛውም ነፃ ልዩ ካልሆነ ወደብ ግንኙነት ይመሰርታል ፣ ግን ሁሉንም ገቢ ግንኙነቶች ለማድረግ ነው ያደረኩት ። ወደብ 0 ከሚመጡ የ UDP ግንኙነቶች በስተቀር በሁሉም ራውተሮች የwg51821 በይነገጽ ላይ ሊከለከል ይችላል።

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

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

አዘምን: የVPN አገልጋይ እና የደንበኞች ውቅር

የቪፒኤን አገልጋይ ክፈት

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

የVPN ደንበኛን ይክፈቱ

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

አስተያየት ያክሉ