Здравствуйте.
Есть сервер с неколькими сетевыми интерфейсами (вланы), «смотрящими» на нескольких аплинков, плюс влан для локалки. С каждым аплинком поднята bgp сессия. Анонсится свой блок (9.9.9.0/22), принимаются fullview без default gateway.
vlan100 - аплинк 1 - мой адрес в блоке аплинка 1.1.1.2/30
vlan200 - аплинк 2 - мой адрес в блоке аплинка 2.2.2.2/30
vlan300 - аплинк 3 - мой адрес в блоке аплинка 3.3.3.2/30
vlan999 - моя сетка - мой адрес 9.9.9.1/22
Исходящий трафик с этого сервера (OUTPUT) уходит в соответствии со сформированной таблицей маршрутизации. В зависимости от того, маршрут какого аплинка признан «лучшим», используется адрес из блока этого аплинка.
Допустим, маршрут для блока 111.111.111.0/24 является лучшим у аплинка 1, а маршрут для блока 222.222.222.0/24 является лучшим у аплинка 2. Тогда пинг на адрес 111.111.111.111 по умолчанию запустится с адреса 1.1.1.2, а пинг на адрес 222.222.222.222 по умолчанию запустится с адреса 2.2.2.2. Всё правильно.
Только есть одна проблема. У одного из аплинков адрес выдан из немаршрутизируемого блока. И мне нужно, чтобы трафик на аплинков уходил не с адреса аплинка, а с моего адреса.
Если я запускаю ping или, например, wget - я могу указать, с какого адреса отправлять пакеты. Но не все утилиты позволяют указать исходящий адрес.
Как мне сделать так, чтобы все исходящие пакеты (кроме bgp трафика) уходили с адреса 9.9.9.1?