strongSwan හි සම්පූර්ණ ටනල් එකට දෙපසම 0.0.0.0/0 අවශ්යයි
සම්පූර්ණ ටනල් එකකට ක්ලයන්ට්ගේ remote_ts සහ ගේට්වේගේ local_ts ලෙස 0.0.0.0/0 අවශ්යයි, එසේම forwarding, NAT සහ ආපසු මාර්ගය. හතරම පරීක්ෂා කරන්න.
එක් පෞද්ගලික සබ්නෙට් එකකට ක්රියා කරන strongSwan සම්බන්ධතාවයක්, කෙනෙකු එක් පේළියක් සංස්කරණය කළ නිසා පමණක් අන්තර්ජාල ගමන් කරවන්නේ නැත. සම්පූර්ණ ටනල් එකක් යනු child SA මොන ලිපින ආරක්ෂා කරන්නේද යන්න පිළිබඳ දෙපසක එකඟතාවයකි, සහ සෑම පසක්ම අනෙක් පස තමන්ට සාපේක්ෂව නම් කරයි. එක් පසක් නිවැරදි කර අනෙක් පස වැරදි කළොත් child SA එක එසවෙන්නේ නැත, නැතහොත් අපේක්ෂාවට වඩා පටුව එසවේ. පහත පරීක්ෂණ පහ එම එකඟතාවය ක්ලයන්ට් සිට ගේට්වේ හරහා අන්තර්ජාලය දක්වා අනුගමනය කරයි.
පළමුව ක්ලයන්ට්ගේ තේරීම පරීක්ෂා කරන්න
ක්ලයන්ට් දුර පසෙහි ආරක්ෂා කිරීමට අවශ්ය දේ remote_ts ලෙස විස්තර කරයි, සහ එය යවන සියල්ල තමාට පවරන ලද ලිපිනයෙන් පිටවේ. අන්තර්ජාල ගමන් සඳහා එම අගය පරිශීලකයා සැබවින්ම ළඟා වන ගමනාන්ත ආවරණය කළ යුතුය, එය ප්රායෝගිකව සම්පූර්ණ IPv4 ප්රදේශය යන්නයි. තවම එක් සබ්නෙට් එකක් ලැයිස්තුගත කරන ක්ලයන්ට් එකක් ඉන්ටර්ෆේස් එකේ පැතිකඩ නම කුමක් වුවත් බෙදුණු ටනල් එකක් ඉල්ලයි. මූල පස සාමාන්යයෙන් dynamic වේ, ලිපිනය සම්බන්ධ වන විට පවරන නිසා. එහි ලියන ලද ස්ථිර මූලයක් ලිපින සමූහය වෙනස් වූ විටම කැඩේ.
children {
net {
local_ts = dynamic
remote_ts = 0.0.0.0/0
}
}
මෙම කොටස සම්පූර්ණ සම්බන්ධතා ගොනුවක් නොවේ, මෙය සත්යාපනය, අනන්යතා සහ අතථ්ය ලිපින සමූහය දැනටමත් වින්යාස කර ඇතැයි උපකල්පනය කරයි. ක්ලයන්ට්ගේ මූල තේරීම සහ සර්වර් පවරන ලිපිනය තවමත් ගැළපිය යුතුය, එසේ නොමැති නම් child SA කිසිම පසක් බලාපොරොත්තු නොවූ විශාලත්වයකින් එසවේ. එය swanctl --load-all සමඟ පූරණය කර සාර්ථකත්වය උපකල්පනය කිරීමට පෙර ප්රතිදානය කියවන්න. විග්රහ වන ගොනුවක් වුවත් අනෙක් පසෙහි යෝජනාව සමඟ නොගැළපෙන තේරීමක් නිසා ප්රතික්ෂේප විය හැක.
ගේට්වේගේ තේරීම එහිම පසෙහි පරීක්ෂා කරන්න
ගේට්වේ එම සංකල්පය ප්රතිවිරුද්ධ දිශාවෙන් කියවයි. අන්තර්ජාල ගමනාන්ත ගේට්වේට ස්ථානීයය, එබැවින් එහි local_ts පළල් එක වන අතර remote_ts ක්ලයන්ට් සමූහය විස්තර කරයි. එම ප්රතිලෝමය සම්පූර්ණ-ටනල් වින්යාසයේ වඩාත් පොදු වැරැද්දයි, සහ පේළි දෙකම වෙන වෙනම විශ්වාසදායක ලෙස පෙනෙන නිසා එය සමාලෝචනය පසුකරයි.
children {
rw {
local_ts = 0.0.0.0/0
remote_ts = 10.77.0.0/24
}
}
ක්ලයන්ට් කොටස ගේට්වේ ගොනුවට පිටපත් කිරීමෙන් ප්රයෝජනවත් කිසිවක් විස්තර නොකරන තේරීම් යුගලයක් සෑදේ, දෙපසම එකම භූමිකාව ඉල්ලා සිටින නිසා. strongSwan යැවීම් මාර්ගෝපදේශය ක්ලයන්ට් සහ ගේට්වේ යුගල කිරීම පැහැදිලිව ලේඛනගත කරයි, එය අසාර්ථකත්වයෙන් පසුව නොව සම්බන්ධතා ගොනුව සමඟ කියවීම වටී. ගේට්වේ ගොනුවට remote_ts යොමු කරන සමූහයේ නිර්වචනය ද අවශ්යයි. නොපවතින සමූහයක් නම් කරන තේරීමක් පැමිණිල්ලකින් තොරව පූරණය වන අතර සම්බන්ධ වන විට අසාර්ථක වේ.
පැරණි ipsec.conf විවිධ යතුරු සමඟ වම් සහ දකුණු භූමිකා භාවිත කරයි, සහ rightsubnet පේළිය swanctl අගයට සෘජු ප්රතිස්ථාපනයක් නොවේ. එකක් අනෙකට අලවනවාට වඩා වාක්ය ඛණ්ඩ දෙක වෙන වෙනම ගොනුවල තබන්න. ඒවා එකම නාමාවලියක මිශ්ර කිරීම ක්රියාකාරී සම්බන්ධතාවයක් නැවත ආරම්භයකින් පසු නිහඬව පසුබසින ක්රමයයි.
ගොනුව නොව, සාකච්ඡා කළ child SA පරීක්ෂා කරන්න
සුරකින ලද වින්යාසයක් අභිප්රාය පමණක් ඔප්පු කරයි, ඊට වැඩි කිසිවක් නොවේ. අනෙක් පසට ඉල්ලා සිටි දෙය පටු කළ හැක, සහ පවතින child SA එක යටතේ ගොනුව වෙනස් වූ නිසා පමණක් ප්රතිස්ථාපනය නොවේ. වෙනත් යමක් වෙනස් කිරීමට පෙර සැබවින්ම ස්ථාපිත දේ තහවුරු කරන්න.
swanctl --list-conns
swanctl --list-sas
ip xfrm policy list
පළමු විධානය ඩීමන් පූරණය කළ දේ පෙන්වයි, දෙවැන්න ස්ථාපිත child SA පෙන්වයි, තෙවැන්න කර්නලය යොදන ප්රතිපත්ති පෙන්වයි. ගොනුව 0.0.0.0/0 යැයි කියද්දී ලැයිස්තුව එක් සබ්නෙට් එකක් පෙන්වයි නම්, සාකච්ඡාව විශාලත්වය පටු කර ඇති අතර ගොනුව නැවත කියවීමෙන් එය පැහැදිලි නොවේ. child නවතා නැවත ආරම්භ කර ප්රතිදාන තුනම නැවත සසඳන්න. එම පටු ප්රමාණය සමඟ ආපසු එන child දුර පස විසින් පටු කරනු ලබයි, ස්ථානීය ගොනුව විසින් නොවේ, එය ස්ථානීය සංස්කරණයක් නොව අනෙක් පරිපාලක සමඟ සංවාදයකි.
ප්රතිපත්ති ලැයිස්තුවේ දිශා දෙකම කියවන්න, එක් දිශාවක් ස්ථාපිත කර අනෙක නොකරන ටනල් එකක් වින්යාස ඇඳුමින් සැරසුණු මාර්ගගත කිරීමේ ගැටලුවක් නිසා. ඉදිරි සහ පසු ප්රතිපත්ති එකම තේරීම් යුගලය කැබිනිට්ටු ලෙස නම් කළ යුතුය, සහ නැති කැබිනිට්ටුව තේරීම් පෙළෙහි නොව ඩීමන් හෝ යෝජනාවේ දෝෂයකි.
යැවීම් සහ ආපසු මාර්ගය පරීක්ෂා කරන්න
තේරීමක් ගමන් ගේට්වේ වෙත ඉඩ දෙයි, නමුත් ගේට්වේ එය තවදුරටත් මාර්ගගත කරන බවට බල නොකරයි. යැවීම් සක්රීය විය යුතුය, ෆයර්වෝල් එක ප්රවාහයට ඉඩ දිය යුතුය, සහ පිළිතුර ක්ලයන්ට් සමූහයට ආපසු මාර්ගය සොයා ගත යුතුය. මේවා වෙන වෙනම අවශ්යතා තුනකි, සහ එකක් බැගින් වෙනස් රෝග ලක්ෂණයකින් අසාර්ථක වේ. නැති යැවීම් රීතියක් කළු වළක් මෙන් හැසිරෙන අතර නැති ආපසු මාර්ගයක් එක්-මග ටනල් එකක් මෙන් හැසිරේ.
sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1
පෞද්ගලික ක්ලයන්ට් ලිපින සාමාන්යයෙන් පොදු ඉන්ටර්ෆේස් එකකින් පිටවීමට පෙර හිතාමතා මූල පරිවර්තනයක් අවශ්ය වේ, නමුත් පැහැදිලිව මාර්ගගත කළ වෙන් කිරීමකට වෙනස් ආකාරයක් අවශ්යයි. NAT සම්බන්ධ නම්, ක්රියාත්මක කිරීම විසින් අනුමත කරන ව්යතිරේක තබා ගන්න, ආරක්ෂක ප්රතිපත්තියක් පරීක්ෂා කළ යුතු ගමන් එය මග හැර පරිවර්තනය නොවන පරිදි. වෙනත් ගේට්වේ එකකින් පිටපත් කළ පළල් masquerade රීතියක් කතුවරයා අදහස් කළ ප්රවාහවලට වඩා බොහෝ ඒවා වෙනස් කරයි. රීතිය ක්ලයන්ට් සමූහයට පමණක් ලියන්න, සහ එය ඇත්තේ ඇයි කියා පැහැදිලි කරන අදහසක් තබන්න.
ක්ලයන්ට් එකේදී ඔබ උපකල්පනය කළ මාර්ග නොව, බැක්එන්ඩ් විසින් ස්ථාපිත කළ මාර්ග තහවුරු කරන්න. මාර්ග ස්ථාපනය අක්රීය කළ කළමනාකරුවෙකුට අතින් නඩත්තු කරන මාර්ගගත කිරීමේ සැලසුමක් අවශ්ය වන අතර, ටනල් එක වෙනස් වන විට එම සැලසුම යාවත්කාලීන කළ යුතුය. නැවත සම්බන්ධ වූ පසු මාර්ගගත කිරීමේ වගුව පරීක්ෂා කරන්න, නව ආරම්භයකින් පසුව පමණක් නොවේ.
ටනල් එක තවම ආවරණය නොකරන දේ පරීක්ෂා කරන්න
තේරීම් යුගලය IPv4 පමණක් ආවරණය කරයි, වෙන කිසිවක් නොවේ. IPv6, DNS සහ ඕනෑම යෙදුම් මට්ටමේ ප්රතිපත්තියක් වෙන වෙනම තීරණ වන අතර පළල් IPv4 තේරීමක් ඒවා නිහඬව නොසලකා හරියි. සෑම IPv4 පැකට්ටුවක්ම ගෙන යන ටනල් එකක් වුවත් සෑම නම් සෙවීමක්ම කාන්දු කළ හැක.
අපේක්ෂිත DNS මාර්ගය පැහැදිලිව ප්රකාශ කරන්න, ස්ථානීය විසඳුම්කරු හරහා නම් තවම විසඳන සම්පූර්ණ ටනල් එකක් විමසුම් ටනල් එකෙන් පිටතට කාන්දු කර පෞද්ගලික නම් බිඳ දමන නිසා. ක්ලයන්ට්ට IPv6 ලිපිනයක් පවරනු ලැබුවහොත් එම ලිපින පවුලට ද එම ආකාරයම අවශ්යයි, එසේ නොමැති නම් සත්කාරකය ටනල් එක ආරක්ෂා නොකරන මාර්ගයකට මුල් තැන දෙනු ඇත. පෞද්ගලික පසට පමණක් පිළිතුරු දිය හැකි නමක් සමඟ පරීක්ෂා කරන්න, සහ පොදු පිළිතුරක් කාන්දුවක් ලෙස සලකන්න.
resolvectl query intranet.example.internal
traceroute -n 1.1.1.1
ඉහත ලැයිස්තුවේ සාකච්ඡා කළ තේරීම් සමඟ එම විධාන දෙකෙන් දාමය තහවුරු කරන්න. traceroute එක ස්ථානීය රවුටරය පළමු පැනීම ලෙස පෙන්වයි නම්, තේරීම් මොනවා කීවත් ගමන් ටනල් එක භාවිත නොකරයි. අන්තර්ජාල ප්රවේශය සම්පූර්ණ වන්නේ තෝරාගත් ගමන් නිර්මාණය කළ ගේට්වේ හරහා පිළිගෙන, යවා, ආපසු ගෙන ආ විට පමණි. පැතිකඩක 0.0.0.0/0 සොයා ගැනීම එම දාමයේ ආරම්භයයි, එහි සාක්ෂිය නොවේ.