Назад | Перейти на главную страницу

Debian Невозможно добавить статический маршрут: SIOADDRT: Сеть недоступна

Я пытался решить эту проблему самостоятельно, но это почти невозможно ... Дело в том, что у меня есть компьютеры в одной сети, на одном из которых работает Windows (192.168.61.100), а на другом - Debian (192.168. 61.200). Я добавил статический маршрут к тому, на котором запущен W (route add -p 192.168.0.0 mask 255.255.255.0 192.168.60.254), и я отлично могу пинговать ПК с IP-адресом 192.168.0.170 и наоборот с 192.168.61.100. Проблема возникает, когда я пытаюсь добавить тот же статический маршрут к тому, на котором запущен Debian, когда я пытаюсь это сделать, я получаю: root @ satv: / home / satv # route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.60.254 SIOCADDRT: Сеть недоступна Вот несколько полезных вещей:

ifconfig

eth0      Link encap:Ethernet  HWaddr 1c:1b:0d:c0:a8:89  
          inet addr:192.168.61.200  Bcast:192.168.61.255  Mask:255.255.255.0
          inet6 addr: fe80::1e1b:dff:fec0:a889/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2965 errors:0 dropped:165 overruns:0 frame:0
          TX packets:1389 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:234251 (228.7 KiB)  TX bytes:131929 (128.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:172 (172.0 B)  TX bytes:172 (172.0 B)

маршрут -n

Kernel IP routing table Destination     Gateway         Genmask        Flags Metric Ref    Use Iface
0.0.0.0         192.168.61.254  0.0.0.0         UG    0      0        0 eth0
192.168.61.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

список IP-маршрутов

default via 192.168.61.254 dev eth0 
192.168.61.0/24 dev eth0  proto kernel  scope link  src 192.168.61.200 

netstat -anr

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.61.254  0.0.0.0         UG        0 0          0 eth0
192.168.61.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

Очевидно, мне нужно пинговать 192.168.0.170 с 192.168.61.200 и наоборот. Кто-нибудь может помочь мне ??? Я работал над этим несколько дней и очень отчаялся ... Заранее большое спасибо.

Следующий прыжок, который вы пытаетесь добавить в маршрут, находится не в той же подсети, что и компьютер, на котором вы пытаетесь настроить маршрут.

То есть, 192.168.61.200 маска сети 255.255.255.0 охватывает только адреса из 192.168.61.1 к 192.168.61.254, и вы должны использовать адрес в этой сети для следующего перехода.

Возможно, ваш компьютер с Windows имеет другую сетевую маску, которая также покрывает 192.168.16.0/24 сеть.

Что-то немного странное в ваших маршрутах, и похоже, что это именно то, что отражает сообщение об ошибке.

Т.е. я бы подумал, что SIOCADDRT: Network is unreachable конкретно об адресе шлюза и о том, что нет маршрута (локальной ссылки), который может достичь этого адреса.

Действительно ли сеть должна быть /23 (192.168.60.0/23, т.е. 192.168.60.0-192.168.61.255), а не настроенный /24? Или почему машины в 192.168.61.0/24 предполагается использовать что-то вне своей сети в качестве адреса шлюза?

Вы вполне можете заставить route или ip route делать то же самое, что и Windows route по-видимому, предполагал, что у них действительно одна и та же сетевая маска (неявно притвориться, что существует маршрут, говорящий, что 192.168.61.254 является локальной ссылкой), или, если нет, просто сначала добавьте этот маршрут, но мне кажется, что вы можете решить более фундаментальные странность прямо.