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
ifup
aifdown
, 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 eth1
ALE můj Eth1 je nyní správně přiřazen A je UP / UP.RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
? Také po vypláchnutí moje síťová karta automaticky nepřijímá nový ip, jak požádat dhcp o nový ip?