GDNSD-PLUGIN-SIMPLEFO(8) gdnsd GDNSD-PLUGIN-SIMPLEFO(8)

gdnsd-plugin-simplefo - پلاگین تغییر مسیر اضطراری (failover) ساده در gdnsd

نمونه‌ای از قطعه‌پیکربندی gdnsd با استفاده از این پلاگین:

plugins => {
  simplefo => {
    service_types => [ www ],
    pubwww => {
      primary => 192.0.2.1
      secondary => 192.0.2.100
    }
    www6 => {
      primary => 2001:DB8::1
      secondary => 2001:DB8::100
    }
    mixed => {
      service_types => [ www, xmpp ]
      addrs_v4 => {
        primary => 192.0.2.1
        secondary => 192.0.2.100
      }
      addrs_v6 => {
        service_types => up
        primary => 2001:DB8::1
        secondary => 2001:DB8::100
      }
    }
  }
}

نمونه‌ای از رکوردهای منبع (RR) در zonefile:

www 180 DYNA simplefo!pubwww
www6 180 DYNA simplefo!www6
mix 180 DYNA simplefo!mixed

gdnsd-plugin-simplefo برای انجام تغییر مسیر اضطراری (failover) ساده از نوع فعال/غیرفعال (active/passive) بین یک نشانی اصلی (primary) و یک نشانی ثانویه (secondary) طراحی شده است. وضعیت نشانی‌ها با نظارت استاندارد "service_types" در gdnsd بررسی می‌شود. اگر به چیزی بیش از یک فهرست تغییر مسیر اضطراری ساده دو نشانی نیاز دارید، پلاگین "metafo" مناسب‌تر است.

در بالاترین سطح از بخش پیکربندی پلاگین، پارامتر ویژه "service_types" پشتیبانی می‌شود. این پارامتر مقدار پیش‌فرض "service_types" را برای تمام منابع به ازای هر منبع تعیین می‌کند. مقدار پیش‌فرضِ پیش‌فرض برای "service_types" برابر با "[ up ]" است که به‌سادگی وضعیت همه آن‌ها را به صورت ایستا روی "UP" تنظیم می‌کند.

باقی مدخل‌های هش در سطح بالا، نام منابعی هستند که شما تعریف می‌کنید. به هر منبع یک هش پیکربندی اختصاصی برای نگهداری اطلاعات نشانی مختص آن منبع داده می‌شود.

درون یک منبع، مجدداً پارامتر "service_types" پشتیبانی می‌شود تا نوع یا انواع سرویس‌های پایش‌شده را برای این منبع خاص تنظیم کند.

اگر "addrs_v4" تعریف شده باشد، باید هشی شامل دو کلید باشد: "primary" و "secondary"، که مقدار هر یک یک رشته نشانی IPv4 است.

به همین ترتیب، اگر "addrs_v6" تعریف شده باشد، باید هشی شامل دو کلید باشد: "primary" و "secondary"، که مقدار هر یک یک رشته نشانی IPv6 است.

اگر هیچ‌کدام از این دو زیربخش تعریف نشده باشند، باید یک جفت نشانی واحد "primary" و "secondary" برای کل منبع تعریف کنید. این نشانی‌ها می‌توانند از هر یک از خانواده‌های نشانی باشند، به شرط آنکه هر دو از یک خانواده باشند.

هنگامی که "addrs_v4" و/یا "addrs_v6" استفاده می‌شوند، می‌توان "service_types" را در درون هر یک نیز بازنویسی کرد تا رفتار متفاوتی به ازای هر خانواده نشانی اعمال شود (به‌عنوان مثال اجبار یک پروتکل به اینکه همیشه up یا down باشد).

برای هر خانواده نشانی که داده‌های آن را ارائه داده‌اید، منطق زیر به صورت مستقل اعمال می‌شود:

  • ابتدا بدترین وضعیت نظارت‌شده از میان تمام بررسی‌های "service_types" برای نشانی اصلی به‌دست می‌آید. اگر این وضعیت "UP" باشد، نشانی اصلی استفاده می‌شود.
  • اگر نشانی اصلی "DOWN" بود، نشانی ثانویه بررسی می‌شود: اگر نشانی ثانویه "UP" باشد، از آن استفاده خواهد شد. اگر نشانی ثانویه نیز "DOWN" باشد، مجدداً از نشانی اصلی استفاده می‌شود.
  • در هر حالتی غیر از وضعیت دقیقاً "UP" برای نشانی اصلی، مقدار TTL مجموعه رکوردهای منبع (RR-set) پاسخ از فایل منطقه (zonefile) برای هر دو خانواده نشانی نصف خواهد شد.

اگر هر دو نشانی "primary" و "secondary" برای هر یک از خانواده‌های نشانی در وضعیت "DOWN" باشند، این پلاگین وضعیت شکست کامل منبع را به هر ماژول بالادستی (مانند geoip یا metafo) اعلام می‌کند. نصف شدن TTL برای تمامی رکوردهای نشانی تنها یک‌بار رخ می‌دهد، حتی اگر هر دو خانواده نشانی دارای نشانی اصلی در وضعیتی غیر از "UP" باشند.

gdnsd.config(5), gdnsd.zonefile(5), gdnsd(8), gdnsd-plugin-multifo(8)

راهنمای gdnsd.

Copyright (c) 2012 Brandon L Black <blblack@gmail.com>

این پرونده بخشی از gdnsd است.

نرم‌افزار gdnsd یک نرم‌افزار آزاد است: می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) منتشرشده توسط بنیاد نرم‌افزار آزاد، نگارش ۳ مجوز یا (به انتخاب خودتان) هر نگارش بالاتری بازتوزیع کرده و/یا تغییر دهید.

نرم‌افزار gdnsd به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف مشخص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

باید همراه با gdnsd نسخه‌ای از مجوز عمومی همگانی گنو را دریافت کرده باشید. در غیر این صورت، نشانی http://www.gnu.org/licenses را ببینید.

2026-04-04 gdnsd 3.8.3