Ho un sistema Debian che funziona come router wireless con eth0
e wlan0
. Ora ho aggiunto manualmente una rete aggiuntiva su eth1
con 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
Funziona tutto bene come puoi vedere.
Ora vorrei rendere permanente la configurazione. Pertanto ho aggiunto la seguente sezione a /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
Ma quando provo ad avviare la rete ottengo il seguente errore:
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.
Quando eseguo manualmente il comando ip
ottengo lo stesso errore:
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
Cosa cè di sbagliato nel comando? E come posso dire a Debian di fare la cosa giusta?
Risposta
Ho capito che dovevo prima svuotare il dispositivo sollevandolo:
# ip addr flush dev eth1
La cancellazione delle informazioni di configurazione dellinterfaccia impostate manualmente in questo modo è menzionata nel Guida al server Ubuntu .
Commenti
Rispondi
Utilizzando ip addr flush
funzionerà, ma cancellerà anche tutti gli indirizzi impostati su quellinterfaccia, possibilmente compreso quello che stai utilizzando, se sei connesso a una macchina remota. Questo potrebbe bloccarti dal tuo dispositivo.
RNETLINK answers: File exists
si verifica quando “stai tentando di add
una regola che è in conflitto con una regola esistente. Immagino che OP lo abbia riscontrato perché aveva già impostato lindirizzo con ifconfig
. Questo errore di solito può essere risolto convertendo il comando add
in un change
o replace
comando.
È molto più sicuro utilizzare ip addr change
o ip addr replace
.
Commenti
- Questa non è unopzione per qualcuno che utilizza solo
ifup
eifdown
, perché il comando è cablato in questi script. - @alerone utilizzando " sudo ip addr change " lanciami questo output. " Informazioni insufficienti: è richiesto largomento " dev ". " Ho / abbiamo bisogno di più informazioni per utilizzare la tua idea. Sarebbe carino.
Risposta
Ho avuto un problema simile che nel momento in cui ho riprodotto la scena dei 10.000 soldi era esattamente questa, e stavo cercando di aggiungi il materiale mancante a / e / n / id / etho
Ma studiando la pagina man per le interfacce, ho notato che TUTTO il set di esempi aveva solo 2 righe di dati reali, lindirizzo ipv4 / 24 e una linea gateway che specifica lindirizzo del mio router. Quindi ho ridotto il mio file eth0 a quello, ho riavviato e ha funzionato perfettamente.
RTNETLINK answers: No such process Failed to bring up eth1
MA il mio Eth1 è assegnato correttamente ora E è SU / SU.RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
? Inoltre, dopo lo svuotamento, la mia scheda di rete non prende automaticamente un nuovo ip, come chiedere a dhcp un nuovo ip?