केवल DHCP सर्वर तब प्रारंभ करें जब अन्यत्र कोई उपलब्ध न हो


0

मेरे पास एक नेटवर्क नेटवर्क के साथ ubuntu 16.04 पर चलने वाला एक पोर्टेबल लिनक्स बॉक्स है, जिसे जब नेटवर्क में प्लग किया जाता है, तो यह सुनिश्चित करना चाहिए कि उस नेटवर्क पर डीएचसीपी सर्वर है। दो मामले:

  • (ए) यदि नेटवर्क पर पहले से ही डीएचसीपी चल रहा है, तो बॉक्स को वहां एक आईपी मिलना चाहिए।

  • (b) यदि नेटवर्क पर कोई डीएचसीपी मौजूद नहीं है, तो बॉक्स को डीएचसीपी सर्वर शुरू करना चाहिए।

(बी) के मामले में, मेरे पास रनिंग रनिंग है। हालाँकि, मैं चाहूंगा कि प्रणाली स्वचालित रूप से (a) या (b) का पता लगाए और परिणाम के आधार पर dnsmasq सेवा शुरू करे।

अब तक मेरा दृष्टिकोण eth0 के लिए सेटअप / etc / network / interfaces को static के रूप में था (आंतरिक रूप से प्रदान किए गए DHCP के लिए एक आधार के रूप में) और eth0: 1 को dhcp के रूप में कॉन्फ़िगर किया गया। मैंने ऐसा कुछ खोजने की कोशिश की है जो एक लिंक उपलब्ध होने के बाद dhcp- क्लाइंट के परिणामस्वरूप dnsmasq सेवा को शुरू / बंद कर देगा, लेकिन ऐसा कोई विकल्प नहीं मिल सका।

जवाबों:


0

जिस तरह से मैं दृष्टिकोण करूंगा वह बैश स्क्रिप्ट लिखना है जो dhclient के आउटपुट के आधार पर dnsmasq शुरू करता है। अगर dhclient को कोई प्रतिक्रिया नहीं मिलती है, तो dnsmasq शुरू करें। वास्तव में काफी सरल होना चाहिए। बिना देखे, मुझे लगता है कि अगर कोई डीएचसीपी लीज प्राप्त करने में विफल रहता है, तो dhclient एक गैर-शून्य निकास कोड देगा।

Udv के साथ एक स्क्रिप्ट को ट्रिगर करें, या उदाहरण के लिए / etc / नेटवर्क / इंटरफेस में डालकर और यदि dhclient एक गैर-शून्य निकास कोड देता है, तो dnsmasq शुरू करें।


आप इसे सेवाओं और / etc / नेटवर्क / इंटरफेस कॉन्फ़िगरेशन के साथ कैसे एम्बेड करेंगे?
जकॉब

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.