Собственно в теме весь вопрос.
По данной теме нашел еще два треда:
Default gateway в другой сети,
Default gateway в другой сети.
Прошу понять правильно. В другой ситуации я и сам бы ответил на подобный вопрос, что это не возможно. Но, к сожалению, встретился с подобной ситуацией, хотя и с некоторой оговоркой:
Вводная:
Имеется VPS у одного немецкого провайдера.
Для виртуалки выделен ip:
address 194.28.XXX.YYY/32
broadcast 255.255.255.255
gateway 10.0.0.1
Вот тут то собственно и вопрос, как указать шлюз из другой подсети?
Если указать командой:
ip r add default via 10.0.0.1
то получим ошибку.
Если присвоить интерфейсу ip адрес, например 10.0.0.99/24
, а потом назначить default-маршрут, то маршрут применится, но от этого интернет не появится, так как отправителем пакетов будет выступать 10.0.0.99/24
, а шлюз ожидает пакеты от 194.28.XXX.YYY/32
.
Пока делаю так:
/sbin/ip a add 10.0.0.99/24 dev ens1 && \
/sbin/ip r add default via 10.0.0.1 dev ens1 && \
/sbin/ip a delete 10.0.0.99/24 dev ens1
После удаления «временного» ip, интернет начинает работать на виртуалке.
Но всё же я уверен, должен быть какой то способ без костыля. Только вот какой? Может быть кто-нибудь знает? Вдруг у утилиты «ip» есть некий параметр, который принудительно присвоит сетевому интерфейсу маршрут без промежуточного присвоения «левого» ip?