Mam serwer z systemem Ubuntu Server z czterema adresami IP przypisanymi do jednej karty sieciowej.
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(Używając 192.168.xx dla przykładu, załóżmy, że są one NAT -owane dla szeregu publicznych adresów IP)
Jeden z naszych klientów publikuje swoje zapasy za pośrednictwem FTP, więc logujemy się co noc, aby pobrać duży plik z ich serwera. Zapora ogniowa oczekuje, że nasze (pasywne) połączenie FTP zostanie nawiązane z 192.168.1.100.
Biorąc pod uwagę, że mój serwer ma logicznie cztery adresy IP na jednym adapterze, w jaki sposób system operacyjny określa, który adres IP jest używany jako źródło dla wychodzących połączeń TCP / IP?
Powiedzmy, że ssh na mój serwer 192.168.1.101 i uruchamiam FTP interaktywnie. Czy wychodzące połączenie TCP / IP będzie używać 192.168.1.101, ponieważ system operacyjny wie, że jest to interfejs, przez który jest połączona moja powłoka?
Co się stanie, jeśli zadanie FTP jest uruchamiane nieinteraktywnie za pośrednictwem zadania cron, w którym nie ma powłoki?
Jak zapewne możesz powiedzieć, to mnie bardzo zagubiło, więc mam nadzieję, że moje pytania przynajmniej miały sens.
Edytować
Aby wyjaśnić, dlaczego pytam - nie wprowadziłem żadnych zmian w tabeli routingu i faktycznie wyświetla ona „eth0” jako IFace dla tras 0.0.0.0. Jednak wszystko wskazuje na to, że faktycznie używa on eth0: 0 jako źródła.
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
Mogę majstrować przy tablicy routingu lub zlecić naszemu klientowi zmianę reguł zapory, aby uzyskać potrzebne zachowanie, ale staram się uzyskać trochę wglądu, jak to działa, aby wiedzieć, czy w systemie operacyjnym jest błąd, czy po prostu naiwne zrozumienie jak wszystkie elementy pasują do siebie.
Dzięki