J'ai un serveur exécutant Ubuntu Server avec quatre adresses IP aliasées sur une seule carte réseau.
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(En utilisant 192.168.xx à titre d'exemple, supposez que ceux-ci sont NAT-ed pour une plage d'adresses IP publiques)
Un de nos clients publie leur inventaire via FTP, nous nous connectons donc tous les soirs pour télécharger un fichier volumineux depuis leur serveur. Leur pare-feu attend que notre connexion FTP (passive) soit établie à partir de 192.168.1.100.
Étant donné que mon serveur possède logiquement quatre adresses IP sur une seule carte, comment le système d'exploitation détermine-t-il quelle adresse IP est utilisée comme source pour les connexions TCP / IP sortantes?
Disons que je ssh sur mon serveur sur 192.168.1.101 et que j'exécute FTP de manière interactive. La connexion TCP / IP sortante utilisera-t-elle 192.168.1.101 car le système d'exploitation sait que c'est l'interface sur laquelle mon shell est connecté?
Que faire si la tâche FTP est exécutée de manière non interactive via un travail cron où il n'y a pas de shell?
Comme vous pouvez probablement le constater, cela me rend assez confus, alors j'espère que mes questions ont au moins un sens.
Éditer
Pour clarifier pourquoi je demande - je n'ai apporté aucune modification à la table de routage et elle répertorie en fait «eth0» comme IFace pour les routes 0.0.0.0. Cependant, toutes les indications indiquent qu'il utilise réellement eth0: 0 comme source.
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
Je peux jouer avec la table de routage ou demander à notre client de modifier ses règles de pare-feu pour obtenir le comportement dont j'ai besoin, mais j'essaie de comprendre comment cela fonctionne pour savoir s'il y a un bogue dans le système d'exploitation ou tout simplement ma compréhension naïve de la façon dont toutes les pièces s'assemblent.
Merci