У меня есть несколько VPN-подключений, которые используют один и тот же IP-адрес шлюза (у меня нет возможности изменить это, поскольку это вне моего контроля). Все эти VPN предоставляют доступ к разным сетям, и сети находятся как минимум в одном или двух переходах в восходящем направлении, поэтому во всех случаях требуется IP-адрес шлюза. С помощью Linux для маршрутизации в сети я могу просто сделать:
ip route add $destination_1 via $gateway_ip dev $interface_1
ip route add $destination_2 via $gateway_ip dev $interface_2
ip route add $destination_3 via $gateway_ip dev $interface_3
и т.п.
Затем Linux поместит трафик для каждой сети назначения на правильные интерфейсы, направляясь к правильному шлюзу, поэтому не имеет значения, что IP-адрес шлюза одинаков для каждого интерфейса.
У меня вопрос, как я могу добиться этого в OpenBSD? Я пытался и потерпел неудачу. Мои выводы заключаются в том, что для определенного места назначения я могу либо:
- указать интерфейс (если пункт назначения напрямую доступен по этой ссылке - чего нет в моем случае)
- укажите IP-адрес шлюза, поскольку адресат не находится непосредственно на линии связи
Но я не могу понять, как определить оба.
-T
опции route
и определения таблицы маршрутизации для каждого пункта назначения? Я думаю, что это обеспечивает лучшую "изоляцию" для правил интерфейса.