Forum Linux.général Routage d'un paquet udp en fonction du port source

Posté par  .
Étiquettes : aucune
0
21
nov.
2005
Mon serveur linux (Mandriva 2005) me sert de pare-feu pour mon réseau local. Il possède 3 interfaces: eth0 pour le réseau local (en IP privé), et eth1+eth2 vers deux fournisseurs différents (en dhcp).

La route de sortie par défaut sort par eth2.

J'aimerais que les paquets d'un serveur udp qui tourne directement sur mon pare-feu ne sortent que par l'interface eth1 (et donc pas par la route par defaut).

Toute la littérature (FAQ, site, forum) que j'ai trouvée sur le net jusqu'à présent m'explique comment rerouter un paquet que mon pare-feu "forwarde" (avec iptables -t mangle -A PREROUTING -j MARK ...+ ip rule ) mais je n'ai rien su faire fonctionner pour des paquets qui sont générés par un processus local.

Avez-vous une solution à me proposer?

Merci.
  • # routage

    Posté par  . Évalué à 1.

    Le filtrage par iptables ne permet pas de changer les routes des paquets IP. ça permet seulement de changer l'IP (c'est ce qu'on appelle le NAT). et ça permet d'accepter ou de rejeter les paquets, bien sûr.

    Le routage se fait seulement dans la table de routage IP (commande "route"). Donc on ne peut même pas différencier UDP et TCP.

    Il faudrait donc que tu identifies les adresses IP que tu veux envoyer vers eth1, et que tu les routes explicitement (une par une, ou en mentionnant un sous-réseau).
    • [^] # Re: routage

      Posté par  . Évalué à 1.

      Ma reference à Iptable n'utilisait pas la table "filter" qui effectivement ne sert qu'à filtrer, mais la table "mangle" qui peut servir à marquer un paquet pour qu'ensuite iproute2 puisse le reconnaître (et le marquage peut très bien se faire sur un critère de port et non pas d'ip).

      Une lecture d'un HowTo comme celui-ci:
      http://www.linux-france.org/prj/inetdoc/guides/lartc/
      permet de voir comment cela marche dans le cas de paquets "forwardés"

      Mais mon problème vient du fait que je ne veux pas "forwarder" un paquet , mais émetre un paquet généré par ma machine. Et là, j'avoue que je ne vois pas comment marquer le paquet avant le routage (car je ne pense pas que la chaine "PREROUTING" soit sur le chemin d'un tel paquet)
  • # Policy Routing et iproute

    Posté par  . Évalué à 1.

    Regarde du coté de l'option "Policy Routing" du noyau, ainsi que de l'utilitaire iproute. Je ne suis pas sur mais cela pourrait être la solution à ton probleme.

    Pasca

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.