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 / 1168229
Accepted
Thomas P
Thomas P
Asked: 2024-11-27 23:12:20 +0800 CST2024-11-27 23:12:20 +0800 CST 2024-11-27 23:12:20 +0800 CST

libvirt: Adicionar rota estática em rede isolada

  • 772

Estou trabalhando com o Ubuntu 24.04 Desktop e criei uma VM conectada à libvirt-NAT-Bridge padrão e uma segunda rede isolada.

A rede em ponte é virbr0: 192.168.122.0/24o host obtido 192.168.122.1e a VM obtida estática 192.168.122.128. A rede isolada é 10.95.212.0/24.

Quero poder fazer ping/ssh em hosts na rede isolada, por isso configurei uma rota estática ( route add ...) no host. Funciona, mas não sobreviveu a uma reinicialização. Tentei, nmtuimas a rota desaparece na reinicialização.

Pensei em virsh net-edit default, mas não encontrei nenhuma documentação sobre como fazer isso.

Onde devo definir a rota para que ele sobreviva à reinicialização?

kvm-virtualization
  • 1 1 respostas
  • 25 Views

1 respostas

  • Voted
  1. Best Answer
    larsks
    2024-11-28T04:02:09+08:002024-11-28T04:02:09+08:00

    Uma opção é configurar a rota estática no seu host. Parece que você tentou fazer isso, mas como não nos forneceu detalhes, é difícil dizer por que não funcionou.

    Com meu sistema Ubuntu 24.04, comecei com uma configuração de interface criada assim:

    root@ubuntu:~# nmcli conn add type ethernet ifname enp1s0 \
      con-name wired ipv4.method auto autoconnect yes save yes
    

    Isso me dá um endereço na rede libvirt padrão (que no meu sistema é 192.168.124.0/24):

    root@ubuntu:~# ip addr show enp1s0
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:eb:75:96 brd ff:ff:ff:ff:ff:ff
        inet 192.168.124.148/24 brd 192.168.124.255 scope global dynamic noprefixroute enp1s0
           valid_lft 3405sec preferred_lft 3405sec
        inet6 fe80::9714:efbc:6239:b9e/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    

    Para adicionar uma rota estática a esta configuração, posso modificá-la com o nmcli modifycomando:

    root@ubuntu:~# nmcli c mod wired +ipv4.routes "10.95.212.0/24 192.168.124.10"
    

    Após uma reinicialização, eu tenho:

    root@ubuntu:~# ip route
    default via 192.168.124.1 dev enp1s0 proto dhcp src 192.168.124.148 metric 100
    10.95.212.0/24 via 192.168.124.10 dev enp1s0 proto static metric 100
    192.168.124.0/24 dev enp1s0 proto kernel scope link src 192.168.124.148 metric 100
    

    De acordo com a documentação do libvirt , deve ser possível definir rotas estáticas na definição de rede para que sejam fornecidas aos seus hosts via DHCP. Eu experimentei um pouco com isso, mas não parece funcionar como documentado.

    Felizmente, também é possível especificar opções arbitrárias do dnsmasq , o que significa que podemos adicionar a configuração necessária do dnsmasq assim:

    <network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0' connections='1'>
      <name>default</name>
      <forward mode='nat'>
        <nat>
          <port start='1024' end='65535'/>
        </nat>
      </forward>
      <bridge name='virbr0' stp='on' delay='0'/>
      <mac address='52:54:00:9d:aa:d8'/>
      <ip address='192.168.124.1' netmask='255.255.255.0'>
        <dhcp>
          <range start='192.168.124.10' end='192.168.124.200'/>
        </dhcp>
      </ip>
    
      <!-- HERE IS WHERE WE ADD THE ROUTE -->
      <dnsmasq:options>
        <dnsmasq:option value='dhcp-option=option:classless-static-route,10.95.212.0/24,192.168.124.10'/>
      </dnsmasq:options>
    </network>
    

    Com isso em vigor, hosts que usam DHCP para configuração de interface receberão a rota por meio de uma opção DHCP. Testei a configuração acima e ela funciona para hosts que usam NetworkManager e para hosts que usam systemd-networkd.

    • 1

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