Разный набор маршрутов реализуется только с ip rule. Управлять маршрутизацией можно не только на основе src ip, но и на fwmark. Сам fwmark назначается в правилах iptables HN (из VE ничего, кроме TOS передать не получится).
Для установки и удаления правил используйте скрипты /etc/vz/${VEID}.start и /etc/vz/${VEID}.stop.
Предварительная конфигурация:
# Создать правила маршрутизации.
ip rule add fwmark 100 prio 100 table 100
ip rule add fwmark 101 prio 101 table 101
# Заполнить таблицы маршрутизации 100 и 101.
# .....
# Создать цепочку iptables.
iptables -t mangle -N ve_route_select
iptables -t mangle -A PREROUTING -i venet0 -j ve_route_select
Команды для скриптов конфигурации VE:
# Добавление правила для VE.
iptables -t mangle -A ve_route_select -s ${IP_ADDRESS} -j MARK --set-mark 100
# Удаление правила для VE.
iptables -t mangle -D ve_route_select -s ${IP_ADDRESS} -j MARK --set-mark 100