मैंने थोड़ी खोजबीन की।
पहली बात मैंने यह सीखा कि मैक पते के अलावा अन्य मानदंडों के आधार पर डीएचसीपी पट्टों को आवंटित करना संभव है।
DHCP से पूछे जाने वाले प्रश्न :
क्लाइंट आईडी क्या है?
डीएचसीपी प्रोटोकॉल के उद्देश्यों के लिए क्लाइंट आईडी को क्या कहा जाता है जो क्लाइंट कंप्यूटर की पहचान करने के लिए प्रोटोकॉल द्वारा उपयोग किया जाता है। डिफ़ॉल्ट रूप से, डीएचसीपी कार्यान्वयन आम तौर पर इस उद्देश्य के लिए क्लाइंट के मैक पते को नियुक्त करता है, लेकिन डीएचसीपी प्रोटोकॉल अन्य विकल्पों की अनुमति देता है। कुछ डीएचसीपी कार्यान्वयनों में आपके इच्छित ग्राहक आईडी को निर्दिष्ट करने के लिए एक सेटअप विकल्प होता है। मैक पते के लिए एक विकल्प बस अपनी पसंद का एक चरित्र स्ट्रिंग है। किसी भी स्थिति में, डीएचसीपी कार्य करने के लिए, आपको निश्चित होना चाहिए कि आपके द्वारा चुने गए क्लाइंट आईडी का उपयोग कोई अन्य ग्राहक नहीं कर रहा है, और आपको यह सुनिश्चित करना चाहिए कि डीएचसीपी सर्वर इसे स्वीकार करेगा।
फिर, हालांकि यह स्पष्ट रूप से खुले वेब इंटरफेस द्वारा समर्थित नहीं है, ओपनवार्ट पर, dnsmasq खुद client_id, और कई मैक पते (कुछ सावधानी के साथ) का समर्थन करता है।
Dnsmasq मैन पेज से :
-G, --dhcp-host = [hwaddr] [, id: client_id | *] [, सेट: टैग] [, ipaddr] [, hostname] [, पट्टे_टाइम] [, उपेक्षा] DHCP सर्वर के लिए प्रति होस्ट पैरामीटर निर्दिष्ट करें । यह एक विशेष हार्डवेयर पते के साथ एक मशीन को हमेशा एक ही होस्टनाम, आईपी पते और पट्टे के समय आवंटित करने की अनुमति देता है। इस तरह निर्दिष्ट एक होस्टनाम मशीन पर डीएचसीपी क्लाइंट द्वारा आपूर्ति की गई किसी भी चीज़ को ओवरराइड करता है। यह हार्डवेयर पते को अलग करने और होस्टनाम को शामिल करने के लिए भी स्वीकार्य है, उस स्थिति में आईपी पते और पट्टे का समय उस नाम का दावा करने वाली किसी भी मशीन पर लागू होगा। उदाहरण के लिए - ddcp-host = 00: 20: e0: 3b: 13: af, वैप, अनंत dnsmasq को हार्डवेयर पता के साथ मशीन देने के लिए कहता है 00: 20: e0: 3b: 13: af नाम वैप, और अनंत डीएचसीपी का पट्टा। -dhcp-host = lap, 192.168.0.199, dnsmasq को हमेशा यह बताता है कि मशीन को IP एड्रेस 192.168.0.199 लैप आवंटित करें।
(...)
यह 'आईडी:' के साथ उपसर्ग द्वारा मेजबानों की पहचान करने के लिए हार्डवेयर पतों के बजाय ग्राहक पहचानकर्ताओं का उपयोग करने की अनुमति है। इस प्रकार: - ddcp-host = id: 01: 02: 03: 04, ..... ग्राहक पहचानकर्ता के साथ मेजबान को संदर्भित करता है 01: 02: 03: 04। इसे ग्राहक आईडी को पाठ के रूप में निर्दिष्ट करने की भी अनुमति है, जैसे: --dhcp-host = id: clientidastext .....
(...)
एक विशेष मामले के रूप में, एक से अधिक हार्डवेयर पते को शामिल करना संभव है। उदाहरण: - ddcp-host = 11: 22: 33: 44: 55: 66,12: 34: 56: 78: 90: 12,192.168.0.2 यह एक आईपी पते को कई हार्डवेयर पतों से जुड़ा होने की अनुमति देता है, और dasmasq अनुमति देता है जब एक अन्य एक पट्टे के लिए पूछता है, तो हार्डवेयर पतों में से एक को डीएचसीपी पट्टे को छोड़ देना। खबरदार कि यह करने के लिए एक खतरनाक बात है, यह केवल मज़बूती से काम करेगा यदि केवल हार्डवेयर पते में से कोई भी किसी भी समय सक्रिय है और इसे लागू करने के लिए dnsmasq के लिए कोई रास्ता नहीं है। उदाहरण के लिए, एक स्थिर आईपी पते को एक लैपटॉप के लिए आवंटित करना उपयोगी है जिसमें वायर्ड और वायरलेस इंटरफेस दोनों हैं।
मैंने मल्टी-मैक सॉल्यूशन का विकल्प चुना (क्योंकि मैंने यह जानने की कोशिश नहीं की कि मैं क्लाइंट आइडी पर क्लाइंट आईडी को कैसे निर्दिष्ट कर सकता हूं, जो कि प्रत्येक अलग क्लाइंट के लिए किया जाना है, और मल्टी-मैक विकल्प है। घर में सभी बंदरगाहों के लिए एक समाधान।)
मैंने लुसी इंटरफ़ेस को दरकिनार किया, और निम्नलिखित पंक्ति में सीधे /etc/dnsmasq.conf में जोड़ा:
DHCP-hostsfile = / etc / dnsmasq-dhcphosts.conf
और /etc/dnsmasq-dhcphosts.conf में निम्न प्रारूप की लाइनें शामिल हैं:
mac1, mac2, आईपी
(मैं इसे अगले अद्यतन द्वारा अधिलेखित करने से रोकने के लिए एक अलग फ़ाइल में इस कॉन्फिग को रखता हूं।)
ठीक काम करता है।