නව කන්ටේනර ලොග් බොහෝ විට /proc/sys/net/ipv4/route/flush ගැන Read-only file system පැමිණිල්ලකින් අවසන් වේ, එම පේළිය සම්පූර්ණයෙන්ම සුවපහසු විය හැකි ටනලයකට දොස් පවරයි. එහි පිටුපස ඇති ලිවීම IPv4 මාර්ග කෑෂ් ඉවත් වූ පසු කිසිදු ප්‍රයෝජනවත් කාර්යයක් නොකරන කර්නල සටහනක් ඉලක්ක කරයි. කන්ටේනරය තුළ /proc/sys කියවීමට-පමණක් ලෙස මවුන්ට් වේ, එබැවින් කිසිදු අගයක් ළඟා වීමට පෙර යළි හරවා යැවීම ප්‍රතික්ෂේප වන අතර ෂෙල් එම ප්‍රතික්ෂේපය මුද්‍රණය කරයි. ක්‍රියාකාරී ටනලයකට පැරණි පේළිය ස්ක්‍රිප්ටයේ රැඳී ඇති තාක් මෙම අනතුරු ඇඟවීම මුද්‍රණය කළ හැකි අතර, --privileged ලිවීම කිසි විටෙකත් අර්ථවත් කරන්නේ නැත.

ස්ක්‍රිප්ටය ෆ්ලෑෂ් කිරීමට උත්සාහ කළේ කුමක්ද

පැරණි සම්බන්ධතා ස්ක්‍රිප්ට කෑෂ් පිරිසිදු කිරීමකින් අවසන් විය: කර්නල පාලන ගොනුවක අගයක් ලියා IPv4 තට්ටුවෙන් එහි මාර්ගගත කිරීමේ කෑෂ් ඉවත් කරන ලෙස ඉල්ලීම, එවිට පැරණි සටහන් කල් ඉකුත් වන තෙක් බලා නොසිට නව ටනල මාර්ගයක් තෝරා ගැනේ. ගොනුව /proc/sys/net/ipv4/ යටතේ ලිපිනගත කර තිබූ අතර, එය ක්‍රියාව මාර්ගගත කිරීමේ විධානයක් නොව ෂෙල් යළි හරවා යැවීමක් බවට පත් කළේය. කර්නල 3.6 එම කෑෂ් ඉවත් කළ අතර, එමඟින් ෆ්ලෑෂ් පැවතීමේ හේතුවද ඉවත් විය. වර්තමාන දත්ත මාර්ගයේ කිසිවක් එම ලිවීම මත රඳා නොපවතී.

සටහනම පැරණි ලිවීමට-පමණක් ගොනුවක් ලෙස ඉතිරි විය, එබැවින් තවමත් එයට ලියන ස්ක්‍රිප්ටය සැබෑ මාර්ගයකට සහ සැබෑ අවසර පරීක්ෂාවකට ළඟා වේ. සත්කාරකයේ ලිවීම සාර්ථකත්වය ලබා දෙන අතර කිසිවක් වෙනස් නොකරයි. කන්ටේනරයේ එම යළි හරවා යැවීමම කියවීමට-පමණක් /proc/sys වෙත වැදී EROFS සමඟ අසාර්ථක වේ, එය ෂෙල් කියවීමට-පමණක් ගොනු පද්ධති පණිවිඩයක් ලෙස මුද්‍රණය කරයි. මාර්ගය සැබවින්ම නොමැති කර්නලවල වාක්‍ය රටාව No such file or directory බවට පත් වන අතර නිගමනය වෙනස් නොවේ.

දෝෂ දෙක වෙනස් දේ කියයි, වෙනස පැහැදිලිව තබා ගැනීම වටී. Read-only file system යනු කර්නලය සටහනකට ළඟා වී ලිවීම ප්‍රතික්ෂේප කළ බවයි; No such file or directory යනු සටහන ගොස් ඇති බවයි. කිසිදු පණිවිඩයක් ටනල උපාංගය, මාර්ග හෝ නම් විසඳීම ගැන වාර්තා නොකරයි, එබැවින් කිසිවකට වැඩි වරප්‍රසාදයක් සාධාරණීකරණය කළ නොහැක.

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

