එක් L2 ජාලයකට ජාල ඒකාබද්ධ කිරීමට OpenVPN සිට WireGuard වෙත මාරු වීම

එක් L2 ජාලයකට ජාල ඒකාබද්ධ කිරීමට OpenVPN සිට WireGuard වෙත මාරු වීම

භූගෝලීය වශයෙන් දුරස්ථ මහල් නිවාස තුනක ජාල ඒකාබද්ධ කිරීමේ මගේ අත්දැකීම් බෙදා ගැනීමට මම කැමතියි, ඒ සෑම එකක්ම OpenWRT රවුටර ද්වාරයක් ලෙස භාවිතා කරයි, එක් පොදු ජාලයකට. L3 subnet routing සහ L2 අතර ජාල ඒකාබද්ධ කිරීම සඳහා ක්‍රමයක් තෝරාගැනීමේදී, සියලුම ජාල නෝඩ් එකම අනුජාලයේ ඇති විට, වින්‍යාස කිරීම වඩා දුෂ්කර නමුත් විශාල අවස්ථාවන් සපයන දෙවන ක්‍රමයට මනාප ලබා දෙන ලදී. Wake-on-Lan සහ DLNA නිර්මාණය කරන ලද ජාලය තුළ විනිවිද පෙනෙන තාක්ෂණයන් භාවිතා කිරීමට සැලසුම් කර ඇත.

1 කොටස: පසුබිම

මෙම කාර්යය ක්‍රියාත්මක කිරීමේ ප්‍රොටෝකෝලය ලෙස OpenVPN මුලින් තෝරා ගන්නා ලදී, මන්ද, පළමුව, එය පාලමට ගැටළු නොමැතිව එකතු කළ හැකි ටැප් උපාංගයක් නිර්මාණය කළ හැකි අතර, දෙවනුව, OpenVPN TCP ප්‍රොටෝකෝලය හරහා ක්‍රියා කිරීමට සහය දක්වයි, එය ද වැදගත් නොවේ, මන්ද කිසිවක් නැත. මහල් නිවාසවල විශේෂිත IP ලිපිනයක් තිබූ අතර, මට STUN භාවිතා කිරීමට නොහැකි විය, මන්ද මගේ සැපයුම්කරු කිසියම් හේතුවක් නිසා ඔවුන්ගේ ජාලවලින් පැමිණෙන UDP සම්බන්ධතා අවහිර කරන අතර TCP ප්‍රොටෝකෝලය මට SSH භාවිතයෙන් VPN සේවාදායක වරාය කුලියට ගත් VPS වෙත යොමු කිරීමට ඉඩ දුන්නේය. ඔව්, මෙම ප්‍රවේශය විශාල බරක් ලබා දෙයි, මන්ද දත්ත දෙවරක් සංකේතනය කර ඇත, නමුත් මගේ පුද්ගලික ජාලයට VPS එකක් හඳුන්වා දීමට මට අවශ්‍ය නොවීය, මන්ද තෙවන පාර්ශවයන් එය පාලනය කිරීමේ අවදානම තවමත් පවතින බැවින් එවැනි උපාංගයක් තිබීම මගේ නිවසේ ජාලය අතිශයින්ම නුසුදුසු වූ අතර විශාල පොදු කාර්ය සමඟ ආරක්ෂාව සඳහා ගෙවීමට තීරණය විය.

සේවාදායකය යෙදවීමට සැලසුම් කර ඇති රවුටරයේ වරාය ඉදිරියට යැවීම සඳහා, sshtunnel වැඩසටහන භාවිතා කරන ලදී. මම එහි වින්‍යාසයේ ඇති සංකීර්ණතා විස්තර නොකරමි - එය ඉතා පහසුවෙන් සිදු කර ඇත, එහි කාර්යය වූයේ TCP port 1194 රවුටරයේ සිට VPS වෙත යොමු කිරීම බව මම සටහන් කරමි. ඊළඟට, OpenVPN සේවාදායකය br-lan පාලමට සම්බන්ධ වූ tap0 උපාංගය මත වින්‍යාස කරන ලදී. ලැප්ටොප් පරිගණකයෙන් අලුතින් සාදන ලද සේවාදායකයට සම්බන්ධතාවය පරීක්ෂා කිරීමෙන් පසු, වරාය ඉදිරියට යැවීමේ අදහස යුක්ති සහගත බව පැහැදිලි වූ අතර මගේ ලැප්ටොප් පරිගණකය රවුටරයේ ජාලයේ සාමාජිකයෙකු බවට පත් විය, නමුත් එය භෞතිකව එහි නොතිබුණි.

