dhcpd সম্প্রচারিত DHCPDISCOVER প্রক্রিয়াকরণ করছে না


0

আমার ডিএইচসিপি সার্ভার দুটি সাবনেট পরিচালনা করছে। প্রথম সাবনেটটি সমস্ত host-> fixed-addressপরিচিত হার্ডওয়্যারের জন্য সেট sets দ্বিতীয় সাবনেটে একটি ভিসেন্টারে ভার্চুয়াল মেশিনগুলি পরিচালনা করতে একটি পুল সেট আপ করা হয়েছে।

এখন, আমি যদি এটি সঠিকভাবে করে ফেলেছি, ডিএইচসিপিডি মেক অ্যাড্রেসিন্ট করা সাধারণ ভিচেন্টারের প্রথম তিনটি অক্টেটের সাথে মেলে, এবং ভার্চুয়াল হোস্টগুলির জন্য সাবনেটের বাইরে কোনও ঠিকানা বরাদ্দ করেছে, তাই না?

দুর্ভাগ্যক্রমে, আমি যা পাই তা হ'ল

Nov 15 12:42:44 dhcpserv dhcpd: DHCPDISCOVER from 00:50:56:aa:bb:cc via eth0: network XXX.YYY.22/23: no free leases

সুতরাং, আমি জানি আমার dhcpd সার্ভারটি DHCPDISCOVER গ্রহণ করছে receiving আমি জানি আমি সঠিক তিনটি অক্টেটের সন্ধান করছি। (আমি কি এটি জানি?)

আমি বুঝতে পারি না কেন আমার ডিএইচসিপি সার্ভার দ্বিতীয় সাবনেটের বাইরে কোনও আইপি ঠিকানা সরবরাহ করছে না। আমি কী মিস করছি?

উত্তর:


0

দেখা যাচ্ছে যে আমার তিনটি জিনিস করা দরকার ছিল। চূড়ান্ত /etc/dhcpd.confফাইলটি থেকে এখানে কিছু স্নিপ দেওয়া হল :

class "virtual-hosts"
{
  match if substring(binary-to-ascii(16,8,":",hardware),2,7) = "0:50:56";
  log(info, "Hit for class virtual-hosts");
}

subnet XXX.YYY.22.0 netmask 255.255.254.0
{
}

subnet XXX.YYY.24.0 netmask 255.255.255.0
{
  option routers XXX.YYY.24.254;
  option domain-name-servers XXX.YYY.22.168, XXX.YYY.22.169;
  option ntp-servers XXX.YYY.22.168,XXX.YYY.22.169;
  default-lease-time 86400; # 1 day
  max-lease-time 604800;    # 7 days
  use-host-decl-names on;
  allow unknown-clients;

  option domain-name "example.com sub1.example.com sub2.example.com";
  next-server XXX.YYY.22.159;
  filename "pxelinux.0";

  pool
  {
    allow members of "virtual-hosts";
    get-lease-hostnames true;
    one-lease-per-client true;
    ping-check true;
    range XXX.YYY.24.11 XXX.YYY.24.60;
  }
}

প্রথমে classবিবৃতিতে সেই কুৎসিত স্ট্রিং ম্যাচটি দেখুন । বাইনারি মানhardware 'র প্রথম উপাদান হার্ডওয়্যার প্রকার এবং দ্বিতীয় উপাদান ঠিকানা। আমি চালানোর আছে hardwareমাধ্যমে binary-to-asciiএটি একটি সন্ধানযোগ্য পংক্তি পরিণত, এবং তারপর সাবস্ট্রিং মেলে। substringম্যাচ 2 আরম্ভ করা হয় এড়াতে 1:যে binary-to-stringহার্ডওয়্যার টাইপ জন্য লিখেছেন। এবং, substringম্যাচটি কেবলমাত্র 7 টি অক্ষর দীর্ঘ কারণ binary-to-stringকেবল 16 এর চেয়ে কম বাইনারি মানগুলির জন্য একটি একক সংখ্যা ব্যবহার করে।

দ্বিতীয়ত, আমাকে dhcpd এমনকি একটি অনির্ধারিত হার্ডওয়্যার ঠিকানার সাথে মেলে চেষ্টা করার আগে allow unknown-clients; কোথাও ঘোষণা করতে হবে। অন্যথায়, আমাকে একটি host{}বিবৃতিতে পরিষ্কারভাবে পুরো ম্যাক ঠিকানাটি সংজ্ঞায়িত করতে হবে । তবে, আমি allow unknown-clients;নিজে পুলটিতে চাই না, কারণ এটি সীমাবদ্ধ ...

তৃতীয়ত, allow members of "virtual-hosts";পুলের বিবৃতিতে ঘোষণা ।

সুতরাং, সমাধানটি সাব-স্টেটমেন্টে সীমাবদ্ধ রাখার জন্য, বিবৃতিতে binary-to-textঅজানা ক্লায়েন্টদের সঠিক বিশদকরণ এবং মঞ্জুরি দেওয়ার ক্ষেত্রে নেমে আসে ।subnetpool

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.