වරප්‍රසාදය එකතු කිරීමට පෙර මවුන්ට් එක සහ මාර්ගය පරීක්ෂා කරන්න

කියවීම් තුනක් පෘෂ්ඨීය අනතුරු ඇඟවීමක් සැබෑ අසාර්ථකත්වයකින් වෙන් කරයි: ස්ථාපිත ස්ක්‍රිප්ටය තවමත් පේළිය රඳවා ගෙන තිබේද, /proc/sys මවුන්ට් වී ඇත්තේ කෙසේද, සහ යෙදුමේ ගමන් ප්‍රවාහය සැබවින්ම යන්නේ කොහේද. ඒවා එම කන්ටේනර නාම අවකාශයේ හෝ අනතුරු ඇඟවීම පෙනුණු සත්කාරකයේ ධාවනය කරන්න, මන්ද අසම්බන්ධ යන්ත්‍රයක පරීක්ෂාව වෙනත් ප්‍රශ්නයකට පිළිතුරු දෙයි.

grep -n 'ipv4/route/flush' /usr/share/vpnc-scripts/vpnc-script
findmnt -no OPTIONS /proc/sys
ip -4 route get 10.20.5.10

grep හි පිළිතුර පෙනෙන තරමටම දුර්වලය, මන්ද සොයා ගැනීම පේළිය පවතින බව ඔප්පු කරයි, ආරක්ෂාවකින් තොරව ධාවනය වන බව නොවේ; නඩත්තු කරන ලද ස්ක්‍රිප්ටයකට ලිවීම එය මගහරින ආරක්ෂාවක් තුළ තබා ගත හැක. findmnt -no OPTIONS /proc/sys මවුන්ට් එක සෘජුවම තීරණය කරයි, එම ප්‍රතිදානයේ ro යනු එම ලක්ෂ්‍යයට පහළින් ඇති සෑම ලිවීමක්ම ප්‍රතික්ෂේප වන බවයි, ස්ක්‍රිප්ටය කුමක් කළත්. පසුව මාර්ග සෙවීම පෙන්වන්නේ යෙදුමට අවශ්‍ය ගමනාන්තය ටනල අතුරුමුහුණත හරහාද කන්ටේනරයේ පෙරනිමි ගේට්වේ හරහාද විසඳෙන්නේ කියාය. පෙරනිමි ගේට්වේ තෝරන සෙවීමක් යනු ටනලය ඉහළ ගොස් එයට කිසිවක් මාර්ගගත නොවන බවයි, එය මාර්ගගත කිරීමේ ගැටලුවක් මිස වරප්‍රසාදයේ ගැටලුවක් නොවේ.

නිවැරදි කිරීම සැබවින්ම පැමිණෙන්නේ කොහෙන්ද

නඩත්තු කරන ලද නිවැරදි කිරීම කන්ටේනර ධජවල නොව ස්ක්‍රිප්ටයේ ජීවත් වේ. upstream vpnc-script මෙම ක්‍රියාව හසුරුවන ආකාරය වෙනස් කර ඇත, එබැවින් රූපය තුළ ඇති පිටපත වර්තමාන upstream සමඟ සසඳා එය සපයන පැකේජය හෝ රූප ගොඩනැගීම හරහා යාවත්කාලීන කරන්න. ධාවනය වන කන්ටේනරයක් තුළ අතින් සංස්කරණය කළ ගොනුවක් සමාලෝචනය කළ නොහැකි අතර ඊළඟ ගොඩනැගීම දක්වා නොපවතී.

--privileged සියලු හැකියාවන් සහ උපාංගවලට පුළුල් ප්‍රවේශය ලබා දෙන බව ලේඛනගත කර ඇත, එය කිසිවක් වෙනස් නොකරන පණිවිඩයක් සඳහා විශාල සහනයකි, එබැවින් සැබවින්ම හැකියාවක් අඩු නම් එය නම් කරන්න. යාවත්කාලීනයෙන් පසු මාර්ග සෙවීම නැවත කරන්න සහ යෙදුමකට ටනලය භාවිත කිරීමට ඉඩ දෙන්න, මන්ද නිශ්ශබ්ද ලොගය සහ ක්‍රියාකාරී සම්බන්ධතාවය වෙනස් ප්‍රතිඵල වේ.

අදාළ ලිපි