Red Hat Training

A Red Hat training course is available for RHEL 8

31.3. Utilização de funções do sistema para definir as características do etool

Você pode usar a função do Sistema RHEL networking para configurar ethtool recursos de uma conexão NetworkManager.

Importante

Quando você executa uma peça que usa o Sistema Função networking RHEL, o Sistema Função substitui um perfil de conexão existente com o mesmo nome se as configurações não coincidirem com as especificadas na peça. Portanto, sempre especifique toda a configuração do perfil de conexão de rede na peça, mesmo que, por exemplo, a configuração IP já exista. Caso contrário, o papel redefine estes valores com seus padrões.

Dependendo se já existe, o procedimento cria ou atualiza o perfil de conexão enp1s0 com as seguintes configurações:

  • Um endereço IPv4 estático - 198.51.100.20 com uma máscara de sub-rede /24
  • Um endereço IPv6 estático - 2001:db8:1::1 com uma máscara de sub-rede /64
  • Um gateway padrão IPv4 - 198.51.100.254
  • Um gateway padrão IPv6 - 2001:db8:1::fffe
  • Um servidor DNS IPv4 - 198.51.100.200
  • Um servidor DNS IPv6 - 2001:db8:1::ffbb
  • Um domínio de busca DNS - example.com
  • ethtool apresenta:

    • Genéricos recebem descarregar (GRO): desativado
    • Segmentação genérica de descarga (GSO): habilitada
    • Segmentação do TX Stream Control Transmission Protocol (SCTP): desativado

Pré-requisitos

  • Os pacotes ansible e rhel-system-roles estão instalados no nó de controle.
  • Se você usar um usuário remoto diferente do root ao executar o playbook, este usuário tem as permissões apropriadas sudo no nó gerenciado.

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 ~/configure-ethernet-device-with-ethtool-features.yml com o seguinte conteúdo:

    ---
    - name. Configure an Ethernet connection with ethtool features
      hosts: node.example.com
      become: true
      tasks:
      - include_role:
          name: linux-system-roles.network
    
        vars:
          network_connections:
            - name: enp1s0
              type: ethernet
              autoconnect: yes
              ip:
                address:
                  - 198.51.100.20/24
                  - 2001:db8:1::1/64
                gateway4: 198.51.100.254
                gateway6: 2001:db8:1::fffe
                dns:
                  - 198.51.100.200
                  - 2001:db8:1::ffbb
                dns_search:
                  - example.com
              ethtool:
                feature:
                  gro: "no"
                  gso: "yes"
                  tx_sctp_segmentation: "no"
              state: up
  3. Execute o livro de brincadeiras:

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

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

      # ansible-playbook -u user_name --ask-become-pass ~/configure-ethernet-device-with-ethtool-features.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

  • ethtool Para uma lista completa dos recursos e detalhes sobre os parâmetros usados em network_connections, e para informações adicionais sobre a função do sistema 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).