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 / user-256238

schweik's questions

Martin Hope
schweik
Asked: 2023-02-18 00:00:23 +0800 CST

Como proteger a interface de toque com nftables

  • 5

A Qemu VM pode ser conectada à LAN principalmente de duas maneiras: type=userou type=tap. O usermodo isola completamente a VM na rede privada, que é sNATed para hospedar a pilha de rede principal. O uso do tapé mais complicado, ele precisa de um virtual bridgepara se tornar mestre de uma interface física ( eth0) e interface virtual ( tap0). O tap0é como um tubo para dados fluindo de fora do mundo e host para a VM. Passei muitas horas tentando regular o tráfego de rede na tap0interface com o lado do host iptables/nftablespara redirecionar, por exemplo, todas as solicitações http para algum endereço IP interno, mas sem sucesso. Todos os conselhos, fóruns e wiki recomendam muitas soluções, que não podem funcionar, devido ao principal motivo: os pacotes da VM convidada nunca chegam à pilha de rede do kernel do host. Eles escolhem seu caminho no nível da ponte e não atendem a nenhuma regra de firewall ajustada por nenhuma cadeia de filtro de pacotes, se o endereço IP do host não for seu alvo. Você pode tentar simplesmente definindo a política global do host para DROP(com host XYtables) e poderá ver: a rede do host está completamente inoperante, mas o convidado pode continuar a enviar e receber pacotes pela rede.

Bem, a pergunta: Existe alguma outra maneira de conectar virtualmente a VM convidada a uma interface de rede virtual do host? Para melhor entendimento seguem os gráficos:

     General virtual connections for host/VM guest
    +---------------------------------------------+
    |    +-----------------------------+          |
    |    |    iptables    host kernel  |          |
    |    |    nftables   network stack |          |
    |    +-------+---------------------+          |
    |            |                                |
    |    +-------+---------+      +-----------+   |
---eth0--+    virtual      |      |    VM     |   |
    |    |    bridge       +-tap-eth0 guest   |   |
---eth1--+      br0        |      |           |   |
    |    +-----------------+      +-----------+   |
    +---------------------------------------------+


       Host became a router for VM guest
    +-------------------------------------+
    |    +----------------+  +---------+  |
---eth0-->  host kernel   |  |    VM   |  |
    |    |                <-vppp guest |  |
---eth1-->  network stack |  |         |  |
    |    +----------------+  +---------+  |
    +-------------------------------------+

Para resolver meu problema, deve haver uma maneira de controlar (com nftables, por exemplo) o tráfego da própria ponte virtual, ou como conectar a interface de rede convidada da VM por meio de um fio virtual a uma interface de rede virtual do host. Algo como uma rede PPPoE.

Mas a maneira definitiva e mais clara é adicionar mais alguns parâmetros à rede do modo de usuário Qemu para poder forçar o redirecionamento de algumas portas (serviços) para o endereço de destino escolhido, incluindo o loopback do host. Sim, enviei esses desejos à equipe do Qemu e obtive uma resposta: não é o recurso mais necessário.

virtual-machine
  • 1 respostas
  • 15 Views
Martin Hope
schweik
Asked: 2022-03-10 07:42:09 +0800 CST

Como configurar a rota estática de duas sub-redes para o firewall

  • 1

