macOS තුළ, ආරක්ෂක ස්විචයක් යනු ඊට පිටුපස ඇති පැකට් පෙරහන් ප්‍රතිපත්තිය තරම් පමණක් හොඳ ය, තවද pf යනු එම ප්‍රතිපත්තිය ක්‍රියාත්මක කරන කොටසයි. ප්‍රතිපත්තිය එකවර විරුද්ධ දෙකක් කළ යුතුය: උමඟක් පැවතිය හැකි වන පරිදි ක්ලයන්ටයට එහි සේවාදායකයට ළඟා වීමට ඉඩ දීම, සහ අනෙක් සියල්ල සෘජුව පිටවීම නැවැත්වීම. ප්‍රකාශිත නීති කට්ටල බොහොමයක් දෙවැන්න සාර්ථක කර ගෙන පළමුවැන්න අමතක කරයි, එබැවින් යන්ත්‍රය ආරක්ෂාව ලැබීම වෙනුවට සම්බන්ධතාව අහිමි කර ගනී. ක්‍රියා කරන අනුවාදය අවසන් ලක්ෂ්‍යය, විසඳනය සහ උමඟ නම් කරයි, ඊට වඩා කිසිවක් නොවේ.

පැකට් පෙරහනකට තීරණය කළ හැකි දේ, සහ කළ නොහැකි දේ

pf අතුරුමුහුණත්, ලිපින, ප්‍රොටෝකෝල අංක සහ වරායන් දෙස බලයි, එහි නතර වේ. කුමන ක්‍රියාවලියක් සොකට් එකක් විවෘත කළේ දැයි එය කිසිදා නොදනී, එබැවින් එක් වැඩසටහනක් සඳහා ලියූ අවසරයක් එම වරායට ළඟා විය හැකි සෑම වැඩසටහනකටම අවසරයක් බවට පත් වේ. එලෙසම ත්‍යාගශීලී UDP ව්‍යතිරේකයක් ආරක්ෂක ස්විචය නැවත සාමාන්‍ය ජාලයක් බවට හරවයි. යෙදුම්-දැනුමැති අවහිර කිරීම ක්ලයන්ටයට හෝ පද්ධති දිගුවකට අයත් ය, මෙම ගොනුවට නොවේ.

පෙරහන මාර්ග ද නිර්මාණය නොකරයි. ක්ලයන්ටය වැටෙන විට, පෙරනිමි මාර්ගය තවමත් මළ උමඟකට යොමු විය හැක, තවද pf එය Wi-Fi වෙත නිහඬව ආපසු යාම වෙනුවට අවහිර කළ පැකට් බවට හරවයි. අවහිරය යනු අපේක්ෂිත ප්‍රතිඵලයයි, වටා යා යුතු දෝෂයක් නොවේ.

ප්‍රතිඵලය නීතියේ පාඨයට වඩා පිළිවෙලින් බොහෝ විට තීරණය වේ. quick නොමැතිව pf ගැලපීමකින් පසුව ද ඇගයීම කරගෙන යන අතර අවසානයට ගැලපෙන නීතිය ජය ගනී, එබැවින් පහළින් ඇති පුළුල් ගමන් ඉහළින් ඇති සැලකිලිමත් ව්‍යතිරේක අවලංගු කරයි. ගමන් quick ලෙස සලකුණු කිරීම පළමු ගැලපීම අවසානීය කරයි, ප්‍රතිපත්ති රචකයෙක් සාමාන්‍යයෙන් අදහස් කරන්නේ එයයි.

පළමුව අතුරුමුහුණත සහ අවසන් ලක්ෂ්‍යයේ කරුණු කියවන්න

සෑම Mac එකකම රැහැන් රහිත අතුරුමුහුණත් එකම ආකාරයට අංක නොකෙරේ, තවද උමඟ උපාංගයට ඇරඹුම් අතර වෙනස් විය හැකි අංකයක් ලැබේ. නොපවතින උපාංගයක් නම් කරන නීතියක් විග්‍රහ කිරීමේදී අසාර්ථක වේ, එය ශබ්ද සහිත හා අල්ලා ගැනීම පහසු ය, නමුත් වැරදි පවතින උපාංගයක් නම් කරන නීතියක් පිරිසිදුව විග්‍රහ වී ඔබ නැවැත්වීමට අදහස් කළ ගමනාගමනයට ඉඩ දෙයි.

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

route -n get default
ifconfig -l
scutil --nc list

පළමු විධානය දැන් ජය ගන්නා අතුරුමුහුණත නම් කරයි, දෙවැන්න කර්නලය දන්නා සෑම උපාංගයක්ම ලැයිස්තුගත කරයි, තුන්වැන්න පද්ධතියට ආරම්භ කළ හැකි VPN වින්‍යාස ලෙස පෙන්වයි. එම පිළිතුරු ලියා ගන්න, පසුව ක්ලයන්ටයේම වින්‍යාසයෙන් සේවාදායකයේ ලිපිනය හා වරාය කියවන්න.

උමඟේ මාර්ගය වටා නීති කට්ටලය ලියන්න

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

set skip on lo0
block all
pass out quick on utun0
# maintain this line when the server address changes
pass out quick on en1 inet proto udp to 203.0.113.10 port 1194
# only the resolver the client uses before the tunnel exists
pass out quick on en1 inet proto udp to 192.0.2.53 port 53
pass out quick on en1 inet proto udp from any port 68 to any port 67
pass out quick on en1 inet proto udp to 224.0.0.251 port 5353

