단일 서버의 가상 IP

단일 서버의 가상 IP

아래와 같이 설정하고 싶습니다.

서로 다른 고정 IP를 가진 두 개의 ISP가 있고 두 개의 NIC가 있는 단일 서버에서 종료되었으며 이 NIC에 대한 가상 IP를 만들고 로컬 웹 서비스를 이 가상 IP에 바인딩하여 ISP가 실패하더라도 내 웹 서버 액세스에 영향을 미치지 않습니다. 밖에서. 리눅스로 어떻게 할 수 있나요?

답변1

단일 IP 주소의 경우 원하는 대로 수행할 수 없습니다.

IP 주소 수준에서 작동하려면 다음이 필요합니다.자율 시스템 번호(ASN)그리고 전 세계의 모든 인터넷 백본 라우터에 가상 IP에 도달하는 방법을 알려주는 BGP 동적 라우팅 프로토콜을 실행합니다.

안타깝게도 단일 IP 주소는 실제로 이러한 방식으로 동적으로 라우팅할 수 없을 정도로 작은 청크입니다. 대부분의 ISP는 가정/소규모 기업 고객으로부터 들어오는 BGP 공지를 받아들이지 않으며, 이러한 장애물을 통과하더라도 인터넷 라우터는 단일 IP 주소에 대한 BGP 공지를 무시합니다. 라우팅 성능을 유지하고 백본 라우터의 라우팅 테이블이 터무니없이 늘어나는 것을 방지하기 위해 백본 라우터는 더 큰 IP 주소 공간 청크만 처리하기를 원할 것입니다.

실제로 그러한 가상 IP를 가지려면 상당한 규모의 공용 IP 주소 블록(/24에 해당)을 갖춘 상당히 규모가 큰 조직이어야 합니다. 네트워크 링크를 통해 라우팅되는 다른 조직의 트래픽을 상호 수용할 수 있는 것도 도움이 될 것입니다.

물론 두 ISP가 모두 동일한 인터넷 백본 공급자의 클라이언트이고 맞춤형 솔루션에 대해 협상하고 비용을 지불할 의향이 있는 경우 무언가 조정될 수 있지만 대부분의 사람들에게 이는 많은 낭비가 될 것입니다. 다른 접근 방식을 선택하면 훨씬 쉽게 달성할 수 있는 것에 대한 돈과 노력을 들 수 있습니다.


단일 서버에 대한 ISP 장애 조치를 구현하기 위한 보다 현실적인 전략은 사용 가능한 동적 DNS 서비스를 사용하는 것입니다. 각 업링크에 대해 하나의 공용(정적일 필요는 없음) IP 주소가 있고 DDNS 클라이언트를 사용하여 웹 서버의 정규화된 호스트 이름에 대한 DNS A 레코드가 현재 활성 IP 주소를 가리키도록 업데이트합니다.

업링크가 중단되면 A 레코드를 업데이트하고 이전 레코드의 TTL(Time-To-Live)이 만료될 때까지 기다린 다음(대부분의 동적 DNS 서비스는 TTL을 60초 정도로 매우 짧게 유지함) 다시 액세스할 수 있습니다. 물론 이렇게 하면 장애 조치 시 IP 주소가 변경되므로 기존 연결이 끊어질 수 있습니다. 그러나 ISP가 상태 저장 방화벽을 수행하는 경우 가상 IP가 있더라도 장애 조치 시 발생합니다.

또는 주요 클라우드 운영업체로부터 클라우드 서버를 임대하여 중복 네트워크 링크와 모든 복잡성을 처리하도록 할 수도 있습니다. 규모에 따라 당연히 이를 수행해야 합니다.

관련 정보