Como fazer o encaminhamento de porta funcionar a partir de dois roteadores por meio de sua própria rede?

Como fazer o encaminhamento de porta funcionar a partir de dois roteadores por meio de sua própria rede?

Eu tenho um computador conectado a dois roteadores por meio de sua rede interna. Encaminhei a porta 80 para o meu computador em ambos os roteadores.

RoteadorA:80 -> 10.0.0.10:80 funciona. RoteadorB:80 -> 192.168.1.10:80 funciona.

Portanto, a configuração de encaminhamento de porta dos roteadores está correta.

No entanto, quando me conecto a ambas as redes, apenas o encaminhamento de porta do RouterA funciona. Como posso fazer o encaminhamento de porta do RouterB funcionar? Por favor, dê uma olhada na configuração da rede do meu computador.

network:
  ethernets:
    enp7s0:
      addresses:
      - 10.0.0.10/24
      gateway4: 10.0.0.1
      nameservers:
        addresses:
        - 10.0.0.1
    enp6s0:
      addresses:
      - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers: {}
  version: 2

Não preciso usar enp6s0o gateway, mas parece que é necessário para encaminhamento de porta.

Obrigado a @raj minha configuração de rede atualizada.

NOTA: Não foi exatamente isso que perguntei, mas se você tiver um intervalo de IP diferente acessando seus roteadores, isso funcionaria. Felizmente esse foi o meu caso.

enp7s0:
      addresses:
      - 10.0.0.10/24
      routes:
      - to: 0.0.0.0/0  #default route
        via: 10.0.0.1
        metric: 100
      nameservers:
        addresses:
        - 10.0.0.1
    enp6s0:
      addresses:
      - 192.168.1.10/24
      routes:
      - to: A.B.C.D/24  # IP range of network that would access Router B
        via: 192.168.1.1
        metric: 10
      nameservers: {}

Responder1

Geralmente, a rede não funciona muito bem com dois gateways padrão definidos. Seu computador está usando apenas um gateway por padrão (provavelmente 10.0.0.1 neste caso) e usará o segundo somente quando o primeiro estiver inacessível.

Então provavelmente o encaminhamento de porta no RouterBéfuncionando, ou seja, os pacotes enviados para o RouterB:80 provavelmente chegarão à interface 192.168.1.10 da sua máquina. Mas os pacotes de resposta são sempre enviados para o gateway 10.0.0.1 e provavelmente não voltam ao destino (isso é chamado de "roteamento assimétrico", que geralmente é problemático).

Se você planeja se conectar ao RouterA:80 e ao RouterB:80 do mesmo intervalo de endereços IP, não vejo uma solução simples para o seu problema. Talvez seja possível ajustar o iptables de alguma forma para que as respostas aos pacotes recebidos pela interface enp6s0 sempre saiam via 192.168.1.1, mas não sei como fazer isso (se possível).

Se os endereços IP forem diferentes, você não deve definir 192.168.1.1 como gateway padrão, mas em vez disso adicionar à tabela de roteamento uma rota para redes específicas via 192.168.1.1. Isso tem precedência sobre o gateway padrão, portanto, os pacotes para redes especificadas serão enviados via 192.168.1.1 e não via 10.0.0.1.

informação relacionada