එක් උදෑසනක් මම ගත කළේ පිරිසිදුව ඉහළ ගොස් ගමනාගමනය හරියටම එක් දිශාවකට පමණක් ගෙන ගිය උමඟක් සමඟය: ශාඛාවට මූලස්ථානයේ ගොනු සේවාදායකයට ළඟා විය හැකි වූ අතර, මූලස්ථානයේ සිට ශාඛාවට විවෘත වූ සෑම සම්බන්ධතාවක්ම පළමු SYN දී මිය ගියේය. SA සක්‍රීයව තිබූ අතර, උමඟෙහි ගණක ඉහළ යමින් තිබූ අතර, අත්වැල් ගැසීම කිසිදා ගැටලුව නොවීය. පිළිතුර උමඟ ආවරණය නොකරන තැනකට මාර්ගගත වෙමින් තිබූ අතර, එම තේරීම දුර පැත්තට අයත් ය. අඩවියේ සිට අඩවියට VPN එකක් ගෙන යන්නේ සත්කාරකයා ද්වාරයට භාර දෙන පැකට් පමණක් වන අතර, සෑම සත්කාරකයක්ම එම තේරීම වෙන වෙනම, සෑම දිශාවකම, තමන්ගේම මාර්ගගත කිරීමේ වගුවෙන් සිදු කරයි.

දිශා දෙකම වෙන වෙනම මාර්ගගත වේ

IP සංවාදයක දිශාව පිළිබඳ කිසිදු මතකයක් රඳවා නොගනී. පැකට් යවන සෑම සත්කාරකයක්ම තමන්ගේම දිගම උපසර්ග සෙවීම කර, ඊළඟ පිම්මක් තෝරා, තීරණය අමතක කරයි. ඉල්ලීම සහ පිළිතුර එකම සම්බන්ධතාවයට අහම්බෙන් අයත් වන අසම්බන්ධ පැකට් දෙකක් වන අතර, උමඟ යනු ඒවායින් ඕනෑම එකකට භාවිත කළ හැකි හෝ නොකළ හැකි එක් පිම්මකි. IKE හුවමාරුවේ කිසිවක් දුර සේවාදායකයාට ඔබේ උපජාලයට ළඟා වන ආකාරය උගන්වන්නේ නැත; සාකච්ඡාව එකඟ වන්නේ කුමන උපසර්ග සංකේතනය කළ හැකිද යන්න පිළිබඳව පමණි.

එම එකඟතාවය දෙවන දොරටුවයි. strongSwan හි ගමනාගමන තෝරක leftsubnet සහ rightsubnet වන අතර, මූලාශ්‍රය හෝ ගමනාන්තය එකඟ වූ යුගලයෙන් පිටතට වැටෙන පැකට් සංකේතනය නොවේ, මාර්ගගත කිරීමේ වගුව කුමක් කීවත්. උමඟට මාර්ගගත වුවත් තෝරකවල නොමැති උපසර්ගයක් නිහඬ එක්-දිශා දෝෂයකි: මාර්ගය නිවැරදි ලෙස පෙනේ, පැකට් තවමත් විවෘතව පිටව යයි හෝ ඉවත දමනු ලැබේ, සහ charon ලොගය පමණක් පැමිණිලි කරයි.

දුර සත්කාරකයා ඔබේ උමඟ ගැන කිසිවක් නොදනී

දුර LAN තුළ පිළිතුර ඔබේ සේවාලාභියාට යොමු කළ සාමාන්‍ය පැකට්ටුවකි. ගමනාන්ත සත්කාරකයාට කිසිදු IPsec ශීර්ෂයක් නොපෙනෙන අතර VPN ද්වාරයට මුල්තැන දීමට හේතුවක් නැත; එය ඔබේ උපසර්ගය සොයා, තම පෙරනිමි මාර්ගයට වඩා නිශ්චිත කිසිවක් නොසොයා එයම අනුගමනය කරයි. පෙරනිමිය මූලික ගිනිපවුරකට යොමු වන්නේ නම්, ගිනිපවුරට උමඟට ආපසු යන මාර්ගයක් ඇත හෝ නැත. නොමැති විට ඔබට නිහඬ ඉවත් කිරීමක්, ICMP unreachable එකක්, නැතහොත් අන්තර්ජාලය දෙසට ඇති අතුරුමුහුණතින් පිටවී මිය යන පිළිතුරක් ලැබේ.

