چرا رابط VPN شما مدام از منطقه firewalld خود خارج میشود
منطقه تا زمانی که تونل دوباره وصل شود باقی میماند، و سپس از بین میرود. پیش از چسباندن فرمان، مشخص کنید که NetworkManager یا firewalld مالک آن رابط است.
tun0 را به منطقه درست اضافه میکنید، برنامه شروع به کار میکند، و اصلاح در اتصال مجدد بعدی بخار میشود. اجرای دوباره همان فرمان کار میکند، که اینطور به نظر میرساند firewalld فراموش کرده است. فراموش نکرده است؛ چیزی با ادعای قویتر بر آن رابط آن را دوباره تخصیص داد.
منطقه تا زمانی که رابط دوباره ساخته شود دوام میآورد
تخصیص منطقه firewalld به یک رابط یک اتصال است، و اتصالها به شیء رابط همانگونه که اکنون وجود دارد گره خوردهاند. کارخواه VPN که دستگاه را از بین میبرد و دوباره میسازد، شیء تازهای تولید میکند، و شیء تازه از آنچه مؤلفه تخصیصدهنده میگوید شروع میشود. به همین دلیل نشانه در هر اتصال مجدد تکرار میشود و نه در هر بسته.
همین منطق رفتار هنگام راهاندازی مجدد را توضیح میدهد: اتصالهای زمان اجرا از راهاندازی مجدد جان سالم به در نمیبرند، و اتصالهای دائمی فقط برای دستگاههایی اعمال میشوند که firewalld آنها را متعلق به خود میداند.
پیش از تغییر هر چیزی، مشخص کنید کدام مؤلفه منطقه را تخصیص میدهد.
پیش از تغییر هر چیزی سه چیز را بخوانید
منطقهای که رابط اکنون دارد، منطقههای فعال همراه با رابطهایشان، و فهرست دائمی رابطها برای منطقهای که در نظر دارید را ثبت کنید. آن پرسوجوها را پیش از تغییر، پس از یک اتصال مجدد و پس از یک راهاندازی مجدد اجرا کنید. مقایسه سه نتیجه به شما میگوید که اتصال جایگزین میشود، نادیده گرفته میشود، یا فقط دیر اعمال میشود. اگر فهرست دائمی از قبل نام دستگاه را دارد در حالی که منطقه زمان اجرا مخالف است، چیزی ویرایش شما را زیر پا میگذارد.
نام واقعی دستگاه را هم در هر مرحله ثبت کنید، زیرا تونلی که امروز روی tun0 فرود میآید ممکن است فردا روی tun1 فرود بیاید.
اتصال ذخیرهشده به یک نام عمومی بررسی هویت نیست، و دو دقیقه ثبت یک ساعت حدس را صرفهجویی میکند.
وقتی NetworkManager مالک اتصال است
اگر NetworkManager اتصال VPN را مدیریت میکند، پروفایل آن منطقه را حمل میکند و هنگام فعالشدن اتصال آن را به firewalld میسپارد. آنگاه اتصال دائمی رابط در firewalld برای همان دستگاه ممکن است نادیده گرفته شود، زیرا مالک NetworkManager است. منطقه را روی اتصال تنظیم کنید، و تأیید کنید که پروفایل VPN را ویرایش میکنید نه یک اتصال فیزیکی نامرتبط یا یک رکورد موقت.
تغییر آن ویژگی میتواند فوراً روی یک اتصال فعال اثر بگذارد.
یک مسیر مدیریت را در دسترس نگه دارید و پیش از اعمال، سیاست منطقه مقصد را بخوانید. ویرایش فیلد ZONE در یک فایل ifcfg فقط جایی درست است که آن فایل هنوز منبع پیکربندی است.
وقتی firewalld مالک اتصال است
برای یک تونل مستقل با نام رابط عمداً پایدار، تغییر دائمی رابط ابزار درست است. آن را از طریق بارگذاری مجدد یا چرخه عمری که استقرار شما استفاده میکند اعمال کنید، سپس وضعیت زمان اجرا را بررسی کنید، زیرا ویرایش فقط دائمی نیت را توصیف میکند نه آنچه فعال است. این دو میتوانند به اندازه تمام مدت بارگذاری مجدد با هم اختلاف داشته باشند.
اگر نام رابط پویا است، تخصیص را در طول چرخه عمر اتصال نگه دارید، به جای مسابقه با تونلی که نام را اول تصاحب میکند.
فقط برای اینکه برنامه کار کند، رابط را به trusted نیندازید.
بارگذاری مجدد، اتصال مجدد و راهاندازی مجدد را آزمایش کنید
یک تغییر تنها زمانی تمام است که از هر سه جان سالم به در ببرد.
اول بارگذاری مجدد کنید، زیرا آنجاست که ویرایشهای فقط زمان اجرا ناپدید میشوند. سپس تونل را دوباره وصل کنید، زیرا آنجاست که رابط جایگزینشده اتصالش را از دست میدهد. سپس راهاندازی مجدد کنید، زیرا آنجاست که ناسازگاری مالک بالاخره ظاهر میشود. منطقه را در هر مرحله ثبت کنید و با نیتی که نوشتهاید مقایسه کنید، و یادداشت کنید کدام مرحله تفاوت را ایجاد کرد.
اگر منطقه درست است و برنامه باز هم شکست میخورد، مشکل در قواعد منطقه یا در طبقهبندی مبتنی بر منبع است، نه در عضویت. مستندات firewalld درباره اتصالها و رابطها مرجع این است که مالکیت چگونه باید کار کند.
مالک، مقدار و نتیجه مورد انتظار را در runbook بنویسید، و تخصیص بعدی قابل توضیح خواهد بود.