Вот мой route -n
вывод:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
И если я попытаюсь добавить статический маршрут с помощью этой команды:
route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1
Получаю следующий результат:
SIOCADDRT: No such process
Почему так? Может ли кто-нибудь объяснить мою концепцию добавления статических маршрутов в Linux.
Если у меня также есть route-eth0
файл под /etc/sysconfig/network-scripts/
каталог с этой строкой в нем: 123.123.123.0/24 via 123.123.124.1
, после перезапуска сети никакого эффекта не происходит.
Итак, может ли кто-нибудь дать мне какие-то объяснения, ссылки или что-то подобное, чтобы прочитать об этом?
Спасибо!
ПРИМЕЧАНИЕ. Что я заметил: если я добавил 192.168.50.0
сеть и указывает на шлюз по умолчанию (0.0.0.0), моя команда работает хорошо. Но если у меня его нет, я получил уже упомянутую ОШИБКУ. Итак, вы можете показать мне, что мне нужно делать больше и в чем я ошибаюсь?
P.S. Я своего рода новичок в Linux-сетях.
Маршрут, который вы пытаетесь добавить, является рекурсивным.
route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1
Это означает следующее:
Следующий переход для 192.168.50.0/24 - 192.168.50.1.
Хорошо. Какой следующий переход для 192.168.50.1?
Следующий переход для 192.168.50.0/24 - 192.168.50.1.
> А? Но это невозможно. Затем выводит загадочный
SIOCADDRT: No such process
Это подтверждается вторым добавленным вами маршрутом:
route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.122.x
Ваш шлюз по умолчанию должен находиться в сети 192.168.122.0/24, чтобы он был доступен с вашего компьютера.
Вы можете получить ошибку «SIOCADDRT: No such process», если «вы попытались установить маршрут для сети перед установкой маршрута хоста для шлюза, который обрабатывает трафик для этой сети».
ОТВЕТ: Сначала создайте маршрут к хосту, затем создайте сетевой маршрут.
например для рассматриваемой сети: local -> 192.168.50.1 -> 192.168.50.xx
route add -host 192.168.50.1 dev eth0
route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1
Это помогло мне https://support.symantec.com/en_US/article.TECH142841.html