"RTNETLINK उत्तर: फ़ाइल मौजूद है" / etc / नेटवर्क / इंटरफेस क्या 2 गेटवे नहीं हैं, तो क्या गलत है?


14

यह मेरी /etc/network/interfacesफ़ाइल सामग्री है

एकमात्र तरीका यह प्रभावी हो रहा है जब सिस्टम रिबूट होता है।

मैं इसे मैन्युअल रूप से प्रभावित करने की कोशिश कर रहा हूं। नीचे मेरा प्रयास

auto eth0
    iface eth0 inet static
           address 192.168.1.57
           netmask 255.255.255.0
           gateway 192.168.1.1
           up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
           down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
           up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
           down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

पहले दौड़ने की कोशिश की sudo ifup eth0

और मुझे प्राप्त है

RTNETLINK answers: File exists
Failed to bring up eth0.

/etc/network/interfacesकेवल काम जब मैं सिस्टम को रीबूट

इसके अलावा मैंने कोशिश की है

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

लेकिन उनमें से कोई भी interfacesफाइल में बदलाव नहीं लाएगा

मेरा एकमात्र विकल्प था sudo ifup eth0और वह उपरोक्त त्रुटि देता है।

गलत क्या है?

जवाबों:


8

ifaceश्लोक से पहले रिक्त स्थान को हटाने के लिए अपनी कॉन्फ़िगरेशन फ़ाइल को संपादित करें ताकि यह इस तरह दिखाई दे,

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

आपको प्राप्त होने वाला संदेश केवल संकेत है कि इंटरफ़ेस पहले से ही ऊपर है, इसलिए आपको ऐसा करने ifdownसे पहले करने की आवश्यकता है ifup। हालांकि, आपको सावधान रहने की जरूरत है यदि आप ssh के माध्यम से जुड़ रहे हैं - तो आप अपने आप को लॉक कर सकते हैं। यह इसे करने का एक तरीका है:

sudo ifdown eth0 && sudo ifup eth0

ध्यान दें, इन दोनों कमांड को एक ही लाइन पर कैसे निष्पादित किया जाता है। और बस एक सावधानी बरतें, सुनिश्चित करें कि आप सर्वर कंसोल तक पहुंच प्राप्त कर सकते हैं या कुछ गलत होने पर सर्वर को रिबूट कर सकते हैं।


3
चल sudo ifdown eth0देता है ifdown: interface eth0 not configuredऔर sudo ifdown eth0 && ifup eth0 चल ही देता है
वोल्फगैंग

1
@wolfgang, ifaceअपनी /etc/network/interfacesफ़ाइल में श्लोक से पहले रिक्त स्थान हटाने का प्रयास करें और ifdown/ifupफिर से करें।
dtoubelis

यह काम किया! इससे पहले ifaceकि इतनी बड़ी डील बनेगी, उससे उम्मीद नहीं थी । क्या आप इसे अपने उत्तर में संपादित कर सकते हैं ताकि यह किसी की मदद कर सके? और sudoपहले होना चाहिए ifup-> sudo ifdown eth0 && sudo ifup eth0अन्यथा मुझे कुछ permission deniedत्रुटि मिलती है
वुल्फगैंग

1

यदि आप वांछित नैतिकता नहीं देखते हैं, तो eth (n) = eth (0) जोड़कर / रन / नेटवर्क / ifstate देखने और इसे संशोधित करने का प्रयास करें।

उदाहरण के लिए:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

उसके बाद कमांड sudo ifdown eth (n) और उसके बाद sudo ifup eth (n) का उपयोग करें।


1

यहाँ समाप्त होने वाले किसी अन्य व्यक्ति के लिए, मुझे सभी इंटरफेस और पुलों को बंद करना था और फिर RTNETLINK त्रुटि से पहले मॉड्यूल को उतारना होगा।

ifconfig eth0 down
ifconfig br0 down
rmmod e1000e              # or whatever module your nic uses
modprobe e1000e
service networking start

या सिर्फ रिबूट।


0

मैं बस इस समस्या में भाग गया और ऊपर दिए गए किसी भी समाधान ने मेरे लिए काम नहीं किया। मैं बदल नहीं सकता /run/network/ifstateथा क्योंकि यह पूर्व स्थिति में तुरंत रीसेट हो गया था। इसके अलावा sudo ifdown eth0 && sudo ifup eth0काम नहीं किया।

मुझे तब निम्न कमांड का पता चला:

sudo ip addr flush dev eth0

जिससे समस्या हल हो गई।

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