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?

0
задан 14 September 2018 в 07:00
1 ответ

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

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

ip addr add 172.31.1.1/32 dev ens3
2
ответ дан 4 December 2019 в 13:24

Теги

Похожие вопросы