Я пытался решить эту проблему самостоятельно, но это почти невозможно ... Дело в том, что у меня есть компьютеры в одной сети, на одном из которых работает 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 является локальной ссылкой), или, если нет, просто сначала добавьте этот маршрут, но мне кажется, что вы можете решить более фундаментальные странность прямо.