기본 라우터와 백업 라우터를 서로 연결할 수 없습니다.

기본 라우터와 백업 라우터를 서로 연결할 수 없습니다.

다음과 같이 배치된 두 개의 네트워크와 라우터(모두 Shibby의 Advanced Tomato에 있음)가 있습니다.

  1. 백업 라우터 네트워크(192.168.1.1/24)
    1. WAN-Xfinity
    2. LAN - 적은 수의 클라이언트. 중요한 점은 기본 네트워크 라우터가 이 네트워크의 클라이언트라는 것입니다.
    3. 네트워크 인터페이스
      1. br0 - 로컬. 라우터의 IP는 192.168.1.1입니다.
      2. eth0 - Xfinity
      3. eth2 - 무선 네트워크 - 백업 네트워크가 무선 클라이언트로 연결되는 네트워크입니다.
  2. 메인 라우터 네트워크(192.168.2.1/24)
    1. WAN - 광섬유
    2. LAN - 메시 네트워킹 액세스 포인트에 연결됩니다. 집에 있는 거의 모든 장치는 이러한 메시 네트워킹 액세스 포인트를 통해 기본 네트워크에 연결됩니다. 특히 중요한 것은 내 로컬 NAS와 서비스 호스트(예: Plex, 프린터, 게임 데스크탑)입니다.
    3. 로드 밸런싱 - 이 라우터는 백업 네트워크 라우터의 "무선 클라이언트"이며 로드 밸런싱이 활성화된 다중 WAN을 갖추고 있습니다.
    4. 네트워크 인터페이스
      1. br0 - 로컬. 라우터의 IP는 192.168.2.1입니다.
      2. eth0 - 섬유
      3. eth2 - IP 192.168.1.81을 사용하는 백업 네트워크의 클라이언트

작동 방식: 클라이언트가 메인 네트워크에 있는 한 시스템은 잘 작동합니다. NAS, 프린터 등에 액세스할 수 있습니다. 또한 백업 네트워크의 모든 클라이언트에 액세스하고 핑할 수 있습니다.

문제:

클라이언트가 백업 네트워크에 있을 때 문제가 발생합니다. 백업 네트워크의 클라이언트는 기본 네트워크의 NAS, 프린터 등에 연결할 수 없습니다.

내가 시도한 것: 백업 라우터가 클라이언트가 기본 라우터 네트워크에 연결할 수 있도록 허용하려고 했습니다. 이 작업을 언급하는 몇 가지 기사를 발견하고 다음 단계를 수행했습니다.

  1. 백업 네트워크에 다음 iptables 전달을 추가해 보았습니다.
    iptables -I INPUT -i br0 -j ACCEPT
    iptables -I FORWARD -i eth2 -d 192.168.2.0/24 -j ACCEPT
    iptables -I FORWARD -i br0 -d 10.9.8.0/24 -j ACCEPT
  1. 백업 및 기본 네트워크 모두에서 IP 패킷 전달 활성화echo 1 > /proc/sys/net/ipv4/ip_forward

  2. IP 경로 추가 ip route add 192.168.2.0/24 via 192.168.1.81

문제

불행히도 이것은 작동하지 않습니다. 백업 네트워크 라우터에서 192.168.2.1에 ping을 시도하면 오류가 발생합니다 Unable to ping From 192.168.1.1 icmp_seq=1 Redirect Host (New nexthop 192.168.1.81).

내 추측으로는 iptables 부분을 엉망으로 만들고 있는 것 같습니다. 나는 내가 그곳에서 무엇을 하고 있는지 완전히 이해하지 못합니다. 누군가 도와주실 수 있다면 진심으로 감사하겠습니다.

답변1

백업 네트워크에 다음 iptables 전달을 추가해 보았습니다.

FORWARD 규칙이 네트워크 설명과 일치하지 않는 것 같습니다.

  • 백업 라우터의 eth2(즉, 기본 라우터에서 오는)에 도착하는 패킷은 192.168.2.0/24를 갖게 됩니다.원천,목적지가 아닙니다. 마찬가지로 192.168.2.0/24로 전송된 패킷은 eth2에 들어가지 않고 나가게 됩니다(즉, eth2라면 eth2 -d여야 합니다 -o eth2).

    패킷을 양방향으로 시각화하면 다음과 같아야 합니다.

    소스 주소 DST 주소 입력 인터페이스 출력 인터페이스
    192.168.1.0/24 192.168.2.0/24 →br0 eth2→
    192.168.2.0/24 192.168.1.0/24 →eth2 br0→

    -s다음 과 같이 규칙을 추가할 수 있습니다.-d . 규칙이 적용되고 있는지 확인하려면 iptables 규칙 목록의 패킷 카운터를 살펴보는 것이 좋습니다.일치모든 패킷으로.

  • 10.9.8.0/24 네트워크는 어디에도 관여하지 않는 것 같습니다.

  • INPUT 규칙은 관련이 없습니다. 귀하의 패킷 중 어느 것도 라우터에 "입력"되지 않기 때문입니다. 이는 라우터의 ping을 수행하는 경우에만 해당됩니다.소유하다주소.

    예를 들어, 기본 라우터에 대해 ping을 수행하는 경우 백업 라우터에 대해서는 "전달"이 되고 기본 라우터에 대해서는 "입력"이 됩니다. 그러나 한 클라이언트에서 다른 클라이언트로 핑을 보내는 경우 관련된 모든 라우터에 대해 "전달"로 분류됩니다(클라이언트 자체에 대해서만 "입력").

이는 필요하지만 일반적으로 경로를 추가하기 전이 아니라 경로를 추가한 후의 단계여야 합니다. IPtables는 패킷의 전송 여부만 제어한다는 점을 항상 명심하세요.허용된특정 방향으로 전달되지만 제어하지는 않습니다.어디전달되어야 합니다. 라우팅 테이블이 이를 먼저 결정한 다음 이에 맞게 iptables FORWARD 규칙을 조정합니다.

백업 및 기본 네트워크 모두에서 IP 패킷 전달 활성화 echo 1 > /proc/sys/net/ipv4/ip_forward 실행

라우터입니다. Tomato 펌웨어에는 공장에서 이미 패킷 전달이 활성화되어 있습니다. 이것이 기본적으로 라우터의 목적이고 현재 인터넷에 액세스하는 방법이기 때문입니다.

백업 네트워크 라우터에서 192.168.2.1에 대해 ping을 시도하면 오류가 발생합니다. 192.168.1.1에서 ping할 수 없습니다. icmp_seq=1 Redirect Host(New nexthop 192.168.1.81).

그것은 오류가 아닙니다. 이는 백업 라우터가 보다 직접적인 경로를 사용할 수 있음을 나타내는 선택적 메시지입니다(라우터 우회). 평소에는 봤겠지게다가평소의 반응에.

실제 오류는 응답이 없는 것인데, 이는 "백업" 라우터의 오류로 인해 발생할 가능성이 높습니다.또는"기본" 라우터의 방화벽 규칙은 해당 방향의 패킷을 차단합니다.

tcpdump( tcpdump -n -i ... "icmp")를 사용하여 패킷이 도착하고 나가는 위치를 확인합니다.

  • 그들은 도달합니까?기본라우터의 eth2 인터페이스?
    • 그렇지 않으면 백업 라우터가 해당 항목을 전달하지 않는 것입니다(iptables 또는 라우팅 테이블이 잘못되었을 수 있음).
    • 그렇다면: 메인 라우터의 br0 인터페이스에도 도달합니까?
      • 그렇지 않은 경우 기본 라우터는 이를 전달하지 않습니다(이미 대상에 대한 로컬 경로가 있으므로 iptables 규칙이 이를 허용하지 않습니다).
      • br0에 도달하는 경우: 클라이언트가 응답을 시도합니까?
        • 그렇지 않은 경우 클라이언트 자체 방화벽이 이를 차단하고 있을 수 있습니다.

관련 정보