WIUNIX ACADEMY
تغییر اتمیک nftables؛ برگشت زماندار رو قبل از قطع دسترسی تمرین کن
صفحهٔ 4 از 4؛ قبل از ادامه، مراحل قبلی و چیزهایی رو که لازم داری مرور کن.
آموزش متناسب با محیط تو
کجا اجرا میکنی؟
سیستمعامل و نسخهٔ سرورت رو انتخاب کن تا مراحل، دستورها و راهحلهای همون محیط رو ببینی.
آموزش متناسب با مقادیر تو
تنظیمات این آموزش
مقادیر نمونه رو با مشخصات سرورت عوض کن تا متن و دستورها با هم تغییر کنن. رمز، کلید خصوصی و توکن اینجا وارد نکن. مقدارها فقط توی همین زبانه میمونن و به سرور یا لینک اشتراکگذاری فرستاده نمیشن. قبل از اجرا، DNS، گواهیها و تنظیمات دسترسی شبکه رو روی سرورت بررسی کن.
اگر آیپی، دامنه یا پورتهای نمونه با سرورت فرق دارن، بخش تنظیمات پایین رو باز کن. مقدارها رو عوض کن و «اعمال در آموزش» رو بزن؛ بعد دستورهای تازه رو کپی کن.
تنظیم مقادیر برای محیط من8 مقدار قابلتغییر
قدم بعدی
فقط timerهای تمرین رو متوقف و فضاهای خالی رو حذف کن
بعد از بازبینی شواهد برگشت، دو جفت timer/سرویسی رو که همین آموزش ساخته متوقف کن تا بازگردانی دیررس با حذف namespace تداخل نکنه. فهرست PID هر دو فضا باید قبل از حذف خالی باشه. اگر خالی نیست، پردازش دقیق همین تمرین رو پیدا کن و بذار تموم بشه؛ همهٔ پردازشهای فضا رو یکجا نکش.
فقط دو نام تازه رو حذف کن؛ لینک veth هم با آنها از بین میره. پوشهٔ شواهدِ مخصوص root برای بازبینی میمونه و بعداً فایلهای شناختهشدهاش رو با روال عادی پاکسازی آزمایش جمع میکنی. اگر ساخت نیمهکاره موند، اول اشیای موجود رو دقیق ببین و فقط دستور شیء غایب رو آگاهانه رد کن؛ بررسی برخورد نام رو سست نکن و namespace نامرتبط رو حذف نکن.
ترمینال ماشین مجازی آزمایشی قابلحذف
sudo systemctl stop 'academy-nft-rollback.timer' 'academy-nft-rollback.service' || exit 1
sudo systemctl stop 'academy-nft-rollback-rehearsal.timer' 'academy-nft-rollback-rehearsal.service' || exit 1
systemctl show 'academy-nft-rollback.timer' 'academy-nft-rollback.service' -p Id -p ActiveState -p SubState
server_pids=$(sudo ip netns pids 'academy-nft-server') || exit 1
client_pids=$(sudo ip netns pids 'academy-nft-client') || exit 1
printf 'server namespace PIDs: %s\nclient namespace PIDs: %s\n' "$server_pids" "$client_pids"
test -z "$server_pids" || exit 1
test -z "$client_pids" || exit 1
sudo ip netns del 'academy-nft-server' || exit 1
sudo ip netns del 'academy-nft-client' || exit 1
sudo ip netns list
فقط timerهای همین آموزش متوقف و دو فضای خودش حذف شدن؛ فایروال میزبان و سرویسهای برنامه باقی موندن.
ادعا رو همقدِ شواهد نگه دار
نسخهٔ واقعی ماشین مجازی، کرنل، nft و systemd، بررسی سالم اول، قطع عمدی، نتیجهٔ timer مستقل، جدول برگشتی و بررسی تازهٔ موفق رو ثبت کن. این راهنما دستور مستند و طرح آزمایش قابلتکرار میده؛ ادعای اجرای عملی روی همهٔ توزیعها یا ایمنبودن سیاست SSH تو نداره.
برای تغییر واقعی، منبع سیاست بررسیشده، مسئول مدیریت، مسیر کنسول، محدودیت مهلت، شواهد پذیرش و برنامهٔ بازیابیِ ماندگار رو کنار هم نگه دار. اعمال اتمیک از تراکنش محافظت میکنه؛ ارتباط درست و بازیابی عملیاتی هنوز شاهد مستقل میخوان.
منابع این آموزش
منابع رسمی
بالای صفحه میبینی که هر محیط چطور بررسی شده. بررسی مستندات به معنی اجرای عملی همهٔ نسخهها نیست.
- nft options, tables, chains and file transactions
- Native nft scripts and atomic loading
- Network namespaces and their lifecycle
- veth links and namespace placement
- Transient timer/service launch on systemd 252
- flock file-descriptor and command locking
- RHEL nftables configuration, persistence and firewall ownership
- firewalld runtime, permanent configuration and NetworkManager zones
- Docker firewall rules and UFW/firewalld integration
- Debian nftables package files
- Debian service unit and its start/reload/stop behavior
- Arch Linux nftables package files
- Manjaro complete-upgrade maintenance
- Ubuntu release lifecycle
- Debian release lifecycle
- Rocky Linux releases
- AlmaLinux releases
- RHEL lifecycle
ادامهٔ مسیر