Como configurar e configurar arquivos TCP/IP no Linux (configurações TCP/IP para Linux)

Mesmo os não geeks provavelmente já ouviram falar de “ TCP/IP ”, mas todos sabem o que é ou como configurá-lo em um servidor Linux usando a linha de comando(using the command line) ?

Ajuda a definir a terminologia básica primeiro. No mínimo, permite que você desenvolva uma estrutura sobre a qual construir sua compreensão. TCP/IP não é exceção. 

Esta seção sobre terminologia não é uma lista exaustiva. Ele lhe dará uma base para iniciar sua jornada no entendimento da rede e como configurar arquivos TCP/IPLinux

The *Nix World

Você já se perguntou o que significa *nix ? E como o Unix e o Linux estão relacionados(Unix and Linux are related) (sem falar em todas as várias versões de cada um)?

*nix é um método de referenciar Linux e/ou Unix (ou qualquer distribuição) usando um curinga (o asterisco) para fazer isso. 

* Nix foi desenvolvido no final dos anos 1960. A AT& T Bell Labs desenvolveu o Unix na mesma época. através de várias iterações e desenvolvimentos, o Linux(Linux) também nasceu.

O resultado dessas inovações paralelas é que, uma vez que você aprenda a realizar instalações em um servidor por meio da linha de comando, você aprendeu uma habilidade que provavelmente é compatível com muitas outras tarefas em uma variedade de servidores  Unix ou Linux .

Man Pages – Informações na ponta dos dedos(Man Pages – Information at Your Fingertips)

Assim como o Google(Google) , o Linux tem seu próprio conjunto de ferramentas de pesquisa e pesquisa que permitem aos usuários encontrar os recursos de que precisam. Esses recursos são conhecidos como “páginas de manual”. Quando você estiver conectado a um servidor Linux (ou sistema operacional baseado em (Linux)Linux ), poderá abrir o aplicativo de linha de comando e digitar o que deseja pesquisar, como digitar um termo de pesquisa em um arquivo de documentação interativo.

Se você escolher um tópico que deseja pesquisar, como um utilitário Linux , ferramenta, daemon, script , você pode procurar digitando “man” e depois a palavra. Você aprenderá como fazer isso mais adiante neste artigo.

As páginas de manual são fáceis de usar. Basta(Just) começar a digitar algumas palavras e o sistema operacional Linux(Linux OS) começará a retornar as informações para você. Se não houver uma página de manual para um tópico específico , o Linux lhe dirá isso.

Na maioria das vezes, as páginas de manual são razoavelmente precisas para a versão do software em que aparecem. Por exemplo, se você estiver conectado a um servidor Linux com 10 anos de idade, a página man exibe informações relativas a essa versão (e idade).

As páginas de manual são fáceis de usar e precisas, mas há algumas ressalvas. Vamos ilustrar essas advertências por meio de imagens. 

Na imagem abaixo, a página man do ARP indica que o ARP está obsoleto (na seção “notas”) e que deve-se procurar ip neigh . Parece, por essa notação, que se pode querer digitar “ man ip neigh ” para acessar informações sobre a ferramenta/protocolo de substituição. 

No entanto, digitar “ man ip neigh ” não procura na página man por “ip neigh”. Em vez disso, ele procurará duas páginas de manual… uma para “ip” e outra para “neigh”. 

Embora seja verdade que você obterá uma página de manual se digitar “man ip neigh”, a menos que esteja prestando muita atenção, você pode não perceber que não é realmente o que estava procurando. 

Você pode adicionar um traço (mesmo que isso não seja o que mostra na página do manual ao fazer referência à ferramenta de substituição)… Então, se você adicionar um traço e digitar “man ip-neigh” isso também funciona bem, mas não está correto ou.

Você pode tentar digitar “ man ip-neighbour ” (observe a ortografia britânica). Ao digitar essa frase específica, você verá a página de manual correta para substituir a página de manual ARP (ou substituir o protocolo ARP ). A linha inferior é esta: se você não conseguir encontrar o que precisa, tente usar combinações diferentes até obter a página de manual desejada.

Como exemplo, tente procurar a página de manual da ferramenta nslookup. Você faz isso digitando “man nslookup”. Ao fazer isso, você verá uma página de manual semelhante à imagem/captura de tela abaixo. Você aprenderá tudo o que deseja saber sobre a ferramenta nslookup.

Após a página de manual aparecer na tela, você pode rolar para baixo, ler, aplicar, testar e até fechar a página de manual (digitando a letra “q” e deixando a página de manual fechar automaticamente).

Se você solicitar uma página de manual que não existe, o Linux fornecerá o feedback de que não há entrada para essa página de manual e tentará outra.

IPv4 e IPv6(IPv4 and IPv6)

Tanto o IPv4 quanto o IPv6 são tecnicamente iguais, mas não parecem iguais para nós humanos. Eles são um meio de identificar máquinas ou dispositivos em uma rede local ( LAN ). Eles são privados na forma como identificam os dispositivos na LAN .

O IPv4(IPv4) usa números separados por pontos/pontos. A maioria de nós está familiarizada com o tipo de endereço IP que vemos para computadores conectados às nossas redes privadas usando o formato IPv4 .

Os computadores em uma rede também têm um endereço IPv6 , mas a aparência é diferente. O IPv6(IPv6) é composto por caracteres alfanuméricos separados por dois pontos ( : ). 

