Bruker ip addr i stedet for ifconfig rapporterer “ RTNETLINK svarer: Filen finnes ” på Debian

Jeg har et Debian-system som fungerer som en trådløs ruter med eth0 og wlan0. Nå la jeg til et ekstra nettverk manuelt på eth1 med ifconfig:

 alix:~# ifconfig eth1 192.168.0.2 netmask 255.255.255.0 alix:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_req=1 ttl=64 time=0.537 ms 64 bytes from 192.168.0.254: icmp_req=2 ttl=64 time=0.199 ms 64 bytes from 192.168.0.254: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms 

Alt fungerer bra som du kan se.

Nå vil jeg gjøre konfigurasjonen permanent. Derfor la jeg til følgende avsnitt i /etc/network/interfaces:

 alix:~# sed -n "/iface eth1/,/^$/p" /etc/network/interfaces iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 

Men når jeg prøver å starte nettverket får jeg følgende feil:

 alix:~# ifconfig eth1 down alix:~# ifup -v eth1 Configuring interface eth1=eth1 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/hostapd ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists Failed to bring up eth1. 

Når jeg kjører ip kommandoen manuelt, får jeg den samme feilen:

 alix:~# ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists 

Hva er galt med kommandoen? Og hvordan kan jeg be Debian om å gjøre det rette?

Svar

Jeg forsto at jeg måtte tømme enheten før bringe det opp:

# ip addr flush dev eth1 

Å fjerne manuelt angitt informasjon om grensesnittkonfigurasjon som dette er nevnt i Ubuntu Server Guide .

Kommentarer

  • Jeg får fremdeles en (litt annen) feil RTNETLINK answers: No such process Failed to bring up eth1 MEN min Eth1 er riktig tildelt nå OG er OPP / OPP.
  • ja, det samme problemet her: RTNETLINK answers: No such process Failed to bring up eth1
  • Selv om svarene dine løser problemet. Det ville være flott om du kunne fortelle hva det faktisk gjør. Hva er denne RTNETLINK-filen som eksisterer?
  • @ceving: kan du forklare hva som er RTNETLINK answers file? Også, etter spyling, tar ikke nettverkskortet mitt en ny ip automatisk, hvordan kan jeg spørre dhcp om en ny ip?
  • En advarsel er at dette tømmer alle omfang, som ikke alltid er det du vil ha. (Jeg fant det ut på den harde måten)

Svar

Bruk ip addr flush vil fungere, men det vil også fjerne alle adresser som er angitt i det grensesnittet – muligens inkludert den du bruker, hvis du er logget på en ekstern maskin. Dette kan låse deg utenfor enheten.

RNETLINK answers: File exists skjer når du prøver å add en regel som er i konflikt med en eksisterende regel. Jeg vil gjette at OP møtte dette fordi de allerede hadde angitt adressen med ifconfig. Denne feilen kan vanligvis løses ved å konvertere add kommandoen til en lignende strukturert change eller replace kommando.

Det er mye tryggere å bruke ip addr change eller ip addr replace i stedet.

Kommentarer

  • Dette er ikke noe alternativ for noen som bare bruker ifup og ifdown , fordi kommandoen er hardt koblet i disse skriptene.
  • @alerone bruker " sudo ip addr endring " vil kast meg denne utgangen. " Ikke nok informasjon: " dev " argument er nødvendig. " Jeg / vi trenger mer info for å bruke ideen din. Det ville vært fint.

Svar

Jeg hadde et lignende problem at da jeg hadde spilt 10 000 penge-scenen var akkurat dette, og jeg hadde prøvd å dd de manglende tingene til / e / n / id / etho

Men når jeg studerte mansiden for grensesnitt, la jeg merke til at ALLE eksempler hadde bare 2 linjer med reelle data, ipv4-adressen / 24 , og en gateway-linje som spesifiserer adressen til ruteren min. Så jeg fjernet eth0-filen min til det, og startet på nytt, og fungerte perfekt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *