Ik heb een Debian-systeem dat werkt als een draadloze router met eth0
en wlan0
. Nu heb ik handmatig een extra netwerk toegevoegd op eth1
met 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
Alles werkt prima, zoals je kunt zien.
Nu wil ik de configuratie permanent maken. Daarom heb ik de volgende sectie toegevoegd aan /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
Maar als ik probeer het netwerk te starten, krijg ik de volgende foutmelding:
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.
Wanneer ik de ip
-opdracht handmatig uitvoer, krijg ik dezelfde foutmelding:
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
Wat is er mis met het commando? En hoe kan ik Debian vertellen het juiste te doen?
Antwoord
Ik heb begrepen dat ik het apparaat eerder moest doorspoelen het ter sprake brengen:
# ip addr flush dev eth1
Het wissen van handmatig ingestelde interfaceconfiguratie-informatie zoals deze wordt genoemd in de Ubuntu-serverhandleiding .
Reacties
Antwoord
Met ip addr flush
zal werken, maar het zal ook alle adressen wissen die op die interface zijn ingesteld – mogelijk inclusief degene die je gebruikt, als je bent ingelogd op een externe machine. Dit kan je de toegang tot je apparaat blokkeren.
RNETLINK answers: File exists
gebeurt wanneer u “probeert een add
regel te proberen die in strijd is met een bestaande regel. Ik vermoed dat OP dit tegenkwam omdat ze het adres al hadden ingesteld met ifconfig
. Deze fout kan meestal worden opgelost door de add
-opdracht te converteren naar een vergelijkbaar gestructureerde change
of replace
commando.
Het is veel veiliger om in plaats daarvan ip addr change
of ip addr replace
te gebruiken.
Opmerkingen
- Dit is geen optie voor iemand die alleen
ifup
enifdown
gebruikt , omdat het commando vast zit in die scripts. - @alerone met " sudo ip addr change " zal geef me deze uitvoer. " Niet genoeg informatie: " dev " argument is vereist. " Ik / We hebben meer informatie nodig om je idee te gebruiken. Het zou leuk zijn.
Antwoord
Ik had een soortgelijk probleem dat tegen de tijd dat ik de scène van 10.000 gulden speelde, precies dit was, en ik had geprobeerd een dd de ontbrekende dingen naar / e / n / id / etho
Maar toen ik de man-pagina voor interfaces bestudeerde, merkte ik op dat ALLE voorbeelden slechts 2 regels echte gegevens hadden, het ipv4-adres / 24 , en een gateway-lijn die het adres van mijn router specificeert. Dus ik heb mijn eth0-bestand tot dat punt gestript, en opnieuw opgestart, en werkte perfect.
RTNETLINK answers: No such process Failed to bring up eth1
MAAR mijn Eth1 is nu correct toegewezen EN is UP / UP.RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
? Ook, na het doorspoelen, neemt mijn netwerkkaart niet automatisch een nieuw IP-adres. Hoe kan ik dhcp een nieuw IP-adres vragen?