VPN ගේට්වේයේ තමන්ගේම ලිපිනයේ LAN සේවාවක් ප්රකාශයට පත් කරන්න
සේවාදායකයාගේ සිට උපාංගය දක්වා සහ ආපසු යවන ලද පෝටය අනුගමනය කරන්න: ගමනාන්ත පරිවර්තනයේ විෂය පථය නිර්ණය කරන්න, පසුව පිළිතුරු මාර්ගගත වේද පරිවර්තනය වේද යන්න තීරණය කරන්න.
ගේට්වේයේ තමන්ගේම උමං ලිපිනයක LAN උපාංගයක් ඉදිරිපත් කිරීමට NAT හි එක් පේළියක් පමණක් අවශ්ය වේ. කෙසේ වෙතත් සම්බන්ධතාවය අසාර්ථක වේ, මන්ද පිළිතුරු දෙන උපාංගයට සේවාදායකයාගේ ලිපිනය එම ගේට්වේය හරහා ළඟා විය හැකි බව නොදනී. පැකට්ටුව සේවාදායකයාගේ සිට ඇතුළට අනුගමනය කරන්න, පසුව පිළිතුර ආපසු පිටතට අනුගමනය කරන්න, එවිට නැතිවූ අර්ධය පැහැදිලි වේ.
සේවාදායකයාගේ දෘෂ්ටිකෝණයෙන් ආරම්භ කරන්න
මෙම උදාහරණයේ සේවාදායකයා VPN තටාකයේ 10.62.0.0/24 තුළ සිටී සහ 8080 පෝටයේ 10.62.0.1 වෙත සම්බන්ධ වේ. එම ලිපිනය ගේට්වේයටම අයත් වේ, එබැවින් පැකට්ටුව වෙනත් සමානයෙකු වෙත නොව ගේට්වේයේ කර්නලයට පැමිණේ. ගේට්වේය පිටුපස LAN යනු 172.21.4.0/24 වේ. ගේට්වේය සතුව 172.21.4.10 ඇති අතර සැබවින්ම HTTP සේවා සපයන උපාංගය 172.21.4.40 වේ.
වෙනත් VPN සමානයෙකුට අයත් ලිපිනයක් ගේට්වේයේ සේවා ලිපිනය සමඟ හුවමාරු කළ නොහැක. සේවාදායකයා සමානයෙකුගේ ලිපිනයට සම්බන්ධ වන්නේ නම්, කිසිදු ගේට්වේ රීතියක් කිසිසේත් සම්බන්ධ නොවේ, සහ මෙම මුළු ගමන වැරදි අවස්ථාවයි.
ගමනාන්ත පරිවර්තනයේ විෂය පථය හිතාමතා සීමා කරන්න
පටු අනුවාදය එක් පෝටයක් ඉදිරිපත් කර ගමනාන්තය පමණක් නැවත ලියයි. පැකට්ටුව එහි ප්රොටෝකෝලය සහ මූලාශ්රය රඳවා ගනී, එයම ඉතිරි ගමන රසවත් කරයි.
iptables -t nat -A PREROUTING -i tun0 -s 10.62.0.0/24 -d 10.62.0.1 -p tcp --dport 8080 -j DNAT --to-destination 172.21.4.40:80
ප්රොටෝකෝලය සහ පෝටය සඳහා නිර්ණායක නොමැති රීතිය පුළුල් අනුවාදයයි: එය සේවාදායකයා තෝරාගත් ඕනෑම පෝටයක් රඳවා ලිපිනය පමණක් වෙනස් කරයි. සම්පූර්ණ සත්කාරකය ඉදිරිපත් කිරීමට අදහස් කරන විට එය නීත්යානුකූල වන අතර, එක් සේවාවක් අදහස් කළ විට වැරදිය. රීතිය නැවත කියවා අතුරුමුහුණතේ නම තහවුරු කරන්න. වැරදි අතුරුමුහුණතේ DNAT රීතිය කිසිවකට නොගැලපේ, එය නොමැති රීතියක් මෙන් එකම කාල සීමාව උත්පාදනය කර උපාංගය දෙස බලමින් පැයක් නාස්ති කරයි.
යැවීමේ මායිම එකඟ වීමට ඉඩ දෙන්න
පරිවර්තනය ශීර්ෂකය වෙනස් කරයි, අවසරයක් ලබා නොදේ. පෙරනිමි බැහැර කිරීමේ ප්රතිපත්තියක් සමඟ යවන ලද ප්රවාහයට එහිම අනුමැතිය අවශ්ය වන අතර, ආපසු දිශාවට ඔබේ ප්රතිපත්තියේ දැනටමත් ඇති ස්ථාපිත සම්බන්ධතා රීතිය අවශ්ය වේ.
iptables -A FORWARD -i tun0 -o lan0 -d 172.21.4.40 -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
සෑම DNAT ප්රවාහයකටම කොන්දේසි විරහිත අනුමැතිය මෙම සැලසුමට වඩා පුළුල් වන අතර පසුව වෙනත් අයෙකු එක් කරන සිතියම්කරණවලට ද ඉඩ දෙනු ඇත. ගමනාන්තය සහ පෝටය නම් කරන්න, ඉතිරිය වසා තබන්න. යැවීමේ රීතියේ ගණකයන් ශුන්යව පවතින අතර NAT ගණකයන් ඉහළ යන්නේ නම්, පැකට්ටුව ඔබේ රීතියට පෙර ඉවතට හෙළනු ලැබේ. දෙවන පිටපතක් එක් කරනවාට වඩා දාම අනුපිළිවෙල කියවන්න.
උපාංගය කෙසේ හෝ පිළිතුරු දිය යුතුය
පරිවර්තනයෙන් පසු උපාංගය 10.62.0.0/24 තුළ මූලාශ්රයක් දකී. එහි පිළිතුර එහි පෙරනිමි ගේට්වේය වෙත යයි, එය VPN ගේට්වේය නොව LAN රවුටරයයි, යමක් එයට වෙනස් ලෙස නොකියන්නේ නම්. විධිවිධාන දෙකක් මෙය නිවැරදි කරන අතර ඒවා සමාන නොවේ. උපාංගයේ හෝ LAN රවුටරයේ මාර්ගයක් 10.62.0.0/24 ලිපිනය 172.21.4.10 වෙත යවා සේවාදායකයාගේ මූලාශ්රය රඳවා ගනී. සීමිත මූලාශ්ර පරිවර්තනයක් ඒ වෙනුවට සේවාදායකයා ගේට්වේයේ LAN ලිපිනය පිටුපස සඟවයි.
ip route add 10.62.0.0/24 via 172.21.4.10 dev eth1
iptables -t nat -A POSTROUTING -s 10.62.0.0/24 -d 172.21.4.40 -o lan0 -p tcp --dport 80 -j SNAT --to-source 172.21.4.10
සේවාවට අවශ්ය දේ අනුව තෝරන්න. එක් එක් සේවාදායකයා සඳහා ප්රතිපත්තිය සහ අර්ථවත් ලොග මාර්ගගත ස්වරූපය අවශ්ය කරයි; මාර්ගයක් ලබා දිය නොහැකි උපාංගයක් හෝ අනිවාර්යයෙන් LAN ලිපිනයක් දැකිය යුතු සේවාවක් පරිවර්තිත ස්වරූපයට යොමු කරයි. එක් පිළිතුරක් ක්රියා කිරීමට ගෝලීය masquerade රීතියක් කරා ළඟා නොවන්න. එය සෑම සේවාදායකයෙකුම සෑම ගමනාන්තයකින්ම සඟවා මූලාශ්ර ලිපින මත රඳා පවතින ප්රතිපත්ති නිශ්ශබ්දව කඩයි.
ගේට්වේයෙන්ම පරීක්ෂා නොකරන්න
ගේට්වේයේ 10.62.0.1 වෙත සාදන ලද ඉල්ලීම එන PREROUTING හරහා නොව OUTPUT දාමය හරහා පිටව යයි. එහි අසාර්ථකත්වය හෝ සාර්ථකත්වය සේවාදායකයා දෙස බලන රීතිය ගැන කිසිවක් නොකියයි, එලෙසම මිනිසුන් ක්රියා කරන රීතියක් කැඩී ඇතැයි නිගමනය කරයි.
conntrack -L | grep 172.21.4.40
tcpdump -ni any 'port 8080 or port 80'
සැබෑ සේවාදායක ඉල්ලීමක් ධාවනය කර දෙකම කියවන්න. conntrack සටහන යෙදූ පරිවර්තනය පෙන්වන අතර, ග්රහණ ඉල්ලීම LAN වෙත ගියේද සහ උමං දෙසට පිළිතුරක් ආපසු ආවේද පෙන්වයි. රීති වෙනස් කිරීමෙන් පසු නව සම්බන්ධතාවයක් භාවිත කරන්න, මන්ද පවතින තත්ත්වය එහි පෙර සිතියම්කරණය රඳවා ගන්නා අතර පැරණි ආකාරයටම අසාර්ථක වනු ඇත. පසුව මුළු සංවාදය තහවුරු කරන්න: උපාංගයේ ලිපිනය, යැවීමේ අවසරය සහ පිළිතුරේ මාර්ගය සියල්ලම එකම ප්රවාහය විස්තර කරයි.