කිරීමට ඉතිරිව තිබුණේ එක් කුඩා දෙයක් පමණි: විවිධ මහල් නිවාසවල IP ලිපින බෙදා හැරීමට අවශ්‍ය වූ අතර එමඟින් ගැටුම් ඇති නොවන අතර රවුටර OpenVPN සේවාදායකයින් ලෙස වින්‍යාස කිරීම.
පහත රවුටර IP ලිපින සහ 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 පාලමට එක් කරන ලදී. මෙම අවස්ථාවෙහිදී, ජාල තුනම එකිනෙකා දැක එක ලෙස ක්‍රියා කළ හැකි බැවින් සියල්ල හොඳින් ඇති බව පෙනෙන්නට තිබුණි. කෙසේ වෙතත්, එතරම් ප්‍රසන්න නොවන විස්තරයක් මතු විය: සමහර විට උපාංගවලට IP ලිපිනයක් ලැබිය හැක්කේ ඔවුන්ගේ රවුටරයෙන් නොවේ, ඊළඟ සියලු ප්‍රතිවිපාක සමඟ. කිසියම් හේතුවක් නිසා, එක් මහල් නිවාසයක රවුටරයට නියමිත වේලාවට DHCPDISCOVER වෙත ප්‍රතිචාර දැක්වීමට කාලය නොමැති අතර උපාංගයට අදහස් නොකළ ලිපිනයක් ලැබුණි. එක් එක් රවුටරය මත එවැනි ඉල්ලීම් ටැප් 0 හි පෙරීමට අවශ්‍ය බව මට වැටහුණි, නමුත් එය සිදු වූ පරිදි, එය පාලමක කොටසක් නම් 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 ගැන වැඩි වැඩියෙන් කතා කිරීමට පටන් ගෙන ඇති අතර, එහි වින්‍යාසයේ සරල බව, ඉහළ සම්ප්‍රේෂණ වේගය, සංසන්දනාත්මක ආරක්ෂාවක් සහිත අඩු ping අගය කරති. ඒ ගැන වැඩි විස්තර සෙවීමේදී පැහැදිලි වූයේ පාලම් සාමාජිකයෙකු ලෙස වැඩ කිරීම හෝ TCP ප්‍රොටෝකෝලය මත වැඩ කිරීම හෝ එයින් සහාය නොදක්වන බවයි, එමඟින් මට OpenVPN සඳහා විකල්ප නොමැති බව මට සිතුණි. ඒ නිසා මම WireGuard දැන හඳුනා ගැනීම කල් දැමුවෙමි.

