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

ip route add - RTNETLINK отвечает: Файл существует

В коробке с Linux есть 2 интерфейса:

Bond0: inet addr:170.242.57.113  Bcast:170.242.57.255  Mask:255.255.255.0
Eth4    : inet addr:172.21.136.124  Bcast:172.21.137.255  Mask:255.255.254.0

Поскольку eth4 находится в другой сети, я хочу настроить новый маршрут, поэтому

used route-eth4
ADDRESS0=172.21.136.0
NETMASK0=255.255.254.0
GATEWAY0=172.21.137.251

Но это не удалось, просмотрел ifup и выяснил, что / etc / sysconfig / network-scripts / ifup-routes был сценарием, настраивающим маршрутизацию, выполнив следующую команду

ip route  add 172.21.136.0/23 via 172.21.137.251 dev eth4
RTNETLINK answers: File exists

Похоже, маршрут для / 23 добавить нельзя

Но работает, если я делаю это с 2/24

ip route  add 172.21.136.0/24 via 172.21.137.251 dev eth4
ip route  add 172.21.137.0/24 via 172.21.137.251 dev eth4
netstat –nr

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irttIface
172.21.137.0    172.21.137.251  255.255.255.0   UG        0 0          0 eth4
172.21.136.0    172.21.137.251  255.255.255.0   UG        0 0          0 eth4
170.242.57.0    0.0.0.0         255.255.255.0   U         0 0          0 bond0
172.21.136.0    0.0.0.0         255.255.254.0   U         0 0          0 eth4
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth4
0.0.0.0         170.242.57.251  0.0.0.0         UG        0 0          0 bond0

Он работает нормально, и я не понимаю, почему он не работает для / 23

Address:   172.21.136.124        10101100.00010101.1000100 0.01111100
Netmask:   255.255.254.0 = 23    11111111.11111111.1111111 0.00000000
Wildcard:  0.0.1.255             00000000.00000000.0000000 1.11111111
=>
Network:   172.21.136.0/23       10101100.00010101.1000100 0.00000000 (Class B)
Broadcast: 172.21.137.255        10101100.00010101.1000100 1.11111111
HostMin:   172.21.136.1          10101100.00010101.1000100 0.00000001
HostMax:   172.21.137.254        10101100.00010101.1000100 1.11111110
Hosts/Net: 510                   (Private Internet)

Любая идея?

Он работает нормально, и я не понимаю, почему он не работает для / 23

Потому что это уже есть - вот что RTNETLINK answers: File exists говорит вам.

ваш вывод netstat -rt содержит этот маршрут:

172.21.136.0    0.0.0.0         255.255.254.0   U         0 0          0 eth4

что противоречит ip route add 172.21.136.0/23 via 172.21.137.251 dev eth4.

/ 23 уже находится в вашей таблице ...

netstat -nr

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.21.137.0    172.21.137.251  255.255.255.0   UG        0 0          0 eth4
172.21.136.0    172.21.137.251  255.255.255.0   UG        0 0          0 eth4
170.242.57.0    0.0.0.0         255.255.255.0   U         0 0          0 bond0
172.21.136.0    0.0.0.0         255.255.254.0   U         0 0          0 eth4 <----------
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth4
0.0.0.0         170.242.57.251  0.0.0.0         UG        0 0          0 bond0

Также имейте в виду, что ip route add 172.21.136.0/23 via 172.21.137.251 dev eth4 немного бессмысленно, так как 172.21.137.251 - это в 172.21.136.0/23