4.3. Configuração de uma ponte de rede

Uma ponte de rede é um dispositivo de camada de ligação que encaminha o tráfego entre redes com base em uma tabela de endereços MAC. A ponte constrói a tabela de endereços MAC ouvindo o tráfego da rede e, assim, aprendendo quais hosts estão conectados a cada rede. Por exemplo, você pode usar uma ponte de software em um host Red Hat Enterprise Linux 8 para emular uma ponte de hardware ou em ambientes de virtualização, para integrar máquinas virtuais (VM) à mesma rede que o host.

Uma ponte requer um dispositivo de rede em cada rede que a ponte deve conectar. Quando você configura uma ponte, a ponte é chamada controller e os dispositivos que ela usa ports.

Você pode criar pontes em diferentes tipos de dispositivos, como por exemplo:

  • Dispositivos Ethernet físicos e virtuais
  • Títulos de rede
  • Equipes de rede
  • Dispositivos VLAN

Devido ao padrão IEEE 802.11 que especifica o uso de quadros de 3 endereços em Wi-Fi para o uso eficiente do tempo de antena, não é possível configurar uma ponte sobre redes Wi-Fi operando nos modos Ad-Hoc ou Infra-estrutura.

4.3.1. Configuração de uma ponte de rede usando as funções do sistema RHEL

Você pode usar o sistema networking RHEL Role para configurar uma ponte Linux. Este procedimento descreve como configurar uma ponte de rede que utiliza dois dispositivos Ethernet e define endereços IPv4 e IPv6, gateways padrão e configuração DNS.

Nota

Defina a configuração IP na ponte e não nas portas da ponte Linux.

Pré-requisitos

  • Os pacotes ansible e rhel-system-roles estão instalados no nó de controle.
  • Se você usar um usuário remoto diferente de root ao executar o playbook, este usuário tem as permissões apropriadas sudo no nó gerenciado.
  • Dois ou mais dispositivos físicos ou virtuais de rede são instalados no servidor.

Procedimento

  1. Se o anfitrião no qual você deseja executar as instruções no playbook ainda não estiver inventariado, adicione o IP ou nome deste anfitrião ao arquivo /etc/ansible/hosts Inventário possível:

    node.example.com
  2. Crie o playbook ~/bridge-ethernet.yml com o seguinte conteúdo:

    ---
    - name: Configure a network bridge that uses two Ethernet ports
      hosts: node.example.com
      become: true
      tasks:
      - include_role:
          name: linux-system-roles.network
    
        vars:
          network_connections:
            # Define the bridge profile
            - name: bridge0
              type: bridge
              interface_name: bridge0
              ip:
                address:
                  - "192.0.2.1/24"
                  - "2001:db8:1::1/64"
                gateway4: 192.0.2.254
                gateway6: 2001:db8:1::fffe
                dns:
                  - 192.0.2.200
                  - 2001:db8:1::ffbb
                dns_search:
                  - example.com
              state: up
    
            # Add an Ethernet profile to the bridge
            - name: bridge0-port1
              interface_name: enp7s0
              type: ethernet
              master: bridge0
              slave_type: bridge
              state: up
    
            # Add a second Ethernet profile to the bridge
            - name: bridge0-port2
              interface_name: enp8s0
              type: ethernet
              master: bridge0
              slave_type: bridge
              state: up
  3. Execute o livro de brincadeiras:

    • Para se conectar como usuário root ao host gerenciado, entre:

      # ansible-playbook -u root ~/bridge-ethernet.yml
    • Para conectar-se como usuário ao host administrado, entre:

      # ansible-playbook -u user_name --ask-become-pass ~/bridge-ethernet.yml

      A opção --ask-become-pass garante que o comando ansible-playbook solicita a senha sudo do usuário definido no -u user_name opção.

    Se você não especificar o -u user_name ansible-playbook se conecta ao host gerenciado como o usuário que está atualmente conectado ao nó de controle.

Recursos adicionais

  • Para detalhes sobre os parâmetros usados em network_connections e para informações adicionais sobre o Sistema de Papel network, consulte o arquivo /usr/share/ansible/roles/rhel-system-roles.network/README.md.
  • Para obter detalhes sobre o comando ansible-playbook, consulte a página de manual ansible-playbook(1).