Ich habe einen Server mit Ubuntu Server mit vier IP-Adressen auf einer einzigen Netzwerkkarte.
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(Nehmen wir beispielsweise an, dass 192.168.xx für eine Reihe von öffentlichen IP-Adressen verwendet wird.)
Einer unserer Kunden veröffentlicht sein Inventar über FTP, daher melden wir uns jede Nacht an, um eine große Datei von ihrem Server herunterzuladen. Ihre Firewall erwartet, dass unsere (passive) FTP-Verbindung von 192.168.1.100 hergestellt wird.
Angenommen, mein Server verfügt logischerweise über vier IP-Adressen auf einem einzelnen Adapter. Wie ermittelt das Betriebssystem, welche IP-Adresse als Quelle für ausgehende TCP / IP-Verbindungen verwendet wird?
Angenommen, ich stelle unter 192.168.1.101 eine SSH-Verbindung zu meinem Server her und führe FTP interaktiv aus. Wird die ausgehende TCP / IP-Verbindung 192.168.1.101 verwenden, da das Betriebssystem weiß, dass dies die Schnittstelle ist, über die meine Shell verbunden ist?
Was ist, wenn die FTP-Task nicht interaktiv über einen Cron-Job ohne Shell ausgeführt wird?
Wie Sie wahrscheinlich feststellen können, hat mich das ziemlich verwirrt, und ich hoffe, dass meine Fragen zumindest einen Sinn ergeben haben.
Bearbeiten
Um zu verdeutlichen, warum ich frage, habe ich keine Änderungen an der Routing-Tabelle vorgenommen und es wird tatsächlich "eth0" als IFace für die 0.0.0.0-Routen aufgeführt. Alle Anzeichen deuten jedoch darauf hin, dass tatsächlich eth0: 0 als Quelle verwendet wird.
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
Ich kann an der Routing-Tabelle herumspielen oder unseren Client dazu bringen, die Firewall-Regeln zu ändern, um das gewünschte Verhalten zu erreichen. Ich versuche jedoch, einen kleinen Einblick in die Funktionsweise zu erhalten, um festzustellen, ob ein Fehler im Betriebssystem vorliegt oder nur mein naives Verständnis wie alle Teile zusammenpassen.
Vielen Dank