첫째, 일부 배경 : 격리 된 LAN에서 실행되는 소수의 전용 Linux 서버가 포함 된 랩이 있습니다. 모든 서버는 동일한 OS (Debian Linux) 및 동일한 독점 서버 소프트웨어를 실행하며 서버 프로세스는 데이터를 동기화하기 위해 서로 통신합니다. 즉, 클라이언트에 관한 한 클라이언트가 어느 서버에 연결하든 상관 없습니다. 서버는 다른 서버와 동일한 데이터를 반환합니다.
이 Linux 서버는 모두 avahi-daemon을 실행하여 mDNS 호스트 이름을 게시하므로 클라이언트는 " http : //linux-server-1.local "과 같이 입력 할 수 있습니다 . 자신의 웹 브라우저에 넣고 Linux 서버 # 1 등에 연결하십시오.
클라이언트 시스템 (보통 Bonjour가 설치된 Mac 또는 Windows 랩톱)에 앉아있는 사용자가 현재 온라인 상태 인 Linux 서버를 알고 있거나 알아 내야한다는 것을 제외하고는 이것은 모두 훌륭합니다. 그가 그 중 하나에 연결되어 있는지 확인하십시오. 예를 들어, 서버 # 2가 오늘 오프라인 상태이고 클라이언트가 " http : //linux-server-2.local "을 입력 한 경우 URL 표시 줄에 응답하지 않습니다. 물론 이것은 세상의 종말은 아니지만 모든 것이 "제대로 작동"하기를 기대하는 초보자 사용자에게는 성가 시며 강력한 클라이언트 측 스크립팅 개발이 더 복잡해집니다 (클라이언트 측 스크립트 이후) 오프라인 서버를 명시 적으로 처리하는 방법을 알아야합니다).
이를 염두에두고 내 질문은 이것입니다 : anycast 스타일의 mDNS 호스트 이름 별칭도 게시하도록 Avahi를 구성 할 수 있습니까? 목표는 누구나 자신의 랩톱에 앉아서 " http : //any-linux-server.local "을 입력하는 것 입니다. (또는 유사) 현재 온라인 상태 인 서버 중 하나에 연결하십시오 (다시 말해서 어느 서버 든 중요하지 않음).
Bonjour가 설치되어 있지 않은 경우를 제외하고는 클라이언트 랩톱을 제어 할 수 없으므로 클라이언트 랩톱을 특별히 구성하지 않아도 작동해야합니다.
또한 별도의 네임 서버 또는 프록시 박스 또는 특정 Linux 서버의 존재에 의존 할 수는 없습니다. 단일 실패 지점이 생겨 피해야합니다.