objectif
Mettre en place un policy routing par application/port (ex: sortir par une autre gateway).
code minimal
# marquer les paquets sortant du user 'vpnapp' avec mark 0x1
sudo iptables -t mangle -A OUTPUT -m owner --uid-owner vpnapp -j MARK --set-mark 0x1
# règle de routage pour la marque 0x1
echo '100 vpnroute' | sudo tee -a /etc/iproute2/rt_tables >/dev/null
sudo ip rule add fwmark 0x1 table vpnroute
sudo ip route add default via 10.8.0.1 dev tun0 table vpnroute
utilisation
# vérifier
ip rule show
ip route show table vpnroute
variante(s) utile(s)
# nftables équivalent (marquage)
sudo nft add rule inet mangle output meta skuid vpnapp meta mark set 0x1
notes
- la marque est un champ interne au noyau (fwmark).
- assurez-vous que la table existe dans
rt_tables.