මාර්ගයක් තිබුණත් දෙවන අතුරුමුහුණතක් මෙය බිඳ දැමීමට ප්‍රමාණවත්ය. වෙනත් VLAN එකක කළමනාකරණ සබැඳියක් ඇති NAS එකක්, උපස්ථ uplink එකක් ඇති සේවාදායකයක්, එක් මූලාශ්‍ර පරාසයක් දෙවන වගුවකට යවන ප්‍රතිපත්ති රීතියක්: මේවායින් ඕනෑම එකකට පිළිතුර අල්ලා ගත හැක. Linux හි, ip rule show සහ ip route show table all පෙරනිමi ලැයිස්තුව සඟවන රීති සහ වගු පෙන්වයි.

පිළිතුර යවන යන්ත්‍රයේ තීරණය කියවන්න

කිසිවක් වෙනස් කිරීමට පෙර කර්නලයෙන් අසන්න, සහ එයට මූලාශ්‍ර ලිපිනය දෙන්න, මන්ද මූලාශ්‍රය මත රඳන රීති පිළිතුර වෙනස් කරයි.

ip route get 10.10.5.10 from 10.20.30.15
ip rule show
ip route show table all
ss -tn state established "( sport = :445 )"

ප්‍රතිදානය පිටවන අතුරුමුහුණත සහ ඊළඟ පිම්ම නම් කරයි. අතුරුමුහුණත VPN ද්වාරය දෙසට ඇති එක නොවේ නම්, ඔබ දෝෂය සොයාගෙන ඇත, සහ ඉතිරි කාර්යය මාර්ගය කොහේ තිබිය යුතුද යන්න තෝරා ගැනීමයි. ද්වාරයෙන් කරන ping එකක් මෙහි එතරම් ඔප්පු නොකරයි: එය දුර සත්කාරකයාට තැබිය හැකි ලිපිනයකින් පිළිතුරු දෙයි, ඔබේ ලැප්ටොප් ලිපිනයෙන් නොවේ.

Windows හි සමාන දේ තීරණයට Find-NetRoute -RemoteIPAddress 10.10.5.10 සහ වගුවට Get-NetRoute වේ. පෙරනිමියට වඩා ඉහළ මෙට්‍රිකයක් දරන New-NetRoute සමඟ එකතු කළ මාර්ගය නිහඬව පරාජය වේ, එබැවින් සටහන නොව මෙට්‍රික තීරුව කියවන්න. පසුව පැකට් සමඟ තහවුරු කරන්න: දුර LAN අතුරුමුහුණතේ tcpdump -ni any "host 10.10.5.10 and tcp port 445" ඉල්ලීම පෙන්වයි, උමඟ පැත්තේ එම පෙරහනම පිළිතුරක් ආපසු ආවේද යන්න පෙන්වයි. ඉල්ලීම පෙනෙන නමුත් පිළිතුරක් නැත්නම් පිළිතුර වෙනත් තැනකට මාර්ගගත වී හෝ ඉවත දමා ඇත; වැරදි අතුරුමුහුණතක පිළිතුරක් මාර්ගය ස්පර්ශ කිරීමට පෙර වැරදිකරු ඔබට දෙයි.

සේවාදායකයේ ද්වාරය VPN අන්ත ලක්ෂ්‍යය නොවන විට

බොහෝ අඩවි සේවාදායක සහ කේන්ද්‍රගත කරන උපාංගය අතර ගිනිපවුරක් තබයි. එම ගිනිපවුර පිළිතුර ඉදිරියට යවයි, එබැවින් එයට ඔබේ සේවාලාභී උපසර්ගය සඳහා VPN ද්වාරය දෙසට යොමු වන මාර්ගයක් සහ දිශා දෙකෙහිම ඉදිරියට යැවීමේ ප්‍රතිපත්තියක් අවශ්‍ය වේ. තත්ත්වය රඳවන උපාංග තත්ත්වය නරක කරයි: ඉල්ලීම එය අවසර දුන් LAN සත්කාරකයකින් ගිනිපවුර පසු කළේය, පිළිතුර දැන් වෙනත් දිශාවකින් පැමිණේ, සහ සම්බන්ධතා නිරීක්ෂණ සටහන තවදුරටත් නොගැළපේ, එබැවින් පැකට් ප්‍රතික්ෂේප වනවාට වඩා අවලංගු ලෙස ඉවත දමනු ලැබේ. ගමනාගමනය අතුරුදහන් වන විට ප්‍රතිපත්ති ලොගය හිස් ලෙස පෙනීමට හේතුව එයයි.

