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 / computer / Perguntas / 1609260
Accepted
QnA
QnA
Asked: 2020-12-12 20:19:46 +0800 CST2020-12-12 20:19:46 +0800 CST 2020-12-12 20:19:46 +0800 CST

Limitar o serviço a uma LAN específica em uma máquina Linux conectando duas LANs?

  • 772

Eu tenho uma pergunta hipotética sobre como a pilha de rede funciona no Linux. Se eu tiver uma máquina com dois NICs, sentados em LANs diferentes. Algo assim:

  • NIC A na LAN A, 192.168.1.3/24
  • NIC B na LAN B, 192.168.2.5/24

Agora, se eu tiver um serviço web em 192.168.2.5:80, destinado a servir apenas os hosts da LAN B, como faço para impedir que os hosts da LAN A acessem?

Meu entendimento é que, se eu não adicionar nada ao netfilter/iptables/nftables, um kernel linux padrão passará as solicitações enviadas para o endereço IP da NIC B dos vizinhos da NIC A (LAN A). E a caixa funcionará como um roteador, por padrão. Isso é correto?

linux networking
  • 1 1 respostas
  • 28 Views

1 respostas

  • Voted
  1. Best Answer
    dirkt
    2020-12-13T00:08:27+08:002020-12-13T00:08:27+08:00

    Meu entendimento é que, se eu não adicionar nada ao netfilter/iptables/nftables, um kernel linux padrão passará as solicitações enviadas para o endereço IP da NIC B dos vizinhos da NIC A (LAN A). E a caixa funcionará como um roteador, por padrão. Isso é correto?

    Quase. O encaminhamento entre segmentos de LAN pode ser habilitado ou desabilitado no kernel. Você pode verificar /proc/sys/net/ipv4/ip_forwardse ele está habilitado para IPv4 (e você pode configurá-lo escrevendo 0ou 1neste pseudo-arquivo).

    Além disso, o que muitas pessoas esquecem é que o roteamento deve funcionar para todos os participantes. Por exemplo, máquinas na LAN A precisarão saber que para endereços IP na LAN B, os pacotes primeiro precisarão ir para 192.168.1.3 para alcançar sua máquina com duas NICs. Se 192.168.1.3 for o gateway (rota padrão) para todas as máquinas na LAN A, isso acontecerá automaticamente. Caso contrário, as máquinas na LAN A precisam de informações de roteamento adicionais (que, por exemplo, podem ser distribuídas por DHCP).

    Além disso, o iptables não está roteando . Muitas pessoas leem tutoriais que usam iptablespara roteamento e depois confundem os dois. iptablesé para filtragem (ou seja, um firewall). Você pode rotear sem ter iptablescompilado no kernel.

    Portanto, no seu cenário: Se você deseja manter os hosts na LAN A ignorando os hosts na LAN B (e vice-versa), apenas desative o roteamento na máquina com duas NICs. Se eles puderem ver uns aos outros em princípio, exceto para o serviço da web em 192.168.2.5:80, então você precisará de regras de filtragem sobre o roteamento para excluir exatamente esse serviço da web.

    E todo o cenário pode ficar mais complicado dependendo de como a LAN A e a LAN B devem acessar "a Internet".

    (Conselho geral: Se você quiser perguntar alguma coisa sobre rede, primeiro desenhe um diagrama de rede com todas as partes importantes).


    Um roteador doméstico típico tem um login da Web aberto para LAN (LAN B na pergunta original) e acho que, por padrão, esse login não é acessível via WAN (LAN A).

    Neste caso, o roteador já está configurado de forma diferente: O lado da LAN usa um intervalo de IP de endereço privado, e esses IPs não deveriam aparecer no lado da WAN (porque existem várias LANs privadas conectadas a esta WAN, que todos poderiam usar os mesmos endereços). Assim, o roteador faz a tradução de endereços de rede (NAT): Para cada solicitação de entrada da LAN A endereçada à WAN, essa solicitação será inserida em uma tabela (rastreamento de conexão) e todos os pacotes de saída e de entrada para essa solicitação serão modificados, substituindo o Endereço IP (e porta) na LAN a com o endereço IP que o roteador tem na WAN (e uma porta escolhida aleatoriamente para esta conexão).

    Isso por si só impede que qualquer coisa na WAN inicie conexões com qualquer coisa na LAN A, incluindo a interface do roteador na LAN A.

    Além disso, você tem regras de firewall que impedem que qualquer coisa recebida da WAN seja roteada para a LAN A, exceto aquelas conexões originadas na LAN A.

    E se você quiser permitir isso, você precisa configurar o "encaminhamento de porta".

    Nesse caso, qual mecanismo impede o login da WAN?

    Portanto, no cenário acima, o servidor de login apenas se vincula apenas ao endereço IP na LAN A.

    Eu acho que por padrão o Linux deve permitir o acesso, (e ip_forward é uma opção irrelevante para este caso específico) então deve haver algumas regras de firewall que proíbem isso, correto?

    Em princípio, sim, mas veja os detalhes descritos acima (NAT em cima das regras de firewall).

    • 0

relate perguntas

  • Win10 1803: Como tornar o ponto de acesso móvel uma rede privada?

  • Como o nc identifica nomes de serviço

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

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

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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