लिनक्स में सभी पड़ोसियों के लिए एआरपी अपडेट कैसे प्रसारित करें?


21

सबनेट के कुछ क्लाइंट्स ने पुराने मैक पते के साथ आईपी को कैश किया है, मैं चाहता हूं कि वे एआरपी प्रसारण करके नए मूल्य को अपडेट करें, क्या लिनक्स में यह संभव है?

जवाबों:


27

हां, इसे "अनसॉलिटेड एआरपी" या "ग्रैटुइटस एआरपी" कहा जाता है। अधिक विवरण के लिए मैनपेज की जाँच करें , लेकिन सिंटैक्स कुछ इस तरह दिखता है:

arping -U 192.168.1.101

यदि आप कोई पता खराब कर रहे हैं, तो आपको पहले इसे चलाने की आवश्यकता हो सकती है:

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

अंत में, इसकी स्पूफिंग क्षमता के कारण, अनसॉलिटेड एआरपी पैकेट भेजना कभी-कभी "शत्रुतापूर्ण" गतिविधि माना जाता है, और इसे अनदेखा किया जा सकता है, या कुछ तृतीय-पक्ष फ़ायरवॉल द्वारा अवरुद्ध होने का कारण हो सकता है।


8
डेबियन के तहत, मेरे लिए कमान थी arping -S ip.to.update -i ethX destination.host। उदाहरण:arping -S 10.0.0.2 -i eth0 10.0.0.1
radicand

3
मैंने लिनक्स में ऊपर वर्णित एक राउटर के लिए एक आर्पिंग करना आवश्यक पाया, जब आईपी डिवाइस पर एक उपनाम है (यानी या तो एक द्वितीयक एनआईसी आईपी का उपयोग कर रहा है या यदि यह मौजूदा एनआईएस पर एक उपनाम है जो एक ifconfig ethx:xप्रकार का उपयोग करके सेटअप किया गया था) उर्फ का)। यदि यह प्राथमिक है, तो यह आवश्यक नहीं लगता है।

8

आप जिस चीज की तलाश कर रहे हैं उसे "ग्रैटुइटस एआरपी " कहा जाता है और "आर्पिंग" का उपयोग करके किया जा सकता है। यदि आपका IP पता 10.0.0.1 है eth0 पर, तो आप इस कमांड का उपयोग करेंगे:

arping -A -I eth0 10.0.0.1

आप सत्यापित कर सकते हैं कि ARP को "tcpdump" का उपयोग करके भेजा जा रहा है, जबकि "arping" चल रहा है, इस मामले में मैं "wlan0" देख रहा हूं:

laptop:~$ sudo tcpdump -lni wlan0 arp    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:14:11.219936 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:12.220119 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220288 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
laptop:~$ 

-1

यह आवश्यक नहीं है। जैसे: जब आपने आईपी को बदला, तो कंप्यूटर को अपने आप ऐसा करना चाहिए था। यदि क्लिंटन को हार्डकोड किया जाता है, तो एक प्रसारण हडकोड ओवरराइड को नहीं बदलेगा।

मैं अब लगभग 20 वर्षों के लिए आईटी करता हूं, और इस समय में मेरे पास कभी भी (!) दोषपूर्ण उपकरण के बिना ऐसा नहीं हुआ है।


समस्या यह है कि मैं गलती से एक इस्तेमाल की गई आईपी के साथ एक नई मशीन असाइन करता हूं, इसलिए वे आईपी का विरोध करते हैं। मैं SSH का उपयोग करके पुरानी मशीन तक नहीं पहुँच सकता। अब मैं गलत (नई) मशीन को दूरस्थ रूप से बंद करता हूं, लेकिन मैं अभी भी पुरानी मशीन तक नहीं पहुंच सकता, मुझे संदेह है कि राउटर ने अपनी एआरपी तालिका में मैक पते को कैश किया है।
हावर्ड

1
इसे '' gratuitous ARP '' कहा जाता है - en.wikipedia.org/wiki/…
किम्विस

Arp कैश समाप्त होने के बाद काम करना चाहिए। आप जिस मशीन से पुरानी मशीन को एक्सेस करने की कोशिश कर रहे हैं, उस पर आरपी टेबल को फ्लश करने की कोशिश कर सकते हैं
किम्विस

4
@TomTom - शायद आप अभी इसे देखने के लिए सही वातावरण में काम नहीं कर रहे हैं। फेलओवर स्थिति में एक नए सर्वर पर ट्रैफ़िक को फिर से रूट करने के लिए अनचाहे एआरपी पैकेट भेजना एक सामान्य तरीका है। कई उच्च-अंत स्विच और राउटर को यह पहचानने में कई मिनट लग सकते हैं कि IP पता अन्यथा किसी भिन्न भौतिक पोर्ट पर चला गया है। सिस्को स्विच इसके लिए कुख्यात हैं।
टायलर

4
@TomTom: हां, अगर आप दिल की धड़कन / कोरोसिंक के माध्यम से विफल हो रहे हैं, तो जो भी हो। हालाँकि, यदि आप मैन्युअल रूप से सेवाओं को एक मशीन से दूसरी मशीन में स्थानांतरित करते हैं, खासकर यदि आप सिस्को गियर पर हैं, तो मैन्युअल रूप से एक gratuitous ARP भेजना अत्यंत उपयोगी है। मैं मानता हूं कि यह कुछ ऐसा नहीं है जिसे आप अक्सर करते हैं, लेकिन जैसा कि 20 वर्षों से आईटी भी कर रहा है, मैंने खुद को कई स्थितियों में पाया है जहां मुझे ऐसा करने की आवश्यकता थी।
सीन रिफ़्स्चाइडर 19
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.