AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1165467
Accepted
Crazy Polenta
Crazy Polenta
Asked: 2024-09-19 22:43:13 +0800 CST2024-09-19 22:43:13 +0800 CST 2024-09-19 22:43:13 +0800 CST

As estações nas sub-redes navegam na Internet, mas não conseguem se ver (IP Route 2 ISPs)

  • 772

No meu roteador (ubuntu/NFTables) configurei duas WANs, uma de cada ISP diferente.

Na configuração atual, posso garantir que qualquer máquina nas sub-redes possa navegar usando o primeiro ou o segundo link, de acordo com a regra do NFTables.

Observe que não é uma interface LAN específica (qualquer máquina em qualquer interface LAN pode navegar em qualquer um dos dois links com IPs públicos de acordo com a regra em NFTables)

Isso está funcionando, ok.

O problema que estou enfrentando agora é que as máquinas nas sub-redes deveriam se ver e elas nem sequer estão fazendo ping umas nas outras.

Alguém sabe como posso consertar isso para que, além de manter a navegação na internet assim, eu consiga fazer com que as máquinas conectadas na LAN1, LAN2, LAN3 e LAN4 consigam se comunicar entre si?

Abaixo está a configuração do netplan:

network:
ethernets:
    wan1:
        addresses:
        - 111.31.111.2/28
        - 111.31.111.3/28
        - 111.31.111.4/28
        - 111.31.111.5/28
        - 111.31.111.6/28
        - 111.31.111.7/28
        - 111.31.111.8/28
        - 111.31.111.9/28
        - 111.31.111.10/28
        - 111.31.111.11/28
        - 111.31.111.12/28
        - 111.31.111.13/28
        - 111.31.111.14/28
        nameservers:
            addresses:
            - 8.8.8.8
            - 8.8.4.4
            search: []
        routes:
        - to: default
          via: 111.31.111.1
          metric: 100
        - to: default
          via: 111.31.111.1
          metric: 100
          table: 100
        routing-policy:
        - from: 192.168.10.0/24
          table: 100
        - from: 192.168.20.0/24
          table: 100
        - from: 192.168.30.0/24
          table: 100
        - from: 192.168.40.0/24
          table: 100
    wan2:
        addresses:
        - 222.63.222.10/29
        - 222.63.222.11/29
        - 222.63.222.12/29
        - 222.63.222.13/29
        - 222.63.222.14/29
        nameservers:
            addresses:
            - 8.8.8.8
            - 8.8.4.4
            search: []
        routes:
        - to: default
          via: 222.63.222.9
          metric: 200
        - to: default
          via: 222.63.222.9
          metric: 200
          table: 200
        routing-policy:
        - from: 192.168.10.0/24
          table: 200
        - from: 192.168.20.0/24
          table: 200
        - from: 192.168.30.0/24
          table: 200
        - from: 192.168.40.0/24
          table: 200
    lan1:
        addresses:
        - 192.168.10.1/24
    lan2:
        addresses:
        - 192.168.20.1/24
    lan3:
        addresses:
        - 192.168.30.1/24
    lan4:
        addresses:
        - 192.168.40.1/24
version: 2

Tabelas e regras a seguir:

userrouter1@router1:~$ ip route
default via 111.31.111.1 dev wan1 proto static metric 100 
default via 222.63.222.9 dev wan2 proto static metric 200 
192.168.10.0/24 dev lan1 proto kernel scope link src 192.168.10.1 
192.168.40.0/24 dev lan4 proto kernel scope link src 192.168.40.1 
111.31.111.0/28 dev wan1 proto kernel scope link src 111.31.111.2 
222.63.222.8/29 dev wan2 proto kernel scope link src 222.63.222.10

userrouter1@router1:~$ ip rule
0:  from all lookup local
32756:  from 192.168.30.0/24 lookup 200 proto static
32757:  from 192.168.40.0/24 lookup 200 proto static
32758:  from 192.168.20.0/24 lookup 200 proto static
32759:  from 192.168.10.0/24 lookup 200 proto static
32760:  from 192.168.30.0/24 lookup 100 proto static
32761:  from 192.168.10.0/24 lookup 100 proto static
32762:  from 192.168.40.0/24 lookup 100 proto static
32763:  from 192.168.20.0/24 lookup 100 proto static
32766:  from all lookup main
32767:  from all lookup default

userrouter1@router1:~$ ip route show table 100
default via 111.31.111.1 dev wan1 proto static metric 100 

userrouter1@router1:~$ ip route show table 200
default via 222.63.222.9 dev wan2 proto static metric 200 

userrouter1@router1:~$ ip rule show table 100
32760:  from 192.168.30.0/24 lookup 100 proto static
32761:  from 192.168.10.0/24 lookup 100 proto static
32762:  from 192.168.40.0/24 lookup 100 proto static
32763:  from 192.168.20.0/24 lookup 100 proto static

userrouter1@router1:~$ ip rule show table 200
32756:  from 192.168.30.0/24 lookup 200 proto static
32757:  from 192.168.40.0/24 lookup 200 proto static
32758:  from 192.168.20.0/24 lookup 200 proto static
32759:  from 192.168.10.0/24 lookup 200 proto static

No momento, se eu estiver na máquina 192.168.10.10 não consigo fazer PING em 192.168.20.10, nem vice-versa... Eu precisava resolver esse problema, mantendo a navegação para IPs externos assim.

Alguém pode me ajudar?

ubuntu
  • 1 1 respostas
  • 23 Views

1 respostas

  • Voted
  1. Best Answer
    u1686_grawity
    2024-09-19T22:58:42+08:002024-09-19T22:58:42+08:00

    Suas regras de política personalizadas levam a tabelas que não têm nenhuma das rotas de "sub-rede local" que a tabela principal tem. Há apenas a rota padrão que corresponde a tudo , e então tudo vai para seu ISP.

    Você precisa adicionar throwrotas ("fall-through to next policy rule") em cada uma dessas tabelas,

    ip -4 route add throw 192.168.0.0/16 table 100
    

    ou use uma regra de política adicional que faça uma segunda pesquisa em 'main' antes das tabelas personalizadas em vez de depois (com uma opção especial para ignorar a rota padrão).

    ip -4 rule add pref 20 lookup main suppress_prefixlen 0
    
    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve