3 votes

Politique de routage basée sur des règles simples pour faire correspondre le paquet source au paquet de retour

J'ai deux modem-routers ADSL et un serveur dans la même plage d'adresses IP assignées statiquement (192.168.0.1/24).

Internet 1 -- (1.1.1.1) Modem 1 (192.168.0.1) -- Switch -- (192.168.0.3) Serveur 
Internet 2 -- (2.2.2.2) Modem 2 (192.168.0.2) -----/

Chacun des modems redirige les ports vers le serveur, par exemple ssh. Cela fonctionne sur un modem mais pas sur l'autre. Si je fais une trace de paquets, les paquets ssh arrivent au serveur et sont renvoyés via la passerelle par défaut, qui peut avoir une adresse IP externe différente de l'origine. Si elle ne correspond pas à l'origine, la réponse est jetée et la connexion ssh expire.

par exemple Si la passerelle par défaut du serveur est 192.168.0.1, alors les paquets ssh emprunteraient les chemins suivants :

Demande : SSH à 1.1.1.1 -> 192.168.0.1 -> 192.168.0.3
Réponse : 192.168.0.3 -> 192.168.0.1 -> 1.1.1.1
Résultat : FONCTIONNE ! :-D

Demande : SSH à 2.2.2.2 -> 192.168.0.2 -> 192.168.0.3
Réponse : 192.168.0.3 -> 192.168.0.1 -> 1.1.1.1
Résultat : MAUVAISE ADRESSE IP DE RÉPONSE (2.2.2.2 != 1.1.1.1)

Je comprends d'après mes discussions avec les personnes sur l'IRC ##networking que ce que je veux, c'est le "Routing basé sur la source", un type de Routage basé sur des politiques.

D'après ce que je peux dire, un PBR ressemble à ceci :

access-list 1 permit 192.168.0.1
access-list 2 permit 192.168.0.2
!
interface async 1
 ip policy route-map equal-access
!
route-map equal-access permit 10
 match ip address 1
 set ip default next-hop 192.168.0.1
route-map equal-access permit 20
 match ip address 2
 set ip default next-hop 192.168.0.2
route-map equal-access permit 30
 set default interface null0

J'ai passé de nombreuses heures à consulter des tutoriels et des exemples à ce sujet, mais ils ne semblent pas répondre à mes besoins. En particulier, je n'arrive pas à comprendre :

  1. Comment l'IP d'origine est associée à l'IP de réponse,
  2. La signification de 'async' dans l'exemple ci-dessus,
  3. Si l'exemple ci-dessus est même vaguement correct pour mes besoins, et
  4. Où je devrais placer cette configuration sur un serveur Ubuntu standard ?

2voto

fukawi2 Points 5257

Vous devez ajouter une adresse IP supplémentaire au serveur (par exemple 192.168.0.4) et faire une translation de l'adresse (DNAT) du trafic arrivant au Modem ADSL 2 vers la nouvelle adresse. De cette façon, le serveur pourra différencier les 2 connexions montantes; actuellement il ne peut pas le faire car tout le trafic qu'il voit est destiné à 192.168.0.3 depuis n'importe quelle adresse source sur Internet sans indication du modem ADSL à travers lequel le paquet a transité.

Avec la configuration IP supplémentaire, dans votre Routage basé sur les politiques, vous marquez toute connexion vers 192.168.0.3 avec un marquage qui utilise une table de routage qui a une route par défaut vers l'ADSL Modem 1, et vous marquez le trafic vers 192.168.0.4 avec un marquage pour utiliser une table de routage avec l'ADSL Modem 2 comme passerelle par défaut.

1voto

dmourati Points 24230

J'ai déjà configuré cela dans le passé en utilisant le routage de politique à partir du Howto Linux Advanced Routing and Traffic Control.

Dans votre cas, vous semblez avoir une configuration légèrement différente avec un commutateur au milieu. Vous pouvez adapter votre configuration à la suggestion en ajoutant peut-être une deuxième carte réseau. Sinon, vous devrez peut-être configurer plusieurs VLAN pour accomplir ce que vous recherchez avec une seule carte réseau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X