sexta-feira, 24 de junho de 2016

Usando o comando ip para exibir configurações

Na série de artigos anteriores, mencionei que o comando preferido para exibir e configurar as interfaces de rede é o ip por linha de comando a partir do RHEL 7.

O comando ip é parte do pacote RPM iproute no qual substitui o comando ifconfig no qual está obsoleto, no qual faz parte do pacote RPM net-tools.

Para visualizarmos os endereços IPs de todas as interfaces, usamos a opção show para o comando ip.

Note que podemos utilizar três métodos para conseguirmos o mesmo resultado.

$ ip address show
$ ip a s
$ ip a

Podemos visualizar o endereço para uma única interface como exemplo a seguir:

# ip a s enp0s8


# ip -4 a s enp0s8

Neste comando -4 tem a saída para visualizar o endereço IPv4 para o NIC configurado.
Observe que dentro da segunda linha temos: scope global dinamic, indicando que é um endereço atribuído via DHCP.
# ip -6 a s enp0s8


Podemos exibir as estatísticas de transmissão para um interface específica:

# ip -s link show enp0s8


Perceba a flexibilidade desde comando, mas não se limita a apenas opções de link e endereços.

Com os comandos abaixo podemos visualizar a tabela de rota, cache ARP (Address Resolution Protocol).

# ip route show


# ip r


# ip neighbor show

O cache ARP exibe os endereços MAC dos dispositivos que estiverem conectados e que existem na mesma rede.

Até a próxima.

Raymundo César Monteiro Nunes


Desabilitando os nomes dos dispositivos de rede consistentes

Cenário:
SO: CentOS Linux release 7.2.1511 (Core)
Kernel: 3.10.0-327.el7.x86_64


OBS: Teste em ambiente de desenvolvimento, faça cópias de segurança dos arquivos originais de configurações.


Com esse novo método de nomenclaturas dos nomes dos dispositivos de rede em distribuições RHEL 7 e derivadas, tendo toda a vantagem como mencionados em artigos anteriores.

Podemos simplificar, principalmente quando temos uma única inteface, podemos utilizar o nome tradicional (eth0).

Outra opção é utilizar o software legado que utiliza esse esquema de nomeação, onde esses nomes do legado pode ser usado.

No artigo (Compreendendo como distribuições RHEL gerência dispositivos de rede versão  RHEL 7) aprendemos que no esquema 4, adicionando o atributo HWADDR no arquivo de configuração de rede e mudar o nome do arquivo em /etc/sysconfig/network-scripts/ifcfg-eth0 ou configurar o atributo DEVICE name com o valor para eth0 pode ser utilizado para essa mudança.

Para que essa definição seja global para todos os dispositivos, temos que usar obrigatoriamente parâmetros adicionais no kernel no momento da inicialização.

Onde podemos configurar via GRUB2 no arquivo /etc/default/grub.

A linha GRUB_CMDLINE_LINUX deve ser adicionada os comandos biosdevname e net.ifname.

Arquivo original:

Arquivo com os parâmetros: biosdevname e net.ifname:

Após que o arquivo foi editado e salvo, vamos atualizar a configuração no GRUB2 com o seguinte comando:

Reinicie o servidor para validar as novas configurações.

# shutdown -r now

Até a próxima..


Até a próxima.

Raymundo César Monteiro Nunes

quarta-feira, 22 de junho de 2016

Exemplo de  Identificação de Interfaces de Rede - Em sistemas RHEL 7 e Distribuições Derivadas


Neste exemplo onde vamos compreender na prática a identificação dos dispositivos de rede.

Usando o comando ip address show, vamos verificar quais dispositivos temos configurado na máquina de laboratório.
















Neste exemplo da imagem acima, ignorando a interface lo (local ou loopback), temos 2 dispositivos identificados enp0s3, enp0s8.

Entendendo a nomenclatura:

Interface 2:

en : Ethernet
p0 : Endereço do barramento 0
s3 : Slot 3

Interface 3:

en : Ethernet
p0 : Endereço do barramento 0
s8 : Slot 8

Na pasta /etc/sysconfig/network-scripts/


Até a próxima.

Raymundo César Monteiro Nunes





Compreendendo como distribuições RHEL gerência dispositivos de rede versão  RHEL 7


Muitos administradores de GNU/Linux se acostumaram a utilizar o comando ifconfig para exibir e definir endereços IPs em hosts GNU/Linux.
Embora este comando ainda seja válido, ele é marcado como obsoleto em comparação ao comando ip.
Para usuários de sistemas Microsoft Windows que migram ou interagem com sistemas GNU/Linux, o uso do comando ifconfig é algo natural, já que o ipconfig se torna idênticos na  linha de comando.
Mas como recomendação por parte de novas práticas, vamos aprender a utilizar o comando ip.
Nos sistemas RHEL 7 também nos traz novidades nas nomenclaturas dos dispositivos.
No primeiro contato pode ser algo estranho para nós que estamos acostumados com o usados /dev/eth0.

E também vamos abordar algo novo em sistemas RHEL o comando hostnamectl. No qual pode ser usado para definir o nome do host para a sessão atual e persistentemente em uma configuração só, sem a necessidade de utilizar o comando hostname ou a edição do arquivo /etc/hostname.
Aprendendo a nomenclatura consistente para dispositivos de rede

Há algum tempo temos em servidores e desktops a utilização cada vez maior de muitas interfaces de placas de rede de várias portas e interfaces LON (LAN na placa-mãe).
Na utilização da nomenclatura tradicional, tudo isso pode ocorrer de termos dispositivos de rede inconsistentes.Na família RHEL 7 e suas distribuições provenientes, udev suporta um número de diferentes esquemas de nomeação para os dispositivos de rede.

Esse padrão para a distribuição de nomes fixos com base em firmware, topologia e informações de localização devolvidos a partir do próprio dispositivo.

Dentro desse modo, a nomenclatura é relacionada com o próprio dispositivo físico e mantém-se consistente e previsível, mesmo no advento de falha de hardware que é substituído.

Com essa nova metodologia é evitar que o dispositivo eth0 se torne o eth1 e vice-versa.

A desvantagem é que os nomes se tornam longos e difíceis de serem lembrados.

Neste exemplo no qual utilizo o VirtualBox onde é nomeada como eno16777737.

A nomenclatura é gerida por systemd, o novo daemon de inicialização no qual suporta os esquemas de nomeação ao detectar o hardware durante o processo de inicialização.

Esquema 1: Especifica nomes que podem incorporar firmware ou a informação da BIOS que foi retornada do dispositiv o onboard. Podem assumir a forma de enoxxx (letra o é de onboard). Caso esse esquema falhe vai para o esquema 2.

Esquema 2: Especifica nomes que podem incorporar firmware ou a informação da BIOS de retorno dos cartões do slot PCI Express. Podem assumir a forma de ensxxx. Caso esse esquema falhe vai para o esquema 2.

Esquema 3: Especifica nomes que podem incorporar a localização física do conector tal como o endereço do slot da placa-mãe. Podem assumir a forma de enpxxx. Caso esse esquema falhe volta ao esquema 5 (Esquema 4 é opcional).

Esquema 4: Identifica nomes baseados no MAC (Media Acess Control), endereço do NIC (Network Intaface Card) definidos no HWADDR (Endereço de Hardware) atribuídos no arquivo de configuração de rede. Esses nomes assumem a forma do nome fornecido de uma placa de interface LOM de eno16777737 para interna, como root, edita o /etc/sysconfig/network-scripts/icfg-eno16777737, neste caso é obrigatório adicionar o atributo HWADDR e editar o arquivo. Usando o atributo NICDEVICE="interno".

Esquema 5: Se tudo falhar na nomeação dos dispositivos voltamos para o esquema de nomenclatura tradicional, como eth0, eth1 assim por diante.

 Resumo:

Todo dispositivo de interface de rede terá um prefixo de dois caracteres. No qual faz denotação ao tipo do protocolo da NIC.

en : Ethernet
wl : Lan sem fio
ww : Wide Area Wireless

Identificação do 3 caractere:

o : Dispositivos onboard
s : Dispositivo de slot hot-plug
p : Dispositivo PCI ou USB

Até a próxima.

Raymundo César Monteiro Nunes

 

domingo, 19 de junho de 2016

Determinar a distribuição e versão de sistemas RHEL


Nos treinamentos que participo ou ministro, existe sempre um pergunta recorrente.
Qual é a minha versão da distribuição e versão?
Se estivermos instalando do zero, então espero que você seja capaz de determinar o que você está instalando.
Neste tutorial, vamos aprender as várias formas que existem para determinar a distribuição e versão de distribuições:

  • Red Hat Enterprise Linux
  • CentOS
  • Fedora

 O arquivo /etc/system-release

Este arquivo é consistente em todas as distribuições baseadas no Red Hat.
Podemos simplesmente ler com o comando cat.
O arquivo é um link simbólico para um arquivo  relevante dentro do mesmo diretório que aponta o arquivo do SO correto.

 

 O arquivo /etc/issue

O segundo método pode ser ler o banner de login.

O comando \r irá exibir a versão do kernel e o comando \m irá exibir o tipo de máquina.



 Usando o comando lsb_release

Uma terceira maneira de exibir detalhes do sistema operacional é usar o comando lsb_release. O mesmo não é instalado como parte da instalação padrão. Precisamos instalar o pacote ao sistema.
Instalação Distribuição Red Hat | CentOS

Instalação Distribuição Fedora
Verificando com o comando lsb_release


Determinando a versão do kernel:
Até a próxima...
 
Raymundo César Monteiro Nunes