WireGuard DNS DNAT: පිළිතුරු මාර්ගය ක්රියාත්මකව තබා ගන්න
DNAT නැවත ලියන්නේ ගමනාන්තයයි, මූලාශ්රය නොවේ. රීතිය එකතු කිරීමට පෙර උඩුගං රිසෝල්වරයට පිළිතුරු දිය හැකි ආකාරය තීරණය කරන්න, සහ සෑම ගැලපීමක්ම පටුව තබන්න.
WireGuard සේවාලාභියෙකුගේ DNS විමසුම වෙනත් රිසෝල්වරයකට යොමු කිරීම එක් රීතියක් ලෙස පෙනෙන නමුත් තීරණ තුනක් ලෙස හැසිරේ. ගමනාන්තය නැවත ලිවිය යුතුය, පැකට්ටුව යැවිය යුතුය, සහ පිළිතුර ගේට්වේ නිර්මාණය කළ පරිවර්තන තත්ත්වය හරහා ආපසු මාර්ගය සොයා ගත යුතුය. තුන්වැන්න මඟ හැරියොත් විමසුම පිරිසිදුව පිටව යයි, නමුත් සේවාලාභියා සදාකාලිකව බලා සිටී.
10.77.0.0/24 තුළ අනුමත සේවාලාභීන් wg0 හරහා පැමිණ, ප්රකාශිත ලිපිනය 10.77.0.1 විමසා, 203.0.113.53 හි රිසෝල්වරයක් අවශ්ය වන උදාහරණය ගන්න. උඩුගං ලිපිනය ලේඛන සඳහා ආදේශකයක් මිස ක්රියාකාරී සේවාවක් නොවේ.
විමසුමක් හරවා යැවීම එහි ගමනාන්තය පමණක් වෙනස් කරයි
PREROUTING හි ගමනාන්ත-NAT රීතිය මාර්ගගත කිරීමේ තීරණයට පෙර ලිපිනය නැවත ලියයි, එබැවින් පැකට්ටුව පසුව පැරණි ගමනාන්තය වෙනුවට නව ගමනාන්තය දෙසට මාර්ගගත වේ. සේවාලාභියාගේ මූල ලිපිනය එම ක්රියාවෙන් ස්පර්ශ නොවේ. එබැවින් සම්පූර්ණ ලෙස පෙනෙන රීතියක් පවා නිහඬතාවක් ඇති කළ හැකිය: ඉල්ලීම දැන් සේවාලාභියාගේ පෞද්ගලික පරාසය ගැන කිසිදා නොඇසූ රිසෝල්වරයක් වෙත යයි. ගේට්වේ එක් ක්ෂේත්රයක් පරිවර්තනය කර දෙවන ගැටලුවක් උරුම කර ගත්තේය.
DNS ප්රවාහන දෙකටම ගැලපෙන රීති අවශ්යයි, මන්ද පිළිතුර කපා දැමූ විට සේවාලාභියා TCP වෙත ආපසු යයි.
පහත රීති එක් ආගමන අතුරුමුහුණතක්, එක් සේවාලාභී පරාසයක් සහ එක් මුල් ගමනාන්ත ලිපිනයක් තෝරයි. ගේට්වේ හි වෙන කිසිවක් බලපෑමට ලක් නොවේ, ගේට්වේ හිම විමසුම කිසිසේත් නොගැලපේ.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i wg0 -s 10.77.0.0/24 -d 10.77.0.1 -p udp --dport 53 -j DNAT --to-destination 203.0.113.53:53
iptables -t nat -A PREROUTING -i wg0 -s 10.77.0.0/24 -d 10.77.0.1 -p tcp --dport 53 -j DNAT --to-destination 203.0.113.53:53
පිළිතුරු මාර්ගය වෙනම තීරණයකි
විධිවිධාන දෙකක් පිළිතුර ආපසු ඒමට ඉඩ දෙයි, එකක් වේලාසනින් තෝරා ගැනීමෙන් එක් නිදොස්කරණ සැසියක් ඉතිරි වේ. එක්කෝ උඩුගං රිසෝල්වරයට මෙම ගේට්වේ හරහා 10.77.0.0/24 වෙත ආපසු යාමේ මාර්ගයක් ඇත, නැතහොත් ගේට්වේ පිටවීමේදී මූලය පරිවර්තනය කරන බැවින් පිළිතුර උඩුගං දැනටමත් දන්නා ලිපිනයකට පැමිණේ. දෙකම ක්රියා කරයි; උඩුගං මත ඔබට ඇති පාලනයට ගැලපෙන්නේ එකක් පමණි.
මාර්ගගත කිරීම පළමු උත්සාහයට සුදුසුය, මන්ද එය සේවාලාභියාගේ ලිපිනය රිසෝල්වරයට දෘශ්යමානව තබා ගනිමින් දෙවන පරිවර්තන ස්ථරය වළක්වයි. උඩුගං ඔබේ පාලනයෙන් පිටත නම්, නිශ්චිත පිටවීම් අතුරුමුහුණතේ මූල පරිවර්තනය ප්රායෝගික තේරීමයි.
එම පරිවර්තනය හරවා යැවීම තරම්ම තදින් සීමා කරන්න, එසේ නොවුනත් රීතිය එයට අහම්බෙන් ගැලපෙන සියල්ලට පොදු අරමුණු NAT බවට පත් වේ:
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -d 203.0.113.53 -o eth0 -p udp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -d 203.0.113.53 -o eth0 -p tcp --dport 53 -j MASQUERADE
සම්බන්ධතා නිරීක්ෂණය සිතියම යුගල වශයෙන් තබා ගනී, එබැවින් ආපසු එන විට පිළිතුර සේවාලාභියාගේ මුල් tuple වෙත නැවත ලියැවේ. පිටවීම් රීතිය නොමැතිව, රිසෝල්වරය තම පිළිතුර ළඟා විය නොහැකි පෞද්ගලික ලිපිනයකට යවයි, සහ සේවාලාභියා දෝෂයක් වෙනුවට කාල ඉකුත්වීමක් දකී.
රීති කාර්යය පෙනෙනවාට වඩා පටුව ලියන්න
ඉදිරියට යැවීමේ අවසරය ද එම විෂය පථයට අයත් වේ. යන්ත්රයේ සෑම DNAT සම්බන්ධතාවක්ම පිළිගැනීම වෙනුවට සේවාලාභියාගෙන් රිසෝල්වරය දක්වා ගලායාම සහ conntrack දැනටමත් හඳුනන ආපසු ගමන් රථවාහනයට අවසර දෙන්න. සාමාන්ය අවසරය DNS සමඟ කිසිදු සම්බන්ධයක් නැති තොටිලි ඉදිරියට යැවීමට ද අවසර දෙයි.
ගේට්වේ හිම රිසෝල්වරය වෙනත් කේත මාර්ගයකි. ස්ථානීයව නිකුත් කරන විමසුම OUTPUT හරහා යයි, එබැවින් ගේට්වේ ෂෙලයෙන් පරීක්ෂා කිරීම PREROUTING රීතිය හෝ ඉදිරියට යැවීමේ ප්රතිපත්තිය හෝ අභ්යාස නොකරයි. එබැවින් ස්ථානීය පරීක්ෂණයක් සමත් විය හැකි අතර සෑම සේවාලාභියෙක්ම අසමත් වේ, ප්රතිවිරුද්ද ද එසේම සුලභය.
මෙහි කිසිවක් 443 තොටුපොළේ HTTPS මත DNS හෝ 853 තොටුපොළේ TLS මත DNS ආවරණය නොකරයි, IPv6 ද ආවරණය නොකරයි. IPv6 රිසෝල්වරයක් වින්යාස කළ සේවාලාභියා මුළු විධිවිධානයම සතුටින් නොසලකා හරිනු ඇත.
නව විමසුමක් ඔප්පු කරන්නේ කුමක්ද
සම්බන්ධතා නිරීක්ෂණය පෙර සිතියම් මතක තබා ගනී, එබැවින් රීති වෙනසකට පෙර යවන ලද විමසුමකට පැරණි තත්ත්වයෙන් පිළිතුරු ලැබිය හැකි අතර නව රීතිය කැඩුණු ලෙස පෙනේ. නව මූල තොටුපොළකින් ආරම්භ කරන්න, සහ සේවාලාභියා පිළිතුරු හැඹිලි කරන තැන නව නාමයකින්.
dig @10.77.0.1 example.com A +short
conntrack -L -p udp --dport 53 | head
පළමු විධානය පෙන්වන්නේ සේවාලාභී මාර්ගය කිසිසේත් විසඳේද යන්නයි, දෙවැන්න ගේට්වේ ඇත්තටම ස්ථාපනය කළ පරිවර්තනය tuple හි දිශා දෙකම ඇතුළුව පෙන්වයි. නිවැරදි රිසෝල්වරයට යොමු වන නමුත් පිළිතුරු ගණකය ශුන්යයේ සිරවී ඇති සිතියමක් පෙරහන් ගැටලුවක් නොව ආපසු මාර්ග ගැටලුවකි.
කිසිවක් හරවා යැවීමට පෙර ඔබ බලාපොරොත්තු වන නාම රිසෝල්වරය දන්නා බව තහවුරු කරන්න. පොදු නාමවලට පිළිතුරු දෙන නමුත් ඔබේ පෞද්ගලික කලාපයට නොදෙන ආදේශකයක් ක්රියාකාරී සෙවුමක් කැඩුණු උමගක් ලෙස පෙනෙන NXDOMAIN බවට පත් කරයි. සේවාලාභී මාර්ගය සම්බන්ධ වීමට පෙර ගේට්වේයේ සිට රිසෝල්වරය සෘජුව පරීක්ෂා කරන්න. iptables දිගු සඳහා යොමුව මෙම රීති රඳා පවතින DNAT සහ masquerade අර්ථ විද්යාව ලේඛනගත කරයි.