विभिन्न इंटरफेस पर dhclient के साथ IP नवीनीकृत करें


16

मेरे कंप्यूटर पर दो इंटरफेस हैं, eth0और eth1

दोनों सबनेट में एक डीएचसीपी सर्वर होता है। मैं dhclientदोनों इंटरफेस के लिए आईपी पते को नवीनीकृत करने के लिए कैसे उपयोग कर सकता हूं ?

यदि मैं करता हूँ:

dhclient -r && dhclient eth0

यह IP को रिन्यू करता है eth0। फिर, अगर मुझे बस करना है:

dhclient eth1

यह त्रुटि के साथ विफल रहता है:

dhclient(22421) is already running - exiting.

मैं कर सकता हूँ:

dhclient -r && dhclient eth1

लेकिन dhclient -rभाग पट्टे जारी करता है और मैं आईपी पते eth0को भी ढीला करता हूं ।

अभी के लिए, एक ही रास्ता है कि मैं जो करना चाहता हूं वह करने के लिए चलाने के dhclientलिए है eth0, क्रूरता से इसे मार, और इसे चलाने के लिए eth1: मैं दोनों इंटरफेस पर एक नए सिरे से आईपी के साथ समाप्त होता है।

मैं भी के dhclient -xबजाय के साथ परीक्षण किया dhclient -r, कोई भाग्य।

निश्चित रूप से, यह रास्ता नहीं है!

संपादित करें:

दो जवाबों ने ऐसा करने का सुझाव दिया dhclient -r eth0 eth1 && dhclient eth0 eth1 , वास्तव में, प्रसारण कॉल को इन इंटरफेसों तक सीमित करता है। लेकिन जवाब देने के लिए पहला डीएचसीपी सर्वर केवल एक ही इस्तेमाल किया जाएगा, इसलिए परिणामस्वरूप एक एकल इंटरफ़ेस पर एक नया आईपी और दोनों नहीं। यहां देखें, हम DHCPDISCOVERदोनों इंटरफेस पर कॉल देख सकते हैं , लेकिन DHCPREQUESTयह केवल eth0पहले इंटरफेस पर किया गया है , जिसके माध्यम से डीएचसीपी सर्वर पाया गया था:

Listening on LPF/eth0/0a:00:27:00:00:00
Sending on   LPF/eth0/0a:00:27:00:00:00
Listening on LPF/eth1/84:8f:69:d3:d4:a1
Sending on   LPF/eth1/84:8f:69:d3:d4:a1
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0x170fcb67)
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 4 (xid=0x115a24c3)
DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x170fcb67)
DHCPOFFER from 192.168.1.1
DHCPACK from 192.168.1.1 (xid=0x170fcb67)
bound to 192.168.1.4 -- renewal in 1710 seconds.

जवाबों:


11

भी

dhclient -r && dhclient

या

dhclient -r eth0 eth1 && dhclient eth0 eth1

1 संपादित करें:

अगला प्रयास: आप शायद छुटकारा पा सकते हैं "dhclient (22421) पहले से ही चल रहा है - उदाहरणों में से एक" त्रुटि "से बाहर निकलकर विभिन्न फ़ाइलों का उपयोग करें। उन्हें अलग करने के लिए उपयोग PATH_DHCLIENT_PIDऔर PATH_DHCLIENT_DBचर (या eqivalent कमांड लाइन विकल्प, मैन पेज देखें)।


समस्या यह है कि इसके साथ, dhclient पैकेटों को dhcp सर्वर की खोज के लिए भेजता है क्योंकि दोनों इंटरफेस पर प्रसारण वास्तव में होता है, लेकिन FIRST प्राप्त सर्वर के साथ बंद हो जाता है। मैं eth0 आईपी के लिए eth0 के माध्यम से प्राप्त पहले सर्वर का उपयोग करना चाहता हूं, और eth1 आईपी के लिए eth1 के माध्यम से प्राप्त पहला सर्वर।
नोए मल्ज़ियो

अगर मैं स्पष्ट नहीं था: यह DHCPDISCOVER को दोनों इंटरफेस पर भेजता है, लेकिन DHCPREQUEST को केवल पहले इंटरफेस पर भेजता है, जिस पर इसे dhcp सर्वर से जवाब मिलता है
Noé Malzieu

@ NoéMalzieu आपको किसी भी दर पर उस जानकारी को अपने प्रश्न में रखना चाहिए। मज़ाक की तरह: आपको एक बेकार जवाब मिला "मूल्य 11K प्रतिनिधि"; यह हर दिन नहीं होता है :-)
ल्यूक लैजिंग

@HaLLaging - आप किसका जवाब बेकार कह रहे हैं 8-)।
स्लम

@ NoéMalzieu मेरा संपादन देखें
हौके लैजिंग

4

आइडिया # 1: dhclient को 2 इंटरफेस पास करने की कोशिश करें

यदि आप मैन पेज को देखते हैं dhclientतो आप देखेंगे कि उदाहरण के अंत में बिट का उपयोग करें [ if0 [ ...ifN ]। इसका मतलब यह होगा कि आप dhclientइसे कई इंटरफेस को चला सकते हैं और पास कर सकते हैं जिसे आप चलाना चाहते हैं।

dhclient मैन पेज से अंश

dhclient [-4 | -6] [-S] [-N [-एन ...]] [-टी [-टी ...]] [-प [-प ...]] [-पी पोर्ट] [-d] [ -ई वर = मान] [-q] [-1] [-आर | -x] [-lf पट्टे-फ़ाइल] [-pf pid-file] [-cf config-file] [-sf स्क्रिप्ट-फ़ाइल] [-s सर्वर] [-g रिले] [-n] [-nc] [ -nw] [-w] [-B] [-I dhcp-client-Identifier] [-H host-name] [-F fqdn.fqdn] [-V विक्रेता-वर्ग-पहचानकर्ता] [-R अनुरोध-विकल्प- सूची] [समय-समय पर] [-v] [--version] [if0 [... ifN]]

इसलिए आपको dhclientकई इंटरफेस पर रिलीज करने और उन पर कनेक्ट करने में सक्षम होना चाहिए ।

dhclient -r eth0 eth1
dhclient eth0 eth1

आइडिया # 2: देखिए कि NetworkManager इसे कैसे करता है

यहां बताया गया है कि NetworkManager dhclientमेरे सिस्टम को कैसे सेट करता है। आप तर्कों के साथ स्पष्ट रूप से दूसरे dhclient को कॉल करने का प्रयास कर सकते हैं।

/sbin/dhclient -d -4 \
   -sf /usr/libexec/nm-dhcp-client.action \
   -pf /var/run/dhclient-wlan0.pid \
   -lf /var/lib/dhclient/dhclient-01f0476d-04bf-4ce7-8ced-844fae73f430-wlan0.lease \
   -cf /var/run/nm-dhclient-wlan0.conf wlan0

आपके उत्तर के लिए धन्यवाद। हालाँकि, कृपया मेरी टिप्पणी की जांच @HaLLaging उत्तर पर
Noé Malzieu

@ NoéMalzieu - क्या हम दूसरी dhclient से वर्बोज़ आउटपुट देख सकते हैं? dhclient -r && dhclient eth0 && dhclient -v eth1
SLM

इसके साथ, दूसरे ग्राहक कहते हैंdhclient(1155) is already running - exiting.
नो मल्ज़ीयो

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