දින කිහිපයකට පෙර, WireGuard 5.6 අනුවාදයෙන් ආරම්භ වන Linux කර්නලයට අවසානයේ ඇතුළත් වන බවට තොරතුරු තාක්ෂණයට සම්බන්ධ එක් ආකාරයකින් හෝ වෙනත් සම්පත් හරහා ප්‍රවෘත්ති පැතිර ගියේය. ප්‍රවෘත්ති ලිපි, සෑම විටම මෙන්, WireGuard අගය කළේය. මම නැවතත් හොඳ පැරණි OpenVPN ප්‍රතිස්ථාපනය කිරීමේ ක්‍රම සෙවීමට පිවිසුනෙමි. මේ වතාවේ මම දුවගෙන ආවා මෙම ලිපිය. එය GRE භාවිතයෙන් L3 හරහා ඊතර්නෙට් උමගක් නිර්මාණය කිරීම ගැන කතා කළේය. මෙම ලිපිය මට බලාපොරොත්තුවක් ලබා දුන්නේය. UDP ප්‍රොටෝකෝලය සමඟ කුමක් කළ යුතුද යන්න අපැහැදිලි විය. UDP port එකක් ඉදිරියට යැවීම සඳහා SSH උමගක් සමඟ සම්බන්ධව socat භාවිතා කිරීම පිළිබඳ ලිපි සෙවීමට මා යොමු විය, කෙසේ වෙතත්, මෙම ප්‍රවේශය ක්‍රියාත්මක වන්නේ තනි සම්බන්ධතා මාදිලියකින් පමණක් බව, එනම් VPN සේවාදායකයින් කිහිප දෙනෙකුගේ වැඩ කළ නොහැකි වනු ඇති බව ඔවුන් සඳහන් කළේය. VPS එකක VPN සේවාදායකයක් ස්ථාපනය කිරීම සහ සේවාදායකයින් සඳහා GRE පිහිටුවීමේ අදහස මම ඉදිරිපත් කළෙමි, නමුත් එය සිදු වූ පරිදි, GRE සංකේතනයට සහය නොදක්වයි, එය තෙවන පාර්ශවයන් සේවාදායකයට ප්‍රවේශය ලබා ගන්නේ නම් යන කාරණයට හේතු වේ. , මගේ ජාල අතර සියලුම ගමනාගමනය ඔවුන් අතේ පවතිනු ඇත, එය මට කිසිසේත් නොගැලපේ.

නැවත වරක්, පහත යෝජනා ක්‍රමය භාවිතා කරමින් VPN හරහා VPN භාවිතා කිරීමෙන් අතිරික්ත සංකේතනයට පක්ෂව තීරණය ගන්නා ලදී:

XNUMX මට්ටමේ VPN:
VPS එය සේවාදායකය අභ්යන්තර ලිපිනය 192.168.30.1 සමඟ
මෙනෙවිය එය සේවාදායකයා අභ්යන්තර ලිපිනය සහිත VPS 192.168.30.2
එම්කේ 2 එය සේවාදායකයා අභ්යන්තර ලිපිනය සහිත VPS 192.168.30.3
එම්කේ 3 එය සේවාදායකයා අභ්යන්තර ලිපිනය සහිත VPS 192.168.30.4

දෙවන මට්ටමේ VPN:
මෙනෙවිය එය සේවාදායකය බාහිර ලිපිනය 192.168.30.2 සහ අභ්යන්තර 192.168.31.1 සමඟ
එම්කේ 2 එය සේවාදායකයා මෙනෙවිය 192.168.30.2 ලිපිනය සමඟ සහ අභ්‍යන්තර IP 192.168.31.2 ඇත
එම්කේ 3 එය සේවාදායකයා මෙනෙවිය 192.168.30.2 ලිපිනය සමඟ සහ අභ්‍යන්තර IP 192.168.31.3 ඇත

* මෙනෙවිය - මහල් නිවාස 1 හි රවුටර-සේවාදායකය, එම්කේ 2 - මහල් නිවාස 2 හි රවුටරය, එම්කේ 3 - මහල් නිවාසයේ රවුටරය 3
* උපාංග වින්‍යාසයන් ලිපියේ අවසානයේ ස්පොයිලර් තුළ ප්‍රකාශයට පත් කෙරේ.

එබැවින්, pings ජාල නෝඩ් 192.168.31.0/24 අතර ධාවනය වේ, GRE උමගක් සැකසීමට ඉදිරියට යාමට කාලයයි. මෙයට පෙර, රවුටර වෙත ප්‍රවේශය අහිමි නොකිරීමට, වරාය 22 VPS වෙත යොමු කිරීම සඳහා SSH උමං සැකසීම වටී, එබැවින්, උදාහරණයක් ලෙස, මහල් නිවාස 10022 හි රවුටරය VPS හි 2 වරායට ප්‍රවේශ විය හැකි අතර, මහල් 11122 සිට රවුටරය 3 port XNUMX රවුටරයෙන් මහල් නිවාස XNUMX වෙතින් ප්‍රවේශ විය හැක. එම sshtunnel භාවිතයෙන් ඉදිරියට යැවීම වින්‍යාස කිරීම වඩාත් සුදුසුය, මන්ද එය අසාර්ථක වුවහොත් උමඟ ප්‍රතිෂ්ඨාපනය කරනු ඇත.