DHCP පේළිය පවතින්නේ Mac එකක් ලිපිනයක් ලැබීමට පෙර ලිපිනයක් ඉල්ලා සිටින නිසා ය, එබැවින් ඉල්ලීම භාවිතයට ගත හැකි මූල ලිපිනයක් නොමැතිව 68 වරායේ සිට 67 වරාය දෙසට පිට වේ. multicast පේළිය රැහැන් රහිත සබැඳිය භාවිතයට වටිනවා දැයි පද්ධතියට තීරණය කිරීමට ඉඩ දෙයි, එය ඉවත් කිරීම ක්‍රියා කරන ජාලයක කිසිදු සම්බන්ධතාවක් නොමැති බව වාර්තා කරන යන්ත්‍රයක් ඇති කරයි. අවසන් ලක්ෂ්‍ය පේළිය යනු OpenVPN ට එහි සේවාදායකයට කිසිසේත් ළඟා වීමට ඉඩ දෙන දෙයයි; එය නොමැතිව block all පිටත අත් වැල හෙළන අතර උමඟ කිසිදා ඉහළ නොඑයි. විසඳන පේළිය සාමාන්‍ය DNS අවසරයකට වඩා පටු ය, මන්ද එය යන්ත්‍රය කරන සෑම විමසුමක් වෙනුවට එක් ලිපිනයක් සහ එක් වරායක් නම් කරයි.

එම අවසන් ලක්ෂ්‍ය සහ විසඳන ව්‍යතිරේක දෙක පවතින්නේ ය; අනෙක් සියල්ල අවහිරව පවතී. ක්ලයන්ටය වචනාර්ථ ලිපිනයක් අමතන්නේ නම්, විසඳන පේළිය ඉවත් කර අවසන් ලක්ෂ්‍ය පේළිය තබා ගන්න. සේවාදායකයේ ලිපිනය වෙනස් වන්නේ නම්, ඊළඟ සම්බන්ධතාවට පෙර එම පේළිය යාවත්කාලීන කරන්න, නැතහොත් ක්ලයන්ටයේම කොක්කෙන් pf වගුවක් පුරවා ඒ වෙනුවට වගුව ගැලපවන්න.

උමඟ පහත හෙළන්න, පසුව නැවත අරඹන්න

පූරණයට පෙර විග්‍රහ කරන්න, මන්ද වාක්‍ය ඛණ්ඩන දෝෂයක් වියළි ධාවනයක ලාභදායී වන අතර දුරස්ථ සැසියක මිල අධික ය. පසුව ගොනුව පූරණය කරන්න, පෙරහන වහලා නම් සක්‍රීය කරන්න, සහ ඇත්තටම බලයේ ඇත්තේ කුමක්දැයි නැවත කියවන්න. නැවත කියවීම චාරිත්‍රයක් නොවේ: තවත් නැංගුරමක් ඔබ නොලියූ නීති එකතු කළ හැක, එබැවින් මුද්‍රිත කට්ටලය ඔබේ ගොනුව සමඟ සසඳන්න.

sudo pfctl -n -v -f /etc/pf.conf
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
sudo pfctl -s rules
sudo pfctl -s Anchors
sudo pfctl -a <anchor> -s rules
sudo pfctl -s info

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

නැවත ඇරඹීම යනු මිනිසුන් මඟ හරින කොටසයි. macOS ඇරඹුමේදී /etc/pf.conf කියවයි, නමුත් ගොනුව කියවීම පෙරහන සක්‍රීය කිරීමට සමාන නොවේ, එබැවින් දැන් ක්‍රියා කරන නීති කට්ටලයක් නැවත ඇරඹීමෙන් පසු අක්‍රීය විය හැක. පසුව sudo pfctl -s info ධාවනය කර තත්ත්ව පේළිය පෙරහන සක්‍රීය ලෙස වාර්තා කරන බව තහවුරු කරන්න.

පිටවීමේ සහ නැවත ඇරඹීමේ මාර්ගය අවංකව තබා ගන්න

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

sudo pfctl -d
sudo pfctl -f /etc/pf.conf.previous
sudo pfctl -s rules

ස්ථිරත්වයට pfctl -e ධාවනය කර ඇරඹුමේදී ඔබේ ගොනුව පූරණය කරන launch daemon එකක් අවශ්‍ය ය. අනෙක් ඕනෑම වරප්‍රසාදිත කාර්යයක් මෙන් එය සලකන්න: නිරපේක්ෂ මාර්ග, පසුව කියවිය හැකි ලොගයක්, සහ භෞතිකව ළඟා විය හැකි යන්ත්‍රයක පරීක්ෂාවක්. නිහඬව අසාර්ථක වන ඩීමන් යන්ත්‍රය අසුරක්ෂිතව හා සාමාන්‍ය ලෙස පෙනෙන ලෙස තබා යයි.

හිඩැස් ලේඛනගත කරන්න, තමන්ගේම උමඟ උපාංගයක් සාදන දෙවන VPN ක්ලයන්ටයෙන් ආරම්භ කරන්න. ඔබේ නීති එක් උමඟ අතුරුමුහුණතක් නම් කරයි, එබැවින් දෙවැන්න අවහිරව පවතී හෝ පසුව එකතු කරන පුළුල් නීතියකට හසු වේ. tethering සහ hotspot අතුරුමුහුණත් සමහර විට පමණක් දිස්වන අතර එම සටහනම වටී. එම හිඩැස් කිසිවක් ප්‍රතිපත්තිය මඟ හැරීමට හේතුවක් නොවේ; ඒවා එය තවමත් පවතින කොන්දේසි ය.

අදාළ ලිපි