Mam system Debian działający jako router bezprzewodowy z eth0
i wlan0
. Teraz ręcznie dodałem dodatkową sieć na eth1
z 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
Jak widzisz, wszystko działa dobrze.
Teraz chciałbym, aby konfiguracja była trwała. Dlatego dodałem następującą sekcję 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 kiedy próbuję uruchomić sieć, otrzymuję następujący błąd:
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.
Po ręcznym uruchomieniu polecenia ip
pojawia się ten sam błąd:
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 jest nie tak z poleceniem? I jak mam powiedzieć Debianowi, żeby zrobił właściwą rzecz?
Odpowiedź
Rozumiem, że wcześniej musiałem opróżnić urządzenie wywołanie tego:
# ip addr flush dev eth1
Usuwanie ręcznie ustawionych informacji o konfiguracji interfejsu, takich jak ta, wspomniano w Podręcznik serwera Ubuntu .
Komentarze
Odpowiedź
Używając ip addr flush
będzie działał, ale usunie również wszystkie adresy ustawione w tym interfejsie – być może łącznie z tym, którego używasz, jeśli zalogowałeś się na zdalnym komputerze. Może to zablokować dostęp do urządzenia.
RNETLINK answers: File exists
ma miejsce, gdy „próbujesz add
regułę, która koliduje z istniejącą regułą. Wydaje mi się, że OP napotkał to, ponieważ ustawił już adres za pomocą ifconfig
. Ten błąd można zwykle rozwiązać, konwertując polecenie add
na podobną strukturę change
lub replace
polecenie.
Znacznie bezpieczniej jest użyć zamiast tego ip addr change
lub ip addr replace
.
Komentarze
- To nie jest opcja dla kogoś, kto używa tylko
ifup
iifdown
, ponieważ polecenie jest wbudowane w te skrypty. - @alerone używając " sudo ip addr change " będzie wyślij mi to wyjście. " Za mało informacji: wymagany jest argument " dev ". " Potrzebujemy więcej informacji, aby wykorzystać Twój pomysł. Byłoby miło.
Odpowiedź
Miałem podobny problem, że zanim odtworzyłem scenę 10 000 pieniędzy, wyglądała dokładnie tak, a próbowałem dd brakujące rzeczy do / e / n / id / etho
Ale studiując stronę podręcznika dla interfejsów, zauważyłem, że WSZYSTKIE zestawienie przykładów zawierało tylko 2 wiersze rzeczywistych danych, adres ipv4 / 24 i linię bramy określającą adres mojego routera. Więc zmniejszyłem swój plik eth0 do tego, zrestartowałem i działałem idealnie.
RTNETLINK answers: No such process Failed to bring up eth1
ALE mój Eth1 jest teraz poprawnie przypisany ORAZ jest W GÓRĘ / W GÓRĘ.RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
? Poza tym po opróżnieniu moja karta sieciowa nie pobiera automatycznie nowego adresu IP, jak poprosić dhcp o nowy adres IP?