단일 NIC에서 별명을 가진 4 개의 IP 주소를 가진 Ubuntu Server를 실행하는 서버가 있습니다.
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(예를 들어 192.168.xx를 사용하는 경우 공용 IP 주소 범위에 NAT로 연결되어 있다고 가정)
클라이언트 중 하나가 FTP를 통해 인벤토리를 게시하므로 야간에 로그인하여 서버에서 큰 파일을 다운로드합니다. 그들의 방화벽은 (패시브) FTP 연결이 192.168.1.100에서 이루어질 것으로 예상합니다.
내 서버에 단일 어댑터에 4 개의 IP 주소가 논리적으로 있다고 가정하면 운영 체제는 아웃 바운드 TCP / IP 연결의 소스로 사용되는 IP 주소를 어떻게 결정합니까?
192.168.1.101에서 서버로 ssh하고 대화식으로 FTP를 실행한다고 가정 해 봅시다. OS가 셸이 연결된 인터페이스임을 알고 있기 때문에 아웃 바운드 TCP / IP 연결에서 192.168.1.101을 사용합니까?
FTP 작업이 쉘이없는 cron 작업을 통해 비 대화식으로 실행되면 어떻게됩니까?
당신이 아마 알 수 있듯이, 이것은 꽤 혼란 스러웠으므로 내 질문이 적어도 이해되기를 바랍니다.
편집하다
내가 묻는 이유를 분명히하기 위해-라우팅 테이블을 변경하지 않았으며 실제로 0.0.0.0 경로의 IFace로 'eth0'이 나열됩니다. 그러나 모든 표시는 실제로 소스로 eth0 : 0을 사용하고 있다는 것입니다.
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
라우팅 테이블로 바이올린을 피우거나 클라이언트가 방화벽 규칙을 변경하여 필요한 동작을 얻을 수 있지만 OS에 버그가 있는지 또는 순진한 이해가 있는지 알 수 있도록 약간의 통찰력을 얻으려고합니다. 모든 조각들이 어떻게 어울리는 지
감사