IPTABLE : Forward entre deux interfaces

Bonsoir (bonjour ?) tout le monde !
Je cherche depuis un moment une solution simple pour rediriger certains trafics vers une interface et le reste vers une autre.

Je m’explique, j’ai une connexion ethernet depuis laquelle je me connecte sur internet (DHCP, toussa toussa) donc c’est l’interface eth0.
Je suis connecté à un VPN en PPTP qui me créé donc une interface ppp0.

Ce que je souhaiterais c’est utiliser ma connexion internet normalement, mais rediriger certains flux vers le VPN de manière à ce qu’ils ne passent jamais sur internet en clair.
Par exemple, le HTTP, le FTP, le SSH et tout ce que je n’ai pas bloqué passent par eth0 et le SMTP(s) et IMAP(s) passeraient par le ppp0.

Est-ce possible avec iptable ? J’ai bien pensé à utiliser un proxy, mais mettre en place Squid sur ma machine locale c’est un peu lourd, et je ne sais pas comment lui dire d’utiliser ppp0 à la place d’eth0.

Merci ! :smiley:

Eh éh éh ! M’oubliez pas hein ?! :smiley:

[quote=“MAIDEN”]Ce que je souhaiterais c’est utiliser ma connexion internet normalement, mais rediriger certains flux vers le VPN de manière à ce qu’ils ne passent jamais sur internet en clair.
Par exemple, le HTTP, le FTP, le SSH et tout ce que je n’ai pas bloqué passent par eth0 et le SMTP(s) et IMAP(s) passeraient par le ppp0.[/quote]
En reprenant ton exemple, est-ce que tu utilises toujours les mêmes serveurs SMTP et IMAP ou est-ce que tu veux faire passer SMTP et IMAP par ppp0 quelque soit le serveur de destination ?

Dans le premier cas, tu peux t’en sortir avec route(8) pour définir les chemins, il suffit alors d’ajuster les autorisations dans iptables.
Dans le second cas, je ne voie pas trop comment faire. Il y a peut-être moyen de s’en sortir avec les règles DNAT et SNAT, mais là à froid je n’ai pas de solution.