උමග වින්‍යාස කර ඇත, ඔබට යොමු කළ වරාය හරහා SSH වෙත සම්බන්ධ විය හැකිය:

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 කිරීමට උත්සාහ කරමි, නමුත් මුරපදයක් ඉල්ලා සිටීමකින් තොරව ssh සේවාදායකයා කැටි වේ. මම 22 වරායේ ටෙල්නෙට් හරහා මෙම පරිගණකයට සම්බන්ධ වීමට උත්සාහ කරන අතර සම්බන්ධතාවය ස්ථාපිත වෙමින් පවතින බව මට තේරුම් ගත හැකි රේඛාවක් මම දකිමි, SSH සේවාදායකය ප්‍රතිචාර දක්වයි, නමුත් කිසියම් හේතුවක් නිසා එය ලොග් වීමට මා නොපෙන්වයි තුල.

$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1

මම VNC හරහා එයට සම්බන්ධ වී කළු තිරයක් දැකීමට උත්සාහ කරමි. අභ්යන්තර ලිපිනය භාවිතයෙන් මෙම මහල් නිවාසයේ සිට රවුටරයට පහසුවෙන් සම්බන්ධ විය හැකි නිසා, ගැටලුව දුරස්ථ පරිගණකයේ ඇති බව මම ඒත්තු ගන්වමි. කෙසේ වෙතත්, මම මෙම පරිගණකයේ SSH වෙත රවුටරය හරහා සම්බන්ධ වීමට තීරණය කරන අතර සම්බන්ධතාවය සාර්ථක බව දැකීමෙන් පුදුමයට පත් වන අතර දුරස්ථ පරිගණකය සාමාන්යයෙන් ක්රියා කරයි, නමුත් එය මගේ පරිගණකයට සම්බන්ධ කළ නොහැක.

මම පාලමෙන් grelan0 උපාංගය ඉවත් කර මහල් නිවාස 2 හි රවුටරයේ OpenVPN ධාවනය කර ජාලය නැවත බලාපොරොත්තු වන පරිදි ක්‍රියා කරන බවටත් සම්බන්ධතා අත් නොහරින බවටත් වග බලා ගන්න. සෙවීමෙන් මට හමු වන්නේ එකම ගැටළු ගැන මිනිසුන් පැමිණිලි කරන, MTU ඉහළ නැංවීමට උපදෙස් දෙන සංසදයන් ය. කියපු ගමන්ම කරණය කිරීම. කෙසේ වෙතත්, ග්‍රෙටප් උපාංග සඳහා MTU ප්‍රමාණවත් තරම් ඉහළ - 7000ක් සකසන තෙක්, එක්කෝ TCP සම්බන්ධතා පහත වැටී හෝ අඩු හුවමාරු අනුපාත නිරීක්ෂණය විය. gretap සඳහා ඉහළ MTU නිසා, Layer 8000 සහ Layer 7500 WireGuard සම්බන්ධතා සඳහා MTUs පිළිවෙලින් XNUMX සහ XNUMX ලෙස සකසා ඇත.

මම මහල් නිවාස 3 වෙතින් රවුටරයේ එවැනිම සැකසුම සිදු කළෙමි, එකම වෙනස නම් grelan1 නම් දෙවන ග්‍රෙටැප් අතුරුමුහුණත සේවාදායක රවුටරයට එක් කර තිබීමයි, එය br-lan පාලමටද එකතු කරන ලදී.

