Почему подставляет неправильный source ip при использовании policy-routing? Пытаюсь пустить трафик конкретного пользователя мимо VPN таким способом:Помечаюiptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-xmark 0xaaaСоздаю правилоip rule add fwmark 0xaaa table torrentНаполняю таблицу маршрутизацииip route add default via 192.168.0.1 dev enp2s0 src 192.168.0.125 table torrent ip route add 192.168.0.0/24 dev enp2s0 table torrent И всё вроде должно работать, трафик не уходит в tun0, но пакеты почему-то идут с src ip от VPN. Где я ошибся, что не учёл, подскажите, пожалуйста?
Когда вы используете policy-routing в Linux, то пакеты уходят с IP-адресом интерфейса, который указан в таблице маршрутизации. В вашем случае, пакеты уходят с IP-адресом, который привязан к интерфейсу tun0, который является VPN интерфейсом.
Чтобы пакеты уходили с нужным вам IP-адресом (192.168.0.125), вам нужно использовать параметр "src" при добавлении правила маршрутизации:
ip route add default via 192.168.0.1 dev enp2s0 src 192.168.0.125 table torrent
Таким образом, пакеты будут уходить с IP-адресом 192.168.0.125, как вы указали в вашем вопросе.
Когда вы используете policy-routing в Linux, то пакеты уходят с IP-адресом интерфейса, который указан в таблице маршрутизации. В вашем случае, пакеты уходят с IP-адресом, который привязан к интерфейсу tun0, который является VPN интерфейсом.
Чтобы пакеты уходили с нужным вам IP-адресом (192.168.0.125), вам нужно использовать параметр "src" при добавлении правила маршрутизации:
ip route add default via 192.168.0.1 dev enp2s0 src 192.168.0.125 table torrentТаким образом, пакеты будут уходить с IP-адресом 192.168.0.125, как вы указали в вашем вопросе.