Bem, uma imagem por mil palavras. 3 sub-redes privadas:

                                                  +-----+    +-----+
                                                  | PC2 |    | PC3 |
                                       Linux      | .2  |    | .3  |
  __                                +----------+  +-----+    +-----+
 i  \                               |        .1|     |          |
 n   )     +-----+                  |    ------|-----+----------+-----
 t  (      |     |  192.168.0.0/24  |.1/     / |eth1  192.168.1.0/24
 e   > ----|FW .2|------------------| < LR  X  |
 r  (      |     |              eth0|  \     \ |eth2  192.168.2.0/24
 n   )     +-----+                  |    ------|-----+----------+-----
 e__/                               |        .1|     |          |
                                    +----------+  +-----+    +-----+
                                       Router     | .4  |    | .5  |
                                                  | PC4 |    | PC5 |
                                                  +-----+    +-----+

Roteador Linux:

ifcace eth0 inet static
    address 192.168.0.1/24
    gateway 192.168.0.2
    dns-nameservers 8.8.8.8

ifcace eth1 inet static
    address 192.168.1.1/24

ifcace eth2 inet static
    address 192.168.2.1/24

PCx (..1.x):

ifcace eth0 inet static
    address 192.168.1.x/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8

PCx (..2.x):

ifcace eth0 inet static
    address 192.168.2.x/24
    gateway 192.168.2.1
    dns-nameservers 8.8.8.8

LR

# echo "1" > /proc/sys/net/ipv4/ip_forward
# ip route list
default via 192.168.0.2 dev eth0 onlink 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1 
192.168.2.0/24 dev eth2  proto kernel  scope link  src 192.168.2.1 

O roteador Linux pode facilmente pingar para o FW e se comunicar com a Internet pública. O LR também pode executar ping em todos os PCs. PCx pode fazer ping no 192.168.0.1endereço, mas não pode fazer ping no FW 192.168.0.2(Host Unreachable)

Não se destina a rotear entre 192.168.1.0/24e 192.168.2.0/24, mas é altamente esperado que alcance a Internet pública por meio de FW. Eu sei, que é possível fazer algo com o iptables NAT, o que significa configurar dois firewalls tandem, mas não é disso que precisamos. A rota estática simples é preferida.

Eu pesquisei uma nota, que poderia ser útil para definir "regras de ip", mas não entendi como.

Por favor, você pode me informar, o que a maldita configuração pode definir o roteamento esperado?

ip routepode ser uma ferramenta poderosa, mas algum tutorial claro com exemplos deve ser muito útil.

linux configuration
  • 1 respostas
  • 79 Views
Martin Hope
schweik
Asked: 2019-07-06 13:11:18 +0800 CST

Como configurar/iniciar rapidamente o switch L2 da caixa linux

  • 2

Eu tinha uma LAN 192.168.22.0/24 totalmente isolada com dois switches HW: 1Gbit e 10Gbit. O antigo switch de 10 Gbit também suportava 1 Gbit, portanto, não havia problema em conectar os dois switches. Na semana passada, recebemos um novo switch de 10 Gbit que não suporta 1 Gbit. Devo conectar imediatamente essas partes de rede repentinamente divorciadas, porque em 10 Gbit há sementes principalmente nos servidores (incluindo dhcp) e a maioria das estações de trabalho está conectada a 1 Gbit. Felizmente, eu tenho uma caixa debian linux conectada a ambas as partes e posso configurá-la como switch de 1/10 Gbit temporariamente. Eu segui as dicas, mas não observei a ponte - por exemplo, nenhum efeito na tabela arp, nenhum ping de wks para o servidor. Eu escrevi um roteiro:

#!/bin/bash
ip link add name br0 type bridge
ip link set dev  br0 up
ip link set dev eth0 master br0 #1Gb
ip link set dev eth1 master br0 #XGb

Por favor, você pode me responder alguma pergunta:

  • a eth0 e eth1 podem ter (o mesmo) endereço IP ? ou o endereço IP pode obter o br0?
  • o iptables tem que ser desabilitado/desinstalado/desinstalado? (iptables não está em uso)
  • existe algum bit de habilitação "forward" para ser definido?
  • esse software poderia realmente mudar a transmissão dhcp?

Eu tenho um runnig tasks na minha caixa linux, por isso não testei as dicas de como configurar /etc/network/interfaces – estou feliz por ter desabilitado o NetworkManager, não consigo reiniciar.

Qualquer ajuda e sugestão são bem-vindas, eu ficaria feliz em voltar à LAN antes da manhã de segunda-feira.

linux bridge
  • 1 respostas
  • 2741 Views

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk 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