Mám systém Debian fungující jako bezdrátový router s eth0 a wlan0. Nyní jsem ručně přidal další síť na eth1 pomocí 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
Všechno funguje dobře, jak vidíte.
Nyní bych chtěl nastavit konfiguraci natrvalo. Proto jsem přidal následující sekci do /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
Ale když se pokusím spustit síť, dostanu následující chyba:
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.
Když ručně spustím příkaz ip, zobrazí se stejná chyba:
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
Co se stalo s příkazem? A jak mohu říct Debianu, aby udělal správnou věc?
Odpovědět
Pochopil jsem, že jsem předtím musel zařízení propláchnout vyvolání:
# ip addr flush dev eth1
Vymazání ručně nastavených konfiguračních informací rozhraní je zmíněno v Průvodce serverem Ubuntu .
Komentáře
Odpovědět
Pomocí ip addr flush bude fungovat, ale také vymaže všechny adresy nastavené v tomto rozhraní – případně včetně adresy, kterou používáte, pokud jste přihlášeni ke vzdálenému počítači. To vás může zablokovat mimo vaše zařízení.
RNETLINK answers: File exists se stane, když se pokoušíte add pravidlo, které je v rozporu s existujícím pravidlem. Hádal bych, že OP s tím naráží, protože už nastavili adresu pomocí ifconfig. Tuto chybu lze obvykle vyřešit převedením příkazu add na podobně strukturovaný change nebo replace příkaz.
Je mnohem bezpečnější použít místo toho ip addr change nebo ip addr replace.
Komentáře
- Toto není možnost, aby někdo používal pouze
ifupaifdown, protože příkaz je v těchto skriptech pevně zapojen. - @alerone pomocí " sudo ip addr change " bude hodte mi tento výstup. " Není dostatek informací: je vyžadován argument " dev ". " I / Potřebujeme více informací, abychom mohli použít váš nápad. Bylo by to hezké.
Odpovědět
Měl jsem podobný problém, že v době, kdy jsem hrál scénu s 10 000 penězi, byl přesně tento, a snažil jsem se dd chybějící věci do / e / n / id / etho
Ale když jsem studoval manuálovou stránku pro rozhraní, všiml jsem si, že VŠECHNY soubory příkladů měly pouze 2 řádky skutečných dat, adresu ipv4 / 24 a linka brány specifikující adresu mého routeru. Takže jsem svlékl svůj soubor eth0 a restartoval a fungoval perfektně.
RTNETLINK answers: No such process Failed to bring up eth1ALE můj Eth1 je nyní správně přiřazen A je UP / UP.RTNETLINK answers: No such process Failed to bring up eth1RTNETLINK answers file? Také po vypláchnutí moje síťová karta automaticky nepřijímá nový ip, jak požádat dhcp o nový ip?