Tôi có một máy chủ chạy Ubuntu Server với bốn địa chỉ IP được đặt bí danh trên một NIC.
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(Sử dụng ví dụ 192.168.xx, giả sử đây là NAT-ed cho một loạt địa chỉ IP công cộng)
Một trong những khách hàng của chúng tôi xuất bản kho lưu trữ của họ qua FTP, vì vậy chúng tôi đăng nhập hàng đêm để tải xuống một tệp lớn từ máy chủ của họ. Tường lửa của họ hy vọng kết nối FTP (thụ động) của chúng tôi sẽ được thực hiện từ 192.168.1.100.
Cho rằng máy chủ của tôi hợp lý có bốn địa chỉ IP trên một bộ điều hợp, làm thế nào để hệ điều hành xác định địa chỉ IP nào được sử dụng làm nguồn cho các kết nối TCP / IP bên ngoài?
Giả sử tôi ssh vào máy chủ của mình trên 192.168.1.101 và chạy FTP tương tác. Kết nối TCP / IP bên ngoài có sử dụng 192.168.1.101 không vì HĐH biết đó là giao diện mà vỏ của tôi được kết nối?
Điều gì xảy ra nếu tác vụ FTP được chạy không tương tác thông qua một công việc định kỳ không có vỏ?
Như bạn có thể nói, điều này làm tôi khá bối rối, vì vậy tôi hy vọng các câu hỏi của tôi ít nhất có ý nghĩa.
Biên tập
Để làm rõ lý do tại sao tôi hỏi - Tôi chưa thực hiện bất kỳ thay đổi nào đối với bảng định tuyến và nó thực sự liệt kê 'eth0' là IFace cho các tuyến 0.0.0.0. Tuy nhiên, tất cả các dấu hiệu cho thấy nó thực sự sử dụng eth0: 0 làm nguồn.
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
Tôi có thể sử dụng bảng định tuyến hoặc yêu cầu khách hàng của chúng tôi thay đổi quy tắc tường lửa của họ để có được hành vi tôi cần, nhưng tôi đang cố gắng hiểu một chút về cách thức hoạt động của nó để biết liệu có lỗi trong HĐH hay chỉ là sự hiểu biết ngây thơ của tôi làm thế nào tất cả các mảnh phù hợp với nhau.
Cảm ơn