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

Linux - как установить маршрут по умолчанию с 0.0.0.0 в качестве шлюза

У меня проблема, когда мне нужно вручную настроить маршрут в Ubuntu 18.04 во время процесса init (ram). Я не могу использовать какие-либо новые сетевые инструменты, доступен только Busybox.

Таблица маршрутизации должна выглядеть так:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.1.1      0.0.0.0         UG    100    0        0 ens3
172.31.1.1      0.0.0.0         255.255.255.255 UH    100    0        0 ens3

Хост - это VPS с IP-адресом 95.xx.xx.xx, поэтому IP-адрес шлюза не находится в той же сети. Я не могу понять, с помощью какой команды построить приведенную выше таблицу. Я получаю разные SIOCADDDRT ошибки со всем, что я пробую.

Вот что я пробовал до сих пор:

> route add default gw 172.31.1.1
SIOCADDDRT: Network uncreachable
> route add default gw 172.31.1.1 via 0.0.0.0 
..invalid format
> route add 172.31.1.1 gw 0.0.0.0
SIOCADDDRT: Invalid argument
> route add 0.0.0.0 gw 172.31.1.1
SIOCADDDRT: Network uncreachable
> route add default gw 0.0.0.0
SIOCADDDRT: Invalid argument

Есть ли способ заставить это работать с Busybox? Или любым другим способом сделать это внутри initram?

На желаемом выходе в флагах «G» указывает шлюз, а «H» представляет хост. Следовательно, для 0.0.0.0 вывод, который вы пытаетесь создать для маршрута, на самом деле не используется.

Чтобы добавить IP-адрес хоста к интерфейсу, который будет генерировать тот же вывод:

ip addr add 172.31.1.1/32 dev ens3