ද්වාරයට තමන්ගේම දෙවන පෙරහනක් ඇත. Linux හි ප්‍රතිලෝම මාර්ග පෙරහන කරන්නේ ඒවා පැමිණි අතුරුමුහුණත හරහා මූලාශ්‍රයට ළඟා විය නොහැකි පැකට් ඉවත දැමීමයි, සහ එය නීත්‍යානුකූල අසමමිතික ආපසු මාර්ගයක නිශ්චිත හැඩයයි. strongSwan හි ඉදිරියට යැවීමේ මාර්ගෝපදේශය එම හේතුව නිසාම net.ipv4.ip_forward සහ ලිහිල් net.ipv4.conf.all.rp_filter ඉල්ලා සිටී. ඕනෑම ද්වාරයක දැඩි අගය 1 නිවැරදි මාර්ගයක් නිහඬව බිඳ දමයි, සහ කොහේ බැලිය යුතුද දන්නේ නම් nstat -az ඉවත් කිරීම් පෙන්වයි.

SymptomWhere the reply is most likely lost
Gateway ping works, LAN host silentSource address the far host cannot place in its table
SYN arrives, no SYN-ACK, tunnel counters flatNo route to the client prefix on the far host or its gateway
Reply counted on the internet-facing interfaceDefault route or policy rule on the far host
Firewall reports invalid stateAsymmetric path through a stateful device
Worked until a link failed overNew path is asymmetric, or rp_filter now rejects it

මාර්ගගත කරන්න හෝ පරිවර්තනය කරන්න, පසුව දිශා දෙකෙහිම තහවුරු කරන්න

එම අලුත්වැඩියා දෙක සමාන නොවේ. මාර්ගයක් එකතු කිරීම සේවාලාභියාගේ ලිපිනය අස්පෘශ්‍යව තබයි, එබැවින් මූලාශ්‍රය මත පදනම් වූ රීති, විගණන ලොග සහ අමතන්නා සටහන් කරන යෙදුම් දිගටම ක්‍රියා කරයි; මිල වන්නේ තීරණය ගන්නා සෑම පිම්මකටම මාර්ගය අවශ්‍ය වීමයි, එනම් වැරදීමට තවත් තැන්. දුර ද්වාරයේ ආවරණය ආපසු මාර්ගය එක් පිම්මකට හකුළුවා දමයි, මන්ද පිළිතුර දැන් ද්වාරයටම යොමු කර ඇති අතර, කුමන සේවාලාභියා කුමක් කළේද යන්න සඟවයි.

iptables -t nat -A POSTROUTING -o eth1 -s 10.20.30.0/24 -j MASQUERADE

එය දැනුවත්ව තෝරන්න: සේවාලාභීන් ද්වාරයේ ලිපිනය ලෙස පෙනෙන්නට පටන් ගත් විට, මූලාශ්‍රය මත පදනම් වූ ACL ඒවා වෙන් කර හඳුනා ගැනීම නවත්වයි, සහ පිළිතුර උමඟට ආපසු ලිවීමට conntrack සිතියම රඳවා ගත යුතුය. තෝරක තවමත් සේවාලාභී උපසර්ගය බැහැර කරන්නේ නම්, ඉල්ලීම කිසිදා උමඟට ඇතුළු නොවූ බැවින් NAT කිසිවක් වෙනස් නොකරයි.

මෙය නිවැරදි කළා යැයි පැවසීමට පෙර කරුණු හතරක් පිළිවෙලින් තහවුරු කරන්න: පිළිතුර යවන සත්කාරකයේ මාර්ගය, එය ඉදිරියට යවන සෑම පිම්මකම මාර්ගය, උපසර්ග දෙකම ආවරණය කරන තෝරක, සහ පිළිතුර ඔබ අපේක්ෂා කරන මූලාශ්‍රය සමඟ උමඟට ඇතුළු වන බව පෙන්වන ග්‍රහණයක්. පසුව අනෙක් අඩවියේ සිට පරීක්ෂණය නැවත කරන්න. එක් දිශාවක් සමත් වීම අර්ධ-විවෘත නිර්මාණයකි, සහ දෙවන දිශාව සාමාන්‍යයෙන් ඔබ දැන් අලුත්වැඩියා කළ දෙයට වඩා වෙනස් හේතුවකින් අසාර්ථක වේ.

අදාළ ලිපි