Ceci peut être réalisé en utilisant iptables mangle. Vos tables de routage sont correctes, vous devez juste ajouter quelques règles pour exclure/inclure le trafic spécifique.
Dans votre cas, ce serait quelque chose comme ceci pour SSH :
ip rule add fwmark 2 table 100
ip route flush cache
iptables -t mangle -A OUTPUT -p tcp --dport 22 -j MARK --set-mark 2
iptables -t nat -A POSTROUTING -o ethX -j SNAT --to-source z.z.z.z
^ ^
your public interface your public IP
Ce sera :
- placez fwmark 2 dans votre table de routage 100
- vider le cache de routage pour éviter les interférences
- définir la marque 2 pour tous les paquets vers le port de destination 22 (SSH)
- SNAT tous les paquets sortant de ethX vers votre IP publique
Je ne sais pas si vous avez besoin de tout cela ou si vous devez le retourner, cela dépend de la façon dont vous voulez le voir ( todo trafic via OpenVPN sauf xxx, ou pas de trafic via OpenVPN sauf xxx).
Par exemple, vous n'avez même pas besoin d'utiliser les tables de routage, mais c'est certainement beaucoup plus propre de cette façon, ou vous n'avez pas besoin du SNAT / masquerade etc.
0 votes
Voulez-vous exclure les connexions à des ports spécifiques via VPN pour qu'ils contournent le tunnel et se connectent directement au point d'extrémité (et non via VPN) ?
0 votes
@Lenniey Oui. OU ne tunnelise que certains ports, dans les deux cas. Actuellement, mon IP est toujours mon IP publique, mais lorsque j'active l'option
Should client Internet traffic be routed through the VPN?
Je ne peux pas y connecter TeamViewer (Port 5938).