Nie można dodać trasy statycznej: SIOADDRT: Sieć jest nieosiągalna

15

Walę głową w ścianę od kilku dni, próbując to rozgryźć: Mój ifconfig to:

eth0      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
          inet addr:192.168.36.132  Bcast:192.168.37.255  Mask:255.255.254.0

eth1      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
          inet addr:116.xx.xx.xx    Bcast:116.xx.xx.xx    Mask:255.255.255.192

Kiedy próbuję dodać trasę statyczną, aby wyjść z eth0, pojawia się następujący błąd:

servername-test:/ # route add -net 10.248.12.0 netmask 255.255.255.240 gw 192.168.36.254 dev eth0 
SIOCADDRT: Network is unreachable

Moja domyślna brama to:

servername-test:~ # netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
116.xx.xx.xx    0.0.0.0         255.255.255.192 U         0 0          0 eth1
192.168.238.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.239.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         116.xx.xx.xx    0.0.0.0         UG        0 0          0 eth1

ip route list wynik

116.66.240.64/26 dev eth1 proto kernel scope link src 116.xx.xx.xx 
192.168.238.0/24 via 192.168.36.254 dev eth0 
192.168.239.0/24 via 192.168.36.254 dev eth0 
192.168.36.0/23 via 192.168.36.254 dev eth0
169.254.0.0/16 dev eth0 scope link 
127.0.0.0/8 dev lo scope link 
default via 116.xx.xx.xx dev eth1
AnonPoster
źródło
Czy możesz dodać wynik /sbin/ip addri /sbin/ip route? Są one bardziej przydatne do debugowania niż ifconfig i netstat.
daff
droga ip:116.66.240.64/26 dev eth1 proto kernel scope link src 116.xx.xx.xx 192.168.238.0/24 via 192.168.36.254 dev eth0 192.168.239.0/24 via 192.168.36.254 dev eth0 192.168.36.0/23 via 192.168.36.254 dev eth0 169.254.0.0/16 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 116.xx.xx.xx dev eth1
AnonPoster
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.36.132/23 brd 192.168.37.255 scope global eth0 inet6 fe80::xxx:xxx:xxx:xxx/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 116.xx.xx.xx/26 brd 116.xx.xx.xx scope global eth1 inet6 fe80::xxx:xxx:xxx:xxx/64 scope link valid_lft forever preferred_lft forever
AnonPoster
Miałem na myśli, edytuj swój oryginalny post i dołącz informacje, o które prosiłem. Wklejenie tego wyniku do komentarzy czyni go całkowicie nieczytelnym.
daff
napotkałem ten sam problem z moimi serwerami HPUX podczas dodawania domyślnej trasy, ponieważ nie mogłem uzyskać dostępu do serwerów, które są dostępne poza moją siecią. więc mam poprawną komendę, aby dodać domyślną i sprawdzić tabelę routingu w hpux tutaj też możesz spróbować, mam nadzieję, że może to również pomóc w rozwiązaniu twojego problemu :)

Odpowiedzi:

16

Nie zadeklarowałeś 192.168.36.0/23link lokalnie, mimo że masz do niego przypisany adres, żadna trasa link lokalna nie jest wyświetlana na twoich trasach.

192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
192.168.36.0/23 via 192.168.36.254 dev eth0

Zamiast tego jego deklaracja 192.168.36.0/23powinna zostać przekazana do bramki, 192.168.36.254która technicznie zgodnie z resztą tabeli routingu nie wydaje się być sąsiadem (jądro nie ma pojęcia, jak się dostać 192.168.36.254).

Brama nie powinna być przypisana, 192.168.36.0/23ponieważ zgodnie z twoim adresem IP 192.168.36.132/23prawdopodobnie ma to być zasięg lokalny dla łącza (sąsiedzi bezpośrednio reagują przez ARP).

Zamiast tego powinieneś mieć taki wpis:

192.168.36.0    0.0.0.0  255.255.254.0   U        0 0          0 eth0
192.168.36.0/23 dev eth0 scope link

Aby to naprawić, musisz usunąć deklarację bramy 192.168.36.0/23i zastąpić ją wpisem, takim jak:

ip route add 192.168.36.0/23 dev eth0
Matthew Ife
źródło
To jest problem! Nie wiem jednak, co to powoduje. Gdzieś na tym serwerze adres IP jest zadeklarowany jako nieprawidłowy, chociaż nie widzę gdzie.
AnonPoster
0

Jeśli tak, zapomnij o wierszu poleceń, po prostu dodaj bezpośrednio wpis pliku Ethernet i „uruchom ponownie sieć serwisową”. To działa! Czuję się głupio komputerowo, ponieważ najpierw mnie to zirytowało - wtedy ta sama trasa działa idealnie, jednocześnie dodając mocno do pliku.

Gyaneshwor Pokhrel
źródło