හැම දෙයක්ම වැඩ කරනවා. දැන් ඔබට gretap එකලස් කිරීම ආරම්භයට තැබිය හැක. මේ වෙනුවෙන්:

මම මෙම රේඛා මහල් නිවාස 2 හි රවුටරයේ /etc/rc.local හි තැබුවෙමි:

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 හෝ WireGuard හි විශේෂාංගයක් දැයි මට තේරුණේ නැත. දිගු වේලාවක් මෙම ගැටලුව සමඟ කටයුතු නොකර, මම මෙම මාර්ගය මකා දැමූ කාලානුරූපී ස්ක්‍රිප්ට් එකක රවුටර දෙකටම රේඛාවක් එක් කළෙමි:

route del 192.168.30.2

සාරාංශගත කිරීම

මම තවමත් OpenVPN සම්පූර්ණයෙන්ම අතහැර දමා නැත, මන්ද මට සමහර විට ලැප්ටොප් හෝ දුරකථනයකින් නව ජාලයකට සම්බන්ධ වීමට අවශ්‍ය වන අතර, ඒවා මත ග්‍රෙටප් උපාංගයක් සැකසීම සාමාන්‍යයෙන් කළ නොහැක්කකි, නමුත් එසේ තිබියදීත්, මට වේගයේ වාසියක් ලැබුණි. මහල් නිවාස අතර දත්ත හුවමාරුව සහ, උදාහරණයක් ලෙස, VNC භාවිතා කිරීම තවදුරටත් අපහසු නොවේ. Ping තරමක් අඩු වූ නමුත් වඩාත් ස්ථායී විය:

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

එය VPS වෙත ඉහළ පිං මගින් වැඩි බලපෑමක් ඇති කරයි, එය ආසන්න වශයෙන් 61.5 ms වේ.

කෙසේ වෙතත්, වේගය සැලකිය යුතු ලෙස වැඩි වී ඇත. ඉතින්, සර්වර් රවුටරයක් ​​සහිත මහල් නිවාසයක මට අන්තර්ජාල සම්බන්ධතා වේගය 30 Mbit / sec, සහ අනෙකුත් මහල් නිවාසවල එය 5 Mbit / sec වේ. ඒ අතරම, OpenVPN භාවිතා කරන අතරතුර, iperf කියවීම් අනුව 3,8 Mbit/sec වඩා වැඩි ජාල අතර දත්ත හුවමාරු වේගයක් ලබා ගැනීමට මට නොහැකි වූ අතර WireGuard එය එම 5 Mbit/sec දක්වා “උසස්” කළේය.

VPS මත WireGuard වින්‍යාසය[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'

දෙවන මට්ටමේ VPN සඳහා විස්තර කර ඇති වින්‍යාසය තුළ, මම WireGuard සේවාදායකයින් 51821 වරාය වෙත යොමු කරමි. න්‍යායාත්මකව, මෙය අවශ්‍ය නොවේ, මන්ද සේවාදායකයා ඕනෑම නොමිලේ වරප්‍රසාද ලත් වරායකින් සම්බන්ධතාවයක් ඇති කර ගනු ඇත, නමුත් එය තහනම් කිරීමට හැකි වන පරිදි මම එය සෑදුවෙමි. 0 වරායට එන UDP සම්බන්ධතා හැර අනෙකුත් සියලුම රවුටරවල wg51821 අතුරුමුහුණත මත ලැබෙන සියලුම සම්බන්ධතා.

ලිපිය යමෙකුට ප්‍රයෝජනවත් වනු ඇතැයි මම බලාපොරොත්තු වෙමි.

ප්රාදේශීය සභා එසේම, මගේ ජාලයේ නව උපාංගයක් දිස්වන විට WirePusher යෙදුම තුළ මගේ දුරකථනයට PUSH දැනුම්දීමක් එවන මගේ පිටපත බෙදා ගැනීමට මට අවශ්‍යය. පිටපතට සබැඳිය මෙන්න: github.com/r0ck3r/device_discover.

UPDATE: 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 භාවිතා කළෙමි

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න