나는 2개의 서로 다른 홈 인터넷 연결을 가지고 있고 개인 서버에서 각 라우터 LAN의 IP를 구성한 다음(예: 10.0.0.2/24 및 10.0.1.2/24, 각 ISP의 라우터는 .1) 내 네트워크에 인터넷 액세스를 할당합니다.
문제는 ISP 중 하나가 다운되면 기본 게이트웨이를 10.0.0.1에서 10.0.1.1로 수동으로 변경해야 한다는 것입니다. 이러한 IP는 각 라우터에 설정되어 있고 라우터는 브리지 모드가 아니기 때문입니다. 다운타임은 내 홈 라우터와 아무 관련이 없기 때문에 라우터가 여전히 ICMP 패킷에 응답하고 있기 때문에 내 서버는 라우팅 테이블이 다운되었음을 알 수 없습니다.
문제는 Linux 커널이 게이트웨이를 통해 IP를 확인하고 해당 경로의 상태를 사용하여 게이트웨이를 변경하도록 설정을 지원합니까? 예를 들어, 8.8.8.8을 항상 10.0.0.1을 통과하도록 설정하고 해당 IP가 응답을 중지하면 10.0.0.1 기본 경로도 끄면 이 방법이 적합합니다.
두 라우터를 모두 브리지 모드로 설정하고 서버에서 PPPoE 핸드셰이크를 수행하도록 하는 것이 가장 효과적이며 그렇게 할 필요가 없다는 것을 알고 있지만 내 라우터 중 적어도 하나는 브리지 모드를 지원하지 않습니다.
답변1
Linux 커널은 IP에 대한 게이트웨이 확인 설정과 해당 경로의 상태를 사용하여 게이트웨이를 변경하는 것을 지원합니까?
아니요. 그런 것들은 커널의 범위를 벗어납니다. 이 작업은 사용자 공간에서 수행해야 합니다.
이것대개라우팅 테이블을 제어하고 유지 관리하는 소프트웨어 데몬은 이를 지원하지 않을 수 있습니다. 이는 표준 기반 라우팅 프로토콜(예: OSPF 및 BGP)을 실행하여 "원격 장치에 핑을 보내는" 대신 인접 라우터에서 설치된 올바른 경로를 학습하기 때문입니다. 성공했다면 이에 따라 기본 경로를 설정하십시오." 그러나 다음과 같은 기능이 있을 수 있습니다...
두 라우터를 모두 브리지 모드로 설정하고 서버에서 PPPoE 핸드셰이크를 수행하도록 하는 것이 가장 효과적이며 그렇게 할 필요가 없다는 것을 알고 있지만 내 라우터 중 적어도 하나는 브리지 모드를 지원하지 않습니다.
FWIW 이것도 보장되지는 않습니다. PPPoE 세션이 나타난다고 해서 해당 경로를 통해 (전체) 인터넷에 액세스할 수 있다는 의미는 아닙니다. ISP 네트워크에 문제가 있을 수 있습니다.