Mais alguns comandos básicos de rede... 1. w Mostra quem está conectado no sistema e o que cada um está fazendo. w [opções][usuário] onde: usuário Nome do usuário que deseja ver os detalhes. Se o usuário não for digitado, o comando w mostra detalhes de todos os usuários conectados no sistema. opções -h Não mostra o cabeçalho -u Ignora os nomes de usuários enquanto verifica os processo atuais e tempos de CPU. -f Mostra ou oculta o campo FROM na listagem. 2. traceroute Mostra o caminho percorrido por um pacote para chegar ao seu destino. Este comando mostra na tela o caminho percorrido entre os Gateways da rede e o tempo gasto de retransmissão. Este comando é útil para encontrar computadores defeituosos na rede caso o pacote não esteja chegando ao seu destino. traceroute [opções] [host/IP de destino] Onde: host/IP destino É o endereço para onde o pacote será enviado (por exemplo, www.debian.org). Caso o tamanho do pacote não seja especificado, é enviado um pacote de 38 bytes. opções -l Mostra o tempo de vida do pacote (ttl) -m [num ] Ajusta a quantidade máximas de ttl dos pacotes. O padrão é 30. -n Mostra os endereços numericamente ao invés de usar resolução DNS. -p [porta ] Ajusta a porta que será usada para o teste. A porta padrão é 33434. -r Pula as tabelas de roteamento e envia o pacote diretamente ao computador conectado a rede. -s [end ] Usa o endereço IP/DNS [end] como endereço de origem para computadores com múltiplos endereços IPs ou nomes. -v Mostra mais detalhes sobre o resultado do traceroute. -w [num ] Configura o tempo máximo que aguardará por uma resposta. O padrão é 3 segundos. Exemplos: traceroute www.debian.org, traceroute www.guiafoca.org 3. netstat Mostra conexões de rede, tabela de roteamento, estatísticas de interfaces, conexões masquerade, e mensagens. netstat [opções] Onde: opções -i [interface ] Mostra estatísticas da interface [interface]. -M, –masquerade Se especificado, também lista conexões masquerade. -n, –numeric Usa endereços numéricos ao invés de tentar resolver nomes de hosts, usuários e portas. -c, –continuous Mostra a listagem a cada segundo até que a CTRL+C seja pressionado. -l Lista sockets aguardando por conexão. -t, –tcp Lista conexões TCP. -u, –udp Lista conexões UDP. Se não for especificada nenhuma opção, os detalhes das conexões atuais serão mostrados. Exemplos: netstat -n, netstat -lt, netstat -M 4. wall Envia uma mensagem a todos os usuários do sistema. Este comando faz a leitura de um arquivo ou entrada padrão e escreve o resultado em todos os terminais onde existem usuários conectados. Somente o usuário root pode utilizar este comando. wall [arquivo] Exemplos: wall /tmp/mensagem.txt, echo Teste de mensagem enviada a todos os usuários conectados ao sistema|wall. NAT NAT (Network Address Translation) é o serviço de rede que traduz endereços de rede privados (da rede local) em endereços públicos (internet). Desta forma, uma rede que tem N hosts “sai” para a internet com apenas 1 ou alguns endereços públicos. Este serviço é extremamente importante, visto que, imagine se cada host de uma rede de cada empresa ou residência do mundo se conectasse diretamente à internet? O número de IP's públicos disponível se esgotaria rapidamente. Para habilitar o serviço, devemos acrescentar os seguintes comandos no script /etc/rc.local: #nano /etc/rc.local #Limpa as regras anteriores do Firewall iptables -F #Limpar as regras de NAT anteriores do Firewall iptables -t nat -F #Sobe o módulo ip_gre, que possibilita o redirecionamento de endereços modprobe ip_gre #Colocamos valor 1 [true] na configuração do arquivo IP Forward – ou seja, habilita o redirecionamento de IP echo 1 > /proc/sys/net/ipv4/ip_forward #Regra iptables que após o roteamento – POSTROUTING, toda a rede 192.168.0.0 saia pela interface de internet do servidor, no caso eth0, de forma MASQUERADE, ou seja, para que as máquinas da rede interna possam acessar a internet usando o IP externo do gateway. Deste odo as máquinas da rede ficarão invisíveis para a rede externa iptables -t nat -A POSTROUTING -s 192.168.0.0 -o eth0 -j MASQUERADE Para efetivar, execute o script, digitando apenas o endereço do script: #/etc/rc.local DHCP DHCP (Dynamic Host Configuration Protocol) é um serviço capaz de fornecer, automaticamente, a cada host, dados como endereçamento IP, máscara de sub-rede, endereços de servidores DNS e dos gateways da rede, domínio, etc. Este serviço funciona por broadcast. O cliente lança pacotes UDP broadcast na porta 68 e o servidor DHCP responde na porta 67, também UDP. Em virtude disto, normalmente temos um único servidor DHCP por segmento de rede. Para instalar o serviço DHCP nas máquinas, devemos instalar o seguinte pacote: #apt-get install isc-dhcp-server Logo após a instalação, aparecerá uma mensagem de erro. Mas calma! Isso é normal pois não configuramos o serviço ainda. Agora devemos definir qual adaptador de rede será o output dos endereços: #nano /etc/default/isc-dhcp-server Procure a seguinte linha: INTERFACES='' '' Altere-a para: INTERFACES=''eth1'' No nosso caso, a interface de rede local é a eth1. Agora vamos ao que interessa. O arquivo de configuração do DHCP Server já é criado quando instalamos o serviço, sendo necessária somente a complementação das informações. Entretanto, é interessante e prudente, que deixemos este arquivo original intacto, para consultá-lo em caso de dúvida de uma estrutura. #cd /etc/dhcp #mv dhcpd.conf dhcpd.conf.bkp Agora vamos criar outro arquivo dhcpd.conf do zero! #nano dhcpd.conf Dentro deste arquivo, vamos adicionar as seguintes informações: #Esta opção é utilizada quando queremos integrar um servidor DHCP com um servidor DNS, assim quando um cliente DHCP receber os dados, o DNS será automaticamente atualizado com o endereço e o nome do host do cliente. No nosso caso isto não se aplica e o valor fica none. ddns-update-style none; #Essas linhas abaixo especificam um domínio e servidores DNS. Deixaremos comentados para mais adiante. #option domain-name “example.org”; #option domain-name-servers 8.8.8.8, 8.8.4.4; #Tempo padrão de aluguel do IP para o host (em segundos) default-lease-time 600; #Tempo máximo de aluguel. Esgotado este tempo, deve ser feita uma renovação obrigatória max-lease-time 7200; #Log padrão - /var/log/syslog log-facility local7; Agora vamos criar nosso primeiro range de endereços a serem sorteados: #Vale lembrar que deverão ser reservados fora deste range IP's deste e de outros servidores – que devem possuir o seu IP Fixo, equipamentos de rede como impressoras, relógios de ponto, DVR's, etc. subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.35 192.168.0.40; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name-servers 8.8.8.8, 8.8.4.4; } Onde: - Option routers → gateway da rede. Roteador padrão. Quem é o endereço de saída da rede. - Option domain-name-servers → servidores DNS que vamos consultar. Estes endereços são do Google, porém, temos do OpenDNS: 208.67.222.222, 208.67.220.220; do ISP – por exemplo, da VIVO: 200.204.0.10, 200.204.0.138... etc. Após estas configurações, salvar o arquivo e reiniciar o serviço. #/etc/init.d/isc-dhcp-server restart Se aparecer uma mensagem OK, é porque não houve nenhum erro de configuração. Agora você deve ir até o arquivo de configuração dos cliente e comentar todas as linhas do bloco static e descomentar as linhas do bloco dhcp. Ex: #nano /etc/network/interfaces auto eth0 iface eth0 inet dhcp #auto eth0 inet static # address 192.168.0.2 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1 Salvar o arquivo, reinicar as interfaces e fechar e abrir a conexão novamente: #service network-manager restart #ifdown eth0 #ifup eth0 Agora dê um #ifconfig e verifique que o host capturou um ip dinâmico. Para forçar a captura do ip, temos o seguinte comando: #dhclient Por enquanto é isso... em caso de dúvidas, podem me mandar um e-mail: [email protected] ou procurar-me no IFSP durante o horário de atendimento ao aluno, todas as terças-feiras das 18h às 19h. Até a próxima aula! Professor Luiz Fernando Moledo.