Então, quais são as diferenças entre IPv4 e IPv6 ? Pense(Think) nisso como um nome de rede. Um é como o primeiro nome e o outro é o sobrenome. Ambos os nomes apontam para a mesma pessoa (ou neste caso, um computador). Assim como geralmente temos um primeiro nome diferente do nosso sobrenome, o “nome” IPv4(IPv4 “) será diferente do “nome” IPv6(IPv6 “) , embora ambos apontem para a mesma máquina.

Carla Schroeder escreveu um artigo fácil de ler e útil sobre IPv4 e IPv6(useful article about IPv4 and IPv6) .

Acesso root em um servidor Linux (e su e sudo)(Root Access on a Linux Server (and su and sudo))

Para muitas das tarefas que precisam ser concluídas, é necessário acesso root (também conhecido como administrador ou superusuário). Isso ocorre porque muitos desses utilitários e aplicativos são sensíveis o suficiente para serem restritos por motivos de segurança. 

Uma solução alternativa para efetuar login como root ou acionar o acesso de superusuário (su) é preceder um comando com “sudo” informando à máquina Linux que esse comando específico precisa ser executado como superusuário/raiz, mas que os comandos subsequentes não (a menos que também prefixado com a diretiva “sudo”). 

Nos casos em que “sudo” é usado e anexado ao comando, o Linux solicitará a senha su para autenticar a identidade e as permissões do superusuário.

Protocolos de rede(Networking Protocols)

há muitos protocolos diferentes a serem considerados ao discutir o Linux(Linux) . Os dois protocolos principais deste artigo são TCP e IP.

Protocolo de controle de transmissão (TCP)(Transmission Control Protocol (TCP))

Transmission Control Protocol , mais conhecido como TCP , é um protocolo usado para a transmissão de pacotes, assim como o nome descreve.

Veja abaixo uma explicação de várias ferramentas, incluindo a ferramenta Linux chamada Traffic Control (tc). 

O TCP(TCP) orienta o sistema operacional Linux sobre como os pacotes devem se mover de um lugar para outro. Ele também controla o tráfego de rede e direciona a transmissão de pacotes de informações (como pastas de dados(data) movendo-se de um lugar para outro). 

É por isso que o protocolo é chamado  de Transmission Control Protocol(Transmission Control Protocol) (TCP). 

Protocolo de Internet (IP)(Internet Protocol (IP))

Internet Protocol é comumente referido por sua sigla, IP.

No caso do IP você tem uma área mais ampla (a Internet ) para transmitir os pacotes. É como ter uma super-estrada mais larga, mais longa e mais percorrida… chamada internet. Enquanto o TCP controla o movimento de pacotes em uma rede, o IP controla o movimento de pacotes na Internet.

Protocolo ICMP(ICMP Protocol)

ICMP significa Internet Control Messaging Protocol . Embora seja um protocolo disponível na maioria das distribuições Linux , pode não estar disponível em todas as distribuições Linux . Isso foi evidenciado pela falta de uma página(Man) de manual dentro de uma instalação atual do Centos .

À primeira vista, pode não parecer que esse protocolo específico seja tão essencial, mas na realidade é. O ICMP(ICMP) é responsável por fornecer mensagens de erro se/quando um pacote não chegar corretamente ao seu destino. O ICMP(ICMP) é essencial para receber atualizações de status na entrega (ou recebimento) dos pacotes de informações que estão sendo transmitidos.

Protocolo de diagrama de usuário (UDP)(User Diagram Protocol (UDP))

O User Diagram Protocol(User Diagram Protocol) ( UDP ), assim como o Transmission Control Protocol(Transmission Control Protocol) ( TCP ), é um protocolo para a transmissão de pacotes de informações de um ponto a outro. No caso do TCP , como parte do processo/transmissão, há a verificação do sucesso na entrega do(s) pacote(s), tornando-o mais confiável que o UDP .

No caso do UDP , não há processo de verificação para que você não saiba se os pacotes foram transmitidos ou recebidos com sucesso e sem erros. Como tal, é um protocolo fácil de utilizar, mas não é verificável ou autenticado. 

Configuração do Linux(Linux Configuration)

Existem vários arquivos de configuração disponíveis no sistema operacional  Linux .

Por exemplo, se você estiver executando um servidor Apache em sua máquina Linux , os arquivos de configuração do Apache são importantes. (Apache)Esses arquivos permitem que o servidor web Apache saiba o que está acontecendo com o domínio e, mais especificamente, o site que está hospedado nesse servidor.

Às vezes, o arquivo de configuração é rotulado como httpd.conf. Às vezes é rotulado como apache.conf. Ou pode ser um rótulo/nome completamente diferente. Você pode encontrar os arquivos de configuração em um local em um servidor e outras vezes eles estão em um local completamente diferente em outro servidor.

Felizmente, existem comandos úteis que podem ajudar na localização de arquivos de configuração específicos. Por exemplo, você pode digitar o seguinte para localizar o arquivo de configuração “ httpd.conf ”, se existir:

find / -name “httpd.conf”

A primeira palavra, “localizar”, permite ao Linux saber qual comando/utilitário você está usando, que neste caso é o utilitário “localizar”. O segundo componente da linha de comando é o “/” que permite que o utilitário find saiba que ele deve pesquisar o caminho a partir do nível raiz do servidor.

Se você estava procurando em um local mais específico, você pode ter algo como “/etc” para informar ao Linux para iniciar no diretório etc e seguir esse caminho. Ao fornecer um caminho/local específico, você pode acelerar o processo, porque o Linux não precisa pesquisar em locais redundantes.

A opção “ -name ” permite ao Linux saber o que você está procurando no nome do arquivo ou diretório. É útil incluir o nome entre aspas e você também pode usar um asterisco ( * ) como curinga ao pesquisar.

Alguns exemplos de arquivos e diretórios de configuração no diretório/caminho “/etc” incluem: 

  • pam.d – um diretório que contém utilitários relacionados aos módulos de autenticação. “Su” e “sudo” são encontrados lá, como exemplo.
  • sysconfig – um diretório que inclui funções do computador, como gerenciamento de energia, mouse e muito mais. 
  • resolv.conf – um arquivo que auxilia na funcionalidade do servidor de nomes de domínio, se a máquina Linux estiver sendo usada nessa capacidade.
  • services – este arquivo contém as conexões disponíveis (ou seja, portas abertas) disponíveis na máquina Linux .

Se você está se perguntando se algum arquivo, caminho ou utilitário está obsoleto ou obsoleto, use as páginas man para verificar. Esta é uma maneira útil de manter o controle sobre o que é atual e o que mudou.

Entendendo o sistema de arquivos Linux(Understanding the Linux File System) 

Em muitas distribuições Linux(Linux distributions) , os arquivos de configuração são encontrados no diretório network-scripts sob o caminho “ etc/sysconfigSe eles não estiverem localizados lá, é provável que haja um local/caminho semelhante. Os arquivos que estão presentes neste caso específico são mostrados na captura de tela abaixo.

Como você verá na captura de tela abaixo, existem dois arquivos de configuração. Cada um deles é rotulado de acordo com suas respectivas interfaces (ou seja, ifcfg-eth0).

Os arquivos de configuração são precedidos por “ ifcfg ” que substitui o comando ifconfig(ifconfig command) (além de se tornar parte do nome do arquivo de interface). Dito isto, agora também foi um pouco substituído, já que o ifcfg não é compatível com o IPv6 .

As duas referências de interfaces ( ifcfg-eth0 e ifcfg-lo ) referem-se a tipos específicos de interfaces. Os desenvolvedores do Linux(Linux) foram úteis nessa área, fornecendo definição e orientação na forma de nomes de arquivos. No caso da interface terminar em “ eth0 ”, é uma interface que está conectada via “ethernet” ou tem capacidade de ethernet.

O uso das letras “ eth ” aponta na direção certa. O número que segue “eth” fornece o número do dispositivo. Assim, o próximo dispositivo Ethernet pode ser algo como “ ifcfg-eth1 ” e assim por diante.

O nome do arquivo que termina em “lo” refere-se a uma interface de “loopback”. Também é referenciado como “ localhost ”. Esta é uma conexão de rede que não é tecnicamente uma conexão de rede real. Ele simplesmente permite que os processos se comuniquem no dispositivo sem se comunicar pela rede. Pense “virtual” ao pensar nessa interface específica.

Todas as distribuições Linux são capazes de ter um loopback (ou localhost) e geralmente são configuradas para um por padrão. Eles usam uma interface que termina em “-lo”. O endereço IP do host local é geralmente 127.0.0.1. Em muitos casos, a interface virtual de loopback pode ser usada para testar conexões e descartar outros possíveis problemas de rede.

Os arquivos(The Files)

Existem diferentes maneiras de editar arquivos de configuração (assim como visualizá-los). Um método é usar o “ vi editor ” que é acessado através do comando “ vi ” seguido pelo nome do arquivo. Neste caso, quando se digita “ vi ifcfg-eth0 ” (sem as aspas) é possível visualizar as informações de rede para aquela interface em particular (eth0).

No entanto, seria mais aconselhável fazê-lo da maneira tradicional e seguir as instruções de configuração de rede encontradas na página de manual do ifcfg.

Isso também pode ser mais fácil para a pessoa não técnica. Usar o editor vi requer um pouco de atenção aos detalhes, portanto, se você é detalhista (ou já é um programador ou administrador de sistema), o editor vi pode ser uma solução ideal ao trabalhar com arquivos de configuração do Linux .(Linux)

Ao acessar as páginas man, podemos revisar informações sobre o script ifcfg que substituiu o script ifconfig (como mostrado na captura de tela acima da página man). Além disso, ao olhar para a lista de interfaces na distribuição Linux , notamos os comandos ifup e ifdown. Esses também podem ser revisados ​​em suas páginas de manual.

Uma captura de tela da página man é mostrada na imagem abaixo. Como você verá na página man, existem arquivos de configuração Linux adicionais (e os caminhos para chegar a esses arquivos) que podem ser consultados (e modificados) na instalação e configuração dos arquivos TCP/IPLinux .

Se você usar um editor de texto de linha de comando como o editor vi para visualizar o arquivo de configuração, você notará algumas opções definidas. Por exemplo, ao olhar para a interface de rede, você pode ver palavras em maiúsculas, seguidas por um sinal de igual (=) e, em seguida, outra palavra. 

Por exemplo, pode haver uma diretiva que é “ ONBOOT ” e pode dizer “ONBOOT=yes” como um exemplo de opção de configuração. Há vários outros pontos de configuração e opções também. Por exemplo, outro é NETMASK

Se você vir a diretiva de configuração, “ NETWORKING ”, ela deve ser seguida por um “sim”. Se for seguido por “não”, pode representar um problema, pois isso indicaria que a interface de rede não está ativada para rede. 

Aqui está um processo passo a passo para corrigir a situação que acabamos de descrever:

  1. Faça uma cópia do arquivo de configuração, por segurança. Há algumas maneiras de fazer isto. Um dos mais fáceis é com a janela de comando.

    Digite: cp ifcfg-eth0 ifcfg-eth0_20200101

    Em seguida, na próxima linha, digite: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    Isso move a cópia do arquivo que você acabou de fazer para um diretório que você está usando para backups.
  2. Agora que você fez um backup do arquivo de configuração, é hora de fazer alterações nesse arquivo de configuração. Se estiver usando o editor vi, digite o seguinte:

    vi ifcfg-eth0

    Depois de fazer isso, o arquivo será aberto no terminal/aplicativo de comando (semelhante à maneira como uma página de manual é aberta quando você a aciona).

    Quando o arquivo de configuração estiver aberto, você deve procurar a linha que inclui “ NETWORKING=no ” e excluir essa linha ou alterá-la para “NETWORKING=yes”. Isso pode ser feito com o “ cw” diretiva no editor vi. Ao digitar uma barra, você está dizendo ao editor vi que está procurando por algo. Neste caso, você informa ao editor que está procurando por “NETWORKING” e quando ele for encontrado (direcionando o mouse para aquele local) pode usar a tecla de seta para a direita para mover para a palavra “não”.

    Quando você chegar à palavra “não”, pare no “n” e digite “ cw ”, permitindo que você mude o “não” para “sim”. O “cw” significa alterar palavra e o Linux(Linux) permite que você altere a palavra inteira de uma palavra (“não”) para outra (“sim”). Se você quiser alterar apenas uma letra, poderá usar um “r” para substituir uma letra ou caractere.

    As capturas de tela mostram esse processo abaixo.
     
  3. Depois de salvar o arquivo de configuração (ou seja, digitar esc para sair do modo INSERT e depois um duplo Z para salvar o arquivo), é hora de reiniciar o serviço ou o computador. Isso pode ser feito de várias maneiras diferentes. Um método para reinicializar o computador é digitar a seguinte linha de comando:

    shutdown -r now

    O comando shutdown informa à máquina Linux para desligar. (Linux)A opção -r informa ao comando que não é apenas um desligamento, mas uma reinicialização e para fazê-lo agora.

    Dica:(Tip:) Se você quiser saber quando o computador ou servidor concluiu a reinicialização, digite “ping” e depois o endereço IP público do computador/servidor (ou um nome de domínio de um site hospedado no servidor Linux ).

    Ao usar o comando ping, você verá que o servidor não é “pingável” (o que acontece durante a reinicialização) e então quando o servidor reiniciar com sucesso, o ping responderá com uma resposta positiva, indicando uma reinicialização bem-sucedida.

A seguir estão algumas imagens que ajudam a ilustrar as etapas da lista acima.

Passo 1:

Passo 2:

Dica:(Tip:) Tenha em mente que nada no mundo do servidor é singular. Por exemplo, você pode alterar a configuração de uma interface específica (neste caso eth0), mas pode ser apenas uma interface em uma rede e pode ser afetada por (ou afetar) outro servidor.

Portanto, no exemplo acima, ao reiniciar o servidor, ele fará com que os dispositivos de rede também reiniciem. Esta não é a opção singular para esta interface, mas esta interface seria afetada por um comando para reiniciar. 

/etc/hosts File(s)

O arquivo /etc/hosts pode ou não existir. Se existir, pode ou não ser utilizado na configuração. Por exemplo, você pode ter um sistema diferente que lida com configurações de host, em vez de gerenciar o arquivo diretamente. Além disso, o próprio arquivo hosts varia. Por exemplo, IPv4 e IPv6 tratam a configuração de forma diferente, como você pode ver na imagem abaixo.

Configuration Files; Locations/Paths; Terms; and More

Alguns nomes de arquivos e localizações de arquivos úteis adicionais são:

  • /etc/sysconfig/network-scripts/ (caminho do arquivo de configuração)
  • /etc/sysconfig/network-scripts/ifcfg-eth0 (arquivo de configuração)
  • /etc/hosts (arquivo de configuração)
  • /etc/resolv.conf (arquivo de configuração com informações do servidor de nomes)

Em muitos casos, o software do sistema ou do servidor cria os arquivos de configuração automaticamente. Além disso, se o DHCP for usado, há outros aspectos da configuração de rede que são calculados dinamicamente, pois os endereços IP estáticos não são usados ​​nesse caso.

Os seguintes comandos de linha de comando (CL) foram (ou são) usados ​​na maioria das distribuições Linux. Onde eles são obsoletos ou obsoletos, o comando de substituição é listado.

  • route ( obsolete / deprecated ): Foi usado para mostrar e editar rotas. Substituído pela rota ip(ip route) .
  • hostname : Usado para exibir ou manipular e editar o hostname da máquina. 
  • netstat : Visualize conexões de rede, tabelas de roteamento, estatísticas de interface, associações multicast, etc.
  • arp : ( obsolete / deprecated ) Usado para mostrar informações IPv4 ; especificamente o cache vizinho de rede. IPv6 tornou-se o endereço de rede, substituindo a coleção IPv4 de quatro números separados por pontos. À luz dessas mudanças, este comando obsoleto foi substituído por ip neigh .
  • ip : Não apenas IP significa “protocolo de internet” e a melhor WAN (rede de longa distância”), mas também é um utilitário que permite ao administrador do sistema ou ao usuário do computador visualizar os parâmetros TCP/IP , bem como defini-los como precisava.
  • tc : Isso significa “controle de tráfego” e é um utilitário para ajudar no gerenciamento do tráfego de entrada e saída na máquina  Linux .

Ferramentas de configuração: GUI vs. Linha de Comando (CL)(Configuration Tools: GUI Vs. Command Line (CL))

Para fornecer um ponto de referência, as três imagens a seguir exibem um mecanismo de interface gráfica do usuário ( GUI ) para lidar com a configuração de rede, incluindo TCP/IP

A primeira imagem é a Apple Mac GUI ( System Preferences > Networking ) e as duas segundas imagens são do sistema operacional Windows(Windows Operating System) (embora varie de versão para versão). Ele é acessado através do Painel de Controle da Microsoft(Microsoft Control Panel) e Conexões de Rede(Network Connections) , como você pode ver nas capturas de tela.

Prós e contras da GUI Versus Editor de Texto ou Linha de Comando (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Embora muitas pessoas prefiram interfaces gráficas de usuário ( GUI ) por causa de sua facilidade de uso, apresentação visual e simplicidade geral, é útil entender os arquivos de configuração (neste caso relacionados à rede) para que você possa solucionar e corrigir quaisquer problemas. 

Você pode querer pegar a GUI primeiro, mas ajuda estar totalmente informado… apenas no caso. Além disso, existem alguns sistemas operacionais que não necessariamente têm uma GUI (ou ainda não têm uma), então novamente; é útil estar preparado.

Na próxima seção abordaremos os arquivos de configuração e como acessá-los, atualizá-los, bem como o gerenciamento dos arquivos e utilitários.

Ferramentas, utilitários, scripts e daemons de linha de comando do Linux (CL)(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Existem muitas ferramentas disponíveis para distribuições Linux . Novamente(Again) , como outros comandos, existem semelhanças (e diferenças) entre como essas ferramentas são usadas nas diferentes distribuições. Em alguns casos, as ferramentas estão disponíveis, mas precisam ser instaladas primeiro, e o processo de instalação geralmente varia.

A ferramenta de linha de comando é frequentemente referenciada como shell e, nos primeiros dias, terminal . Existem outros termos para isso, mas geralmente é um aplicativo que permite ao usuário acessar sistemas operacionais digitando comandos em uma janela.

Vejamos alguns exemplos. O primeiro é do sistema operacional Windows e provavelmente parece familiar para os usuários do (Windows)Windows . A ferramenta é aberta digitando CMD (como mostrado nas capturas de tela abaixo). 

A segunda captura de tela é a de um aplicativo chamado Terminal que vem pré-instalado na maioria dos computadores Apple .

NSLookup (nslookup)

No caso de nslookup , o ns significa servidor de nomes(nameserver) e a parte de pesquisa(lookup) do comando é uma “pesquisa” de informações. Então, o que o nome dessa ferramenta está nos dizendo é que ela buscará informações geralmente disponíveis por meio de um servidor de nomes.

NSLookup é uma ferramenta útil. Nesse caso, estamos usando-o para pesquisar informações sobre o eBay. Para isso, digitamos “nslookup ebay.com” e nos são apresentadas informações semelhantes às mostradas na imagem abaixo.

O comando é exibido na parte superior da captura de tela (após as informações privadas desfocadas). Em seguida, a saída dessa solicitação (o nslookup ) é mostrada abaixo, com informações como Servidor(Server) (o endereço IP público), o endereço IP(IP address) específico etc. 

Controle de Tráfego (tc)(Traffic Control (tc))

Outra ferramenta é a ferramenta “Controle de Tráfego” (também conhecida como “tc”). É uma ferramenta que permite o agendamento e processamento de pacotes de dados. 

O comando informa como(how) os pacotes se movem em uma rede. Esse aspecto inclui as(how) respostas a perguntas como tempo, velocidade, dispositivos e muito mais. Aqui está uma representação de linha de comando (CL) do uso do Controle de Tráfego(Traffic Control) (tc):

Embora possa parecer “sem sentido” para alguns, cada palavra na linha de comando representa algo importante. Aqui está a listagem:

  • tc : Esta é a ferramenta, neste caso “Controle de Tráfego” (também conhecido como “tc”). Isso informa ao aplicativo/software de linha de comando qual ferramenta Linux usar.
  • qdisc : Esta abreviação significa disciplina de filas(queuing discipline) e é outra maneira de descrever um agendador simples.
  • add : Como estamos construindo uma configuração (sim, tecnicamente um arquivo), estamos informando à ferramenta que estamos adicionando(adding) aos controles.
  • dev eth0 : O “dev” refere-se ao “dispositivo”, informando à ferramenta que estamos prestes a definir o dispositivo. O “eth0”, neste caso, é a referência ao dispositivo. Você notará que isso é semelhante ao que aparece em uma interface gráfica do usuário ( GUI ) para um rótulo de dispositivo.
  • root : informa à ferramenta que estamos modificando o tráfego de saída do nível raiz ou saída.
  • netem : Esta palavra representa a frase “emulador de rede”. Embora possa não ser a rede de hardware, está emulando o mesmo. Isso é semelhante ao modo como o software Parallels emula o software Windows para computadores Apple . Concedido, é um software completamente diferente, mas é um software de emulação da mesma forma que o netem está emulando uma rede. Neste caso, netem representa uma WAN (rede de área ampla) em oposição a uma LAN (rede de área local). 
  • delay : Esta palavra informa à ferramenta tc que estamos modificando o componente “delay” da transação.
  • 400ms : Já informamos à ferramenta que estamos afetando o atraso, mas agora precisamos definir o quanto estamos afetando o atraso. Neste caso, é de 400 milissegundos. 

Gerente da rede(Network Manager)

O objetivo do Network Manager é simplificar e automatizar sua configuração de rede. Para usuários de DHCP , o (DHCP)Network Manager pode obter um endereço IP, substituir as rotas padrão e trocar automaticamente os servidores de nomes.

A ferramenta nmtui para usar o Network Manager está disponível na maioria das distribuições Linux , embora não em todas . Além disso, lembre-se de que algumas ferramentas estão “disponíveis” e ainda não estão disponíveis. Em outras palavras, existem algumas ferramentas e daemons que precisam ser instalados e não necessariamente vêm pré-instalados na distribuição Linux em questão.

Outros tópicos de rede(Other Networking Topics)

Existem muitos aspectos de rede e TCP/IP que são particularmente fascinantes, especialmente quando se trata de uma distribuição Linux . Não se esqueça(Don) de que você tem páginas de manual (também conhecidas como páginas de manual) disponíveis diretamente na instalação do Linux . Portanto, embora isso possa parecer um tipo de lista não relacionada do que você não deve fazer, você sempre pode usar uma página de manual para descobrir o que deve fazer.

Linux como roteador(Linux as the Router)

Atualmente, a maioria das pessoas usa hardware dedicado à tarefa de roteamento (ou seja, roteador) para gerenciar a tarefa de rota de rede(manage the network route task) .

Muitas vezes, isso ocorre porque os roteadores fazem parte do pacote com pacotes/contratos de internet em casa ou no escritório. O cliente geralmente é pego pagando uma taxa de aluguel/locação por mês (ou anualmente) ou tendo que comprar o roteador. 

Seja como for, há pouca necessidade de o Linux operar como um roteador, embora seja capaz de funcionar como um. Os cenários descritos acima criam uma situação de quase pseudo-depreciação para o Linux(Linux) , mas isso não significa que o Linux está totalmente fora do jogo. É possível configurar um servidor Linux como roteador de hardware (e software subsequente), se necessário.

Rota IP (Anteriormente "Rota")(IP Route (Formerly “Route”))

A imagem a seguir mostra uma captura de tela da página de manual para “Rota” e as diretivas que são possíveis com essa ferramenta. 

SNORT - Um Sistema de Detecção de Intrusos(SNORT – An Intruder Detection System)

O Snort Software é um (Snort Software)Sistema de Detecção de Intrusão(Intrusion Detection System) ( IDS ) de código aberto originalmente desenvolvido por Martin Roesch e desde então adquirido pela Cisco Systems(Martin Roesch and since acquired by Cisco Systems) . Ele opera com base em regras que utilizam as camadas TCP/IP da rede. Definir essas regras identifica intrusões para proteger uma rede.

How to Set Up Linux > TCP/IP Settings for Linux

Os mini-tutoriais a seguir irão ajudá-lo com algumas tarefas comuns que você pode encontrar no mundo Linux

Lembre-se de que os tempos mudam rapidamente, por isso é útil usar suas páginas de manual, bem como pesquisas no Google , para verificar as etapas a seguir e garantir que não haja outras ferramentas que possam fazer o trabalho melhor. No momento da redação deste artigo, esse não é o caso.

Tutorial 01: Atribuindo um endereço IP estático a uma máquina Linux(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

A primeira pergunta que você deve fazer é se o computador/servidor precisa ou não de um endereço IP estático (um que não muda) ou um endereço IP alterável (como DHCP – Dynamic Host Configuration Protocol ). Se este for seu computador pessoal (não um servidor), é provável que você esteja usando DHCP para acessar a Internet.

O que isso significa é que você não precisa se preocupar em atribuir um endereço IP estático ao seu computador. Seu provedor de serviços de Internet ( ISP ) e qualquer hardware fornecido/alugado está calculando automaticamente um endereço IP em tempo real para permitir que você se conecte à Internet. Em outras palavras, se você não precisa de um endereço IP estático, um que muda dinamicamente é bom para o seu computador não servidor.

Se você tiver um servidor e precisar que ele seja acessível a outras pessoas (ou seja, fora de sua casa; uma WAN/internet ; não-LAN), precisará de um endereço IP estático para que o domínio que você está usando seja mapeado para ele por meio do servidor de nomes de hospedagem atribuído ao domínio ou acessível diretamente por meio do endereço IP estático.

Se ninguém precisar acessar seu computador ou servidor fora de sua casa, uma mudança de endereço IP (dinâmico; não estático) é suficiente, porque ninguém está usando um endereço IP estático.

Nota: Algumas pessoas usaram um endereço IP DHCP(DHCP IP) para acesso público (sim, mesmo como servidor), mas,

  1. Requer uma pessoa muito técnica para fazê-lo, por isso não é tão comum.
  2. É muito mais difícil manter (devido à sua natureza em constante mudança) do que um endereço IP estático.

Se você precisar de um endereço IP estático, vá em frente e siga as etapas aqui. Se não, você pode pular esta seção.

Como você verá, o comando (mostrado acima) inclui “sudo” no início da linha. Embora seja possível usar o comando “su” (superusuário) e fazer login como superusuário, o uso de “sudo” só executa esse comando como superusuário.

O outro método, efetuar login como superusuário, permite que todas as tarefas sejam concluídas como superusuário, tornando mais conveniente fazer o que precisa ser feito.

No entanto, junto com isso vem um risco de segurança, e é por isso que é mais seguro simplesmente iniciar o comando com sudo e permitir que o aplicativo solicite uma senha (conforme necessário) para concluir o comando como superusuário para essa tarefa/comando.

A escolha é sua e deve ser baseada em qualquer método que seja mais fácil. O arquivo representado pela captura de tela abaixo é acessado através do seguinte comando:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Antes de usar esse comando, o número do dispositivo de rede é verificado ( eth0 ) para garantir que esteja correto. Como você deve se lembrar, as configurações do Linux são gerenciadas no arquivo da interface, portanto, é essencial que o número da interface seja verificado nesse arquivo antes de editar o arquivo de configuração.

Outro aspecto do arquivo de configuração a ser observado é o uso da palavra “estático”. Como estamos adicionando um endereço IP estático, é importante informar ao arquivo de configuração que esse é o caso. 

As notas foram adicionadas na captura de tela abaixo por motivos ilustrativos, mas não devem ser incluídas em seu arquivo de configuração. Além disso, em algumas distribuições Linux , as aspas são obrigatórias. Nesse arquivo de configuração específico, não havia aspas no arquivo de configuração criado automaticamente, de modo que a tendência foi continuada e nenhuma aspas foi adicionada.

A captura de tela a seguir mostra como o arquivo realmente apareceria, com as notas e espaços extras removidos.

O próximo (e último) arquivo de configuração a ser editado é acessado digitando:

sudo vi /etc/resolv.conf

Dentro desse arquivo, os servidores de nomes podem ser adicionados (ou modificados). Esses servidores de nomes devem corresponder ao outro arquivo de configuração que acabou de ser modificado. Nesse caso, em /etc/sysconfig/network-scripts/ifcfg-eth0 (a captura de tela acima).

O palavreado que será usado é “servidor de nomes”. Assim, onde o arquivo de configuração do dispositivo mostra DNS1=8.8.8.8 , o arquivo resolv.conf deve mostrar nameserver 8.8.8.8 .

A contraparte de DNS2=4.4.4.4 mostraria como servidor de nomes 4.4.4.4(nameserver 4.4.4.4 ) no arquivo resolv.conf.

Em poucas palavras, as etapas acima funcionam na distribuição Red Hat Linux , mas não há garantia de que funcionará no futuro, com as mudanças tecnológicas que ocorrerem. É por isso que as configurações devem ser testadas e verificadas.

Depois que as configurações forem concluídas, reinicie a interface de rede com o método preferido, conforme descrito acima. Isso aplicará as alterações. Também é útil se o endereço IP estático for testado. Você pode fazer isso tentando se conectar a esse endereço IP estático público de outro dispositivo (de preferência em uma rede diferente).

Você também pode ligar para um amigo ou associado e fazer com que ele tente uma conexão com o endereço IP estático de outra localização geográfica (e rede diferente).

Tutorial 02: Alias ​​de IP de Rede(Tutorial 02: Network IP Aliasing)

É possível atribuir mais de um endereço IP a uma placa de interface de rede ( NIC ). Isso é chamado de alias de IP de rede(Network IP Aliasing) porque apenas um IP seria real, portanto, os endereços IP adicionais são aliases para a mesma placa. Para atribuir o endereço IP, use seu método favorito de atribuição do endereço IP conforme descrito no Tutorial 01.

Não é que tenha que ser estático, mas para ter vários endereços IP atribuídos usando Network IP Aliasing , é preciso atribuir endereços IP usando um IP estático.

Tutorial 03: Alterar o nome do host da máquina Linux(Tutorial 03: Change Host Name of the Linux Machine)

Use as etapas a seguir para alterar o nome do host de sua máquina Linux usando seu editor preferido:

1. Modifique o arquivo de configuração do nome do host digitando o seguinte no aplicativo de linha de comando:

   sudo vi /etc/hostname

Onde quer que você veja o nome do host antigo nesse arquivo de configuração, substitua-o pelo novo nome do host.

2. Modifique o arquivo de configuração de hosts digitando o seguinte no aplicativo de linha de comando:

   sudo vi /etc/hosts

Onde quer que você veja o nome do host antigo nesse arquivo, substitua-o pelo nome do host recém-escolhido/designado da mesma forma que você fez com o arquivo de configuração do nome do host(hostname) na etapa um acima.

3. Reinicie o servidor ou computador Linux . Um método para fazer isso (dependendo da sua distribuição Linux ) é digitar o seguinte no aplicativo de linha de comando:

   sudo shutdown –r now

Essa reinicialização é necessária para que as alterações entrem em vigor.

Tutorial 04: Habilitar e desabilitar sua NIC(Tutorial 04: Enable and Disable Your NIC)

Uma das coisas mais fascinantes que você pode fazer através da linha de comando no Linux é habilitar ou desabilitar sua conexão Ethernet .

Para fazer isso, digite o comando apropriado destes dois:

   sudo ip link setup
   sudo ip link setdown

Com versões mais antigas do Linux , você pode executar ifconfigup ou ifconfigdown, mas é possível que esses comandos estejam obsoletos ou obsoletos em distribuições Linux mais recentes . Nesse caso, o comando ip mais recente é preferível.

Tutorial 05: Habilitar o encaminhamento de rede(Tutorial 05: Enable Network Forwarding)

Seu sistema operacional Linux é capaz de conectar uma variedade de redes e pode atuar como um roteador. Tudo que você precisa fazer é uncomment the net.ipv4.ip_fporward=1 line que permitirá que você encaminhe o endereço IP.

O arquivo de configuração necessário é normalmente armazenado em /etc/sysctl.conf :

Para obter exemplos de como configurá-lo, dê uma olhada em “ How to enable IP forwarding on Linux (IPv4 / IPv6) ”.

Se você estiver configurando um servidor Linux usando DHCP (em vez de um endereço IP estático), poderá optar por uma forma de encaminhamento de rede. Isso não é comum, mas referenciado aqui porque é factível e representa um caso em que alguém pode estar inclinado a fazê-lo.

Tutorial 06: Comandos Remotos Via Shell(Tutorial 06: Remote Commands Via Shell)

No caso de você precisar acessar um servidor Linux e esse servidor não estiver geograficamente localizado no mesmo local que você, pode ser necessário usar comandos remotos para acessar esse servidor Linux remoto . 

Para aqueles que são programadores ou administradores de sistema, “remoting in” para um servidor é uma ocorrência normal. 

Uma das maneiras mais populares de fazer isso é usar o comando “ ssh ”, informando ao aplicativo de linha de comando que você deseja acessar com segurança o servidor Linux , mesmo que esteja fazendo isso por meio de uma conexão insegura. 

Além do uso do comando “ssh”, você precisa fornecer informações de onde está se conectando e como (entre outras opções disponíveis).

Você pode usar um nome de domínio para o acesso ao servidor Linux ou até mesmo um endereço IP estático público. O nome ou endereço IP informa ao comando ssh o que ele está acessando e onde encontrá-lo.

Outras opções podem incluir o nome de usuário que será usado para fazer login no servidor remoto. Sem essa opção definida, ela pode ser solicitada, mas também é uma opção para defini-la ao mesmo tempo que o comando ssh.

Por exemplo:

   ssh username myserver.com

A senha também pode ser configurada no comando, mas é recomendável, por questões de segurança, que você a insira no momento da conexão com o servidor remoto. 

Por quê? Se a senha for digitada no comando, em texto simples, ela poderá ser acessada pela próxima pessoa usando esse mesmo computador e ela terá acesso à senha.

Por motivos de segurança adicionais, você pode querer acessar o servidor Linux através de uma porta específica. Ao designar uma porta que pode ser usada, você pode bloquear outras portas e evitar tentativas de hackers ou ataques DOS (denial of service). 

Existem muitos pontos de configuração diferentes para ssh. Alguns deles estão listados em shellhacks.com .

Tutorial 07: Ferramentas de Monitoramento de Rede(Tutorial 07: Network Monitoring Tools)

Um componente importante do gerenciamento de uma rede é verificar se tudo funciona e continua funcionando. Você pode fazer isso através do monitoramento de rede. As ferramentas que acomodam o monitoramento de rede variam, mas, em última análise, atingem metas e objetivos semelhantes.  

Uma dessas ferramentas de monitoramento de rede é o Cacti . Cacti   é uma ferramenta de monitoramento de rede de código aberto. O Cacti(Cacti) monitora a rede e fornece representações gráficas do que foi registrado. Isso ajuda os usuários (especialmente iniciantes) a identificar onde pode haver problemas.

O front-end pode acomodar muitos usuários e às vezes é usado por serviços de hospedagem para exibir informações de largura de banda em tempo real e outros dados nos gráficos a seguir.

Os dados podem ser alimentados no Cacti por meio de qualquer script ou comando externo. O Cacti(Cacti) reunirá os dados por meio de um cron-job e preencherá seu banco de dados MySQL antes de apresentá-lo como um gráfico de usuário front-end.

Para lidar com a coleta de dados, você pode alimentar cacti os caminhos para qualquer script/comando externo junto com quaisquer dados que o usuário precisará “preencher”. O Cacti(Cacti) reunirá esses dados em um cron-job e preencherá um banco de dados MySQL .

O Cacti(Cacti) é uma ferramenta útil para administradores de rede que desejam monitorar o uso da rede e fornecer recursos visuais fáceis de entender aos consumidores. Cacti pode ser baixado gratuitamente em cacti.net . O site inclui documentação para instalar e configurar a ferramenta de monitoramento de rede.

Alternativas ao Cacti que você pode tentar incluem Solarwinds NPM , PRTG e Nagios . A Solarwinds(Solarwinds) suportará SNMP , bem como ICMP/Ping , WMI , Netflow , Sflow , Jflow e IPFIX , para citar alguns. Os modelos, gráficos e alertas pré-criados ajudam você a começar a monitorar sua rede rapidamente.

O PRTG(PRTG) fornece até cem sensores gratuitamente. Possui recursos semelhantes ao Solarwinds , além de alertas e aplicativos flexíveis para Smartphones , tablets, ipads.

O Nagios(Nagios) tem todas as ferramentas que você encontrará no Cacti , mas requer um pouco mais de configuração. Há uma abundância de plugins para escolher. Ele tem uma sólida reputação como uma das mais antigas ferramentas de gerenciamento e monitoramento de rede. Mas, você terá que sujar as mãos na manutenção de seus arquivos de configuração.



About the author

Sou técnico em informática e tenho mais de 10 anos de experiência na área. Eu me especializei no desenvolvimento do Windows 7 e Windows Apps, bem como no design de Cool Websites. Sou extremamente conhecedor e experiente na área, e seria um ativo valioso para qualquer organização que queira expandir seus negócios.



Related posts