у меня ситуация, когда
route add
не работает, но если я добавлю это как статическую запись в sysconfig / network-scripts / route-eth0
это работает
Детали сети:
IPADDR=198.x.x.1
NETMASK=255.255.255.255
BROADCAST=198.x.x.1
если я добавлю статический маршрут, используя
route add default gw 192.x.x.254
он возвращается SIOCADDRT: такого процесса нет
подобный
ping 192.x.x.254
подключиться: сеть недоступна
как ни странно, если я добавлю его как статическую запись в route-eth0
route add 192.x.x.254 dev eth0
route add default gw 192.x.x.254
все работает, я вижу gw по умолчанию в маршрут -n и пинг тоже работает
Так в чем же здесь разница?
IPADDR = 198.x.x.1
NETMASK = 255.255.255.255
ТРАНСЛЯЦИЯ = 198.x.x.1
Я предполагаю, что ваш IP-адрес должен был быть 192.xx1 (но объяснение будет справедливо также для 198.xx1), поэтому вы создаете подсеть с расширением 0 бит (192.xx1 / 32), что означает, что это ограничивает взгляд на себя
если я добавлю статический маршрут, используя
маршрут добавить по умолчанию gw 192.x.x.254
здесь вы добавляете шлюз за пределами вашей подсети, поэтому вы получаете ошибку:
он возвращает SIOCADDRT: Нет такого процесса
для того же резонанса вы не можете пинговать ни один IP, кроме вашего (192.x.x.1)
маршрут добавить 192.x.x.254 dev eth0
маршрут добавить по умолчанию gw 192.x.x.254
здесь вы добавляете в свой интерфейс eth0 маршрут к хосту 192.x.x.254, и ваша подсеть (единственный ip 192.x.x.1) знает, где найти 192.x.x.254, следовательно, когда вы добавляете его в качестве шлюза, все работает. В предыдущей конфигурации вы не могли узнать, где находится 192.x.x.254.
Вы не можете добавить этот маршрут, потому что этот шлюз по умолчанию находится в другой подсети и поэтому недоступен.
От человека маршрут:
gw GW route packets via a gateway. NOTE: The specified gateway must be reachable first. This usually means that you have to set up a static route to the gateway beforehand. If you specify the address of one of your local interfaces, it will be used to decide about the interface to which the packets should be routed to. This is a BSDism compatibility hack.