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.
Download

NAT e DHCP - Fernando Moledo