루프백 인터페이스에서 이 IP를 유지하면서 127.0.0.1 트래픽을 eth0으로 보낼 수 있습니까? (리눅스)

루프백 인터페이스에서 이 IP를 유지하면서 127.0.0.1 트래픽을 eth0으로 보낼 수 있습니까? (리눅스)

질문은 제목에서처럼 매우 간단하지만, 내가 이 질문을 하는 거의 모든 사람들은 내가 미쳤거나 멍청하다고 확신시키려고 합니다. 여기서는 이것이 필요한 이유를 설명하고 이 작업을 수행하기 위한 다른 솔루션을 환영합니다. 그러나 질문에 대한 답변(특히 "아니요"가 아닌 경우 :))을 제공해 주시면 매우 감사하겠습니다.

따라서 동일한 네트워크(가령 10.0.0.1/24)에 머신 풀이 있고 해당 IP는 10.0.0.1, 10.0.0.2, ..., 10.0.0.10입니다.

또한 루프백 인터페이스(예: lo:dsr)에 공용 인터넷 IP(예: 8.8.8.8)가 구성되어 있습니다. [잠깐, 아직 미쳤다고 생각하지 마세요]

이 풀 위에는 Direct Server Return 로드 밸런서가 있습니다. 어떻게 작동하는지 모르신다면 다음 내용을 확인해 보세요.http://www.weirdnet.nl/images/natvsdsr.png

지금까지는 아주 좋았습니다. 완벽하게 작동합니다.

이제 문제가 발생합니다. 해당 머신은 단일 서비스를 실행하지 않습니다. 포트 8080, 8081 및 8082에서 3가지 다른 서비스를 실행하며 (네트워크를 통해) 서로 통신합니다.

따라서 머신 A의 서비스 8080이 서비스 8081(로드 밸런서 IP 8.8.8.8을 통해)에 연결하려고 시도하면 Linux는 머신 A가 IP 8.8.8.8을 소유하고 있음을 알아차릴 만큼 "충분히 똑똑"하고 대신 이 패킷을 루프백으로 보냅니다. 상호 작용.

일반적으로 이는 문제가 되지 않지만 고가용성 시스템이므로 어떤 이유로든(배송 등) 서비스 B가 시스템 A에서 중지되면 문제가 됩니다.

관련 정보