Professor
- Prof. Tiago Semprebom
- email: tisemp@ifsc.edu.br
- sala: Sala de II de Professores da Área de Telecomunicações (primeira sala lado da Biblioteca - direção esquerda)
12/03/2019
Objetivos
Parte 1
- Apresentar os professores e o coordenador;
- Apresentar o IFSC: estrutura, câmpus e serviços
- Apresentar o curso: perfil do egresso, competências gerais, áreas de atuação do egresso e conteúdos previstos
- Apresentar o Cronograma Tentativa
- Apresentar metodologia e forma de avaliação
Parte 2
- Conceitos de Hardware, Software e Firmware
- Arquiteturas de processadores
- Classificação de softwares
- Conceitos de Sistemas Operacionais e exemplos
Parte 3
- Histórico do Linux
- Linux e GNU/Linux
- Arquitetura do Linux
- Distribuições
- Distribuições usadas no IFSC/SJ
- Ligando e Desligando o Sistema
- Primeiros contatos.
Professores do FIC Linux Edição 2019-1
Apresentação do IFSC
Apresentação do Curso
Cronograma Tentativa
Horários: 19h às 22h.
AULA |
DATA |
Professor |
Conteúdo
|
1 |
12/03/2019 |
TIAGO |
Programa da Disciplina.Forma de Avaliação. O computador: hardware e software. SO Linux: histórico e distribuições. Ligando/Logando/Desligando a Máquina. Conceitos básico de Sistema de Arquivos e Processos.
|
2 |
14/03/2019 |
TIAGO |
Gerenciamento de Arquivos I: Operações sobre arquivos e diretórios usando o terminale o Nautilus.
|
3 |
21/03/2019 |
TIAGO |
Gerenciamento de Arquivos II: continuação Operações sobre arquivos e diretórios. Links Simbólicos, Criação de Arquivo com vi e outros editores.
|
4 |
26/03/2019 |
TIAGO |
Interfaces Gráficas: X11, Gnome. KDE e outras. Instalação de Programas via Gerenciador de Pacotes.
|
5 |
28/03/2019 |
TIAGO |
Administração de contas de usuários I
|
6 |
02/04/2019 |
TIAGO |
Administração de contas de usuários II
|
7 |
04/04/2019 |
TIAGO |
Permissionamento de Arquivos
|
8 |
09/04/2019 |
TIAGO |
Gerenciamento de Processos
|
9 |
11/04/2019 |
TIAGO |
Introdução ao Shell Script
|
10 |
16/04/2019 |
TIAGO |
Avaliação 1 - Introdução ao Sistema Operacional Linux
|
11 |
09/10/2019 |
ERALDO |
Introdução a Redes. Conceito de Protocolos. Ferramentas de Rede.
|
12 |
11/10/2019 |
ERALDO |
Protocolos de Aplicação: exemplo http. DNS
|
13 |
16/10/2019 |
ERALDO |
Camada de Transporte
|
14 |
18/10/2019 |
ERALDO |
Camada de Rede
|
15 |
23/10/2017 |
ERALDO |
Camada de Rede.
|
16 |
25/10/2017 |
ERALDO |
Camada de Enlace.
|
17 |
30/10/2017 |
ERALDO |
Redes de com Linux
|
18 |
01/11/2017 |
ERALDO |
Redes de com Linux
|
19 |
06/11/2007 |
ERALDO |
Redes de com Linux
|
20 |
08/11/2017 |
ERALDO |
Avaliação Final
|
Metodologia, Avaliação e Critérios de Aprovação
- Aaulas expositivas e aulas práticas no laboratório. Nas aulas práticas serão desenvolvidos exercícios e trabalhos individuais.
- Avaliações individuais: Listas de exercícios com aproveitamento e entregues no prazo.
- Critérios para aprovação: Serão considerados aprovados os alunos que obtiverem conceito final 6 ou superior em cada componente curricular. ATENÇÂO: Possuir no mínimo 75% de presença
Bibliografia
- Odilson Tadeu Valle
- Administração de redes com Linux: fundamentos e práticas
- Editora IFSC, 2010
- Gleydson Mazioli da Silva
- Guia Foca Linux
- http://www.guiafoca.org/
- Luiz Carlos Lobato Lobo de Medeiros e Wendel Soares
- Formação de suporte técnico PROINFO
- https://pt.scribd.com/document/48655010/Formacao-de-Suporte-Tecnico-Proinfo
- Ari Frazão Jr e Marcelo Braga
- Administração de Sistemas Linux
- https://pt.scribd.com/doc/128912228/Administracao-de-Sistemas-Linux
Conceitos de Hardware, Software e Firmware
- Em informática, o hardware consiste nos equipamentos
- Ex: Computador, teclado, mouse, monitor
- Software é um aplicativo, desenvolvido em uma linguagem de programação
- Ex: Windows, Linux, Mozilla Firefox, Google Chrome
- Firmware é um conjunto de instruções básicas e específicas para um hardware
- Ex: BIOS nos computadores, sistemas de controle das máquinas de lavar, etc.
Estrutura de um Computador e Arquitetura de Processadores
- Bits, Bytes e tamanho de memória;
- Representação de Caracteres: Tabela ASCII;
- O microprocessador, barramentos e memórias semicondutoras: RAM,ROM, E2PROM, FLASH;
- Memórias cache e memórias secundárias;
- Memória Virtual e Swapping;
- Registradores de 32bits ou 64bits
- Arquitetura x86 / x86-64 – presente nos computadores pessoais
- Arquitetura ARM – presente em sistemas embarcados e dispositivos móveis
- Múltiplos núcleos (core)
- Máquinas Virtuas: VirtualBox, UML (User Mode Linux).
O papel do Sistema Operacional
- O SO é um programa (software) que controla a máquina e a torna utilizável para o usuário;
- Abstrações do Sistema: arquivos e processos;
- Pode ser multitarefa e multiusuário;
- Driver de dispositivo
- Múltiplos OS instalados em um computador. É possível??
Sistema de Arquivos
- Forma como estão estruturados/organizados os arquivos/dados em uma determinada mídia [1];
- Um sistema operacional deve saber como acessar e operar sobre este sistema;
- Tipos de sistemas: ext4, NTFS, VFAT32
Exemplos de SO
- Unix
- Microsoft DOS
- IBM
- Microsoft Windows
- netBSD, freeBSD, openBSD
- Linux
- macOS
- Android
- iOS
Histórico do Linux
- O início de tudo: UNIX;
- Surgiu em 1991 quando Linus Torvalds, um estudante finlandês, resolveu desenvolver um sistema operacional compatível com a POSIX, por em que pudesse ser executado em arquitetura x86;
- Linux está sob uma licença de software livre e diversas pessoas e empresas contribuem para o desenvolvimento do mesmo.
- E o que é POSIX? Define padrões para a interface de programação de aplicações (API) de um OS de forma a manter compatibilidade com o UNIX;
Arquitetura do Linux
Distribuições
Uma distribuição Linux consiste de um kernel Linux e uma coleção de software utilitários e aplicativos de usuário (baseado slides Prof. Emerson)
- Redhat
- Slackware
- Debian
- Ubuntu
- OpenSuse
- Fedora
- CentOS
- Kali
Algumas distribuições podem ser executadas diretamente no CD/pendrive
sem a necessidade de fazer sua instalação no disco rígido do computador
Distribuições aqui no IFSC SJ
- Ubuntu
- Ubuntu Mate (fork do Ubuntu)
- Debian
Ligando e Desligando o Sistema Linux
- Cuidado ao desligar um OS como o Linux!!! Dados podem ser perdidos.
- Ver [3]
O Desktop do Ubuntu - Primeiras Considerações
- O Desktop no Ubuntu ver[4]
AULA 2 - Dia 14/03/2019
Objetivos
PARTE 1
- Revisão da aula passada;
- repassar itens não mencionados na aula passada;
- Paginação e Memória pg.19
- Estrutura do Linux pg.18
PARTE 2
- Operações com arquivos e diretórios usando o terminal;
- formato de um comando básico;
- quase tudo no Linux é arquivo: tipos de arquivos, diretórios, arquivos ordinários;
- conceito de sistema de arquivos;
- conceito de referência absoluta e relativa;
- conceito de diretório de entrada, diretório de trabalho;
- mudando de diretório com cd;
- listando diretórios e arquivos com ls;
- vendo o significado de um comando com man;
- criando diretórios com mkdir;
- removendo diretórios e arquivos com rmdir e rm;
- referência com . .. - ~
- criando arquivos ordinários com touch;
- arquivos e diretórios escondidos;
- copiando arquivos;
- movendo e renomeando arquivos;
- vendo a história de comandos com history;
Conceito de sistemas de arquivos, arquivos e diretórios
Comandos no Linux
Tipos de Arquivos
Os comandos de operação sobre arquivos e diretórios
AULA 3 - Dia 21/03/2019 (aula com Prof. Eraldo)
Objetivos
PARTE 1
- Rever comandos básicos de operações sobre arquivos;
- Usar coringas
- usar opções do comando ls
PARTE 2
- uso do editor gedit para criar arquivos texto;
- usar comandos cat, more e less para visualizar conteúdos de arquivos.
PARTE 3
Parte 4
- Redirecionamento de entradas e saídas;
- Pipes
Exercícios para esta aula
Créditos e agradecimentos ao Prof. Eraldo pelo desenvolvimento das listas utilizadas:
AULA 4 - Dia 26/03/2019
Objetivos
PARTE 1
PARTE 2
- Redirecionamento de entradas e saídas: continuação;
- Pipes
PARTE 3
- Permissão no acesso a arquivos;
- Owner, grupo e outros
Exercícios para esta aula
Referências
Permissão de Acesso a Arquivos: parte 1
Permissão de Acesso a Arquivos: parte 2
AULA 5 - Dia 28/03/2019
Objetivos
- Revisão e preparação para teste;
- introdução ao gerenciamento de processos;
- conceito de processo
- escalonamento de processos
- PID e PPID
- fork/exec
- espaço de endereçamento de um processo;
- estados de um processo: Running, Stopped, Sleeping, Zombie
https://www.tecmint.com/linux-process-management/
Referências
Gerenciamento De Processos Parte 1
Gerenciamento De Processos Parte 2
Treinamento Teste 1
AULA 6 - Dia 02/04/2019
Objetivos
- Comandos adicionais de gerenciamento de processos;
- Mudança de prioridade com nice e renice;
- Agendamento de processos com crontab
- Aplicações do crontab: conectividade de rede e backup
- Ferramentas de compactação;
- Execução de comandos inseridos em outros comandos;
Material de Referência
AULA 7 - Dia 04/04/2019
Objetivos
- Comandos adicionais de manipulação de arquivos:
- comando grep;
- comando find;
- Gerenciamento de usuários:
- adição e remoção de usuários e grupos
- arquivo sudoers
Exercícios
AULA 8 - Dia 09/04/2019
Objetivos
- Introdução ao Shell script
- variáveis
- Comando if
Referências
script DESAFIO (a)
|
#!/bin/bash
FILE="$1"
if [ ! $# -eq 1 ]; then
echo opa! Algo errado...
echo uso: script parametro
exit
fi
if [ -h $FILE ]; then
echo $FILE é um link simbólico
else
echo $FILE não é um link simbólico
fi
|
script DESAFIO (b)
|
#!/bin/bash
FILE="$1"
if [ ! $# -eq 1 ]; then
echo opa! Algo errado...
echo uso: script parametro
exit
fi
if [[ -w $FILE && -O $FILE ]]; then
echo Possui permissao de escrita de $FILE
else
echo Colocando permissão de escrita para $FILE
chmod u+w $FILE
echo permissoes adicionadas com sucesso para $FILE ver abaixo
ls -l $FILE
fi
|
script DESAFIO (c)
|
#!/bin/bash
FILE1="$1"
FILE2="$2"
if [ ! $# -eq 2 ]; then
echo opa! Algo errado...
echo uso: script parametro
exit
fi
if [[ -f $FILE1 && -r $FILE1 ]]; then
echo $1 É regular e possui permissao de leitura
mv $FILE1 $FILE2
echo Mudei o nome de $FILE1 para $FILE2
else
echo $FILE1 não tem permissao...
fi
|
AULA 9 - Dia 11/04/2019
Objetivos
- ainda shell script
- comando for
- comando while
Referências
AULA 10 - Dia 16/04/2019
Objetivos
- mais alguns tópicos sobre criação de usuários;
- servidores de janelas: X11,
- gerenciadores de janelas e desktops: Gnome, KDE
- instalação de pacotes;
- o Linux e o Software Livre
- avaliação
Servidores de Janelas
X Windows System
Arquitetura do X
Desktops e Geneciadores de Janelas
Interfaces Gráficas
Instalando pacotes
Ver pg.43 do Formacao-de-Suporte-Tecnico-Proinfo
uso do apt-get
Exercício: instalar e executar um servidor ssh:
sudo apt-get update
sudo apt-get install openssh-server
sudo service start ssh
Acessar o ssh de outra máquina
ssh usuario@numero_ip
Exportar o display e executar o comando remoto:
export DISPLAY=IP_cliente_ssh:0.0
firefox &
Conferir se o firefox realmente está se executando (use o ps)
Remover o pacote ssh server:
sudo apt-get remove openssh-server
Linux = Software Livre
[5]
[6]
Onde baixar o Ubuntu
Baixar Ubuntu daqui
Sobre o Boot
by Roderick W. Smith
AdamW on Linux and more
Sobre o Desktop Environment e o Desktop Shell
/desktop-guide
Instalar Ubuntu no Virtual Box
Instalar VirtualBox no Linux
Instalar VirtualBox no Windows
Instalar Linux no VirtualBox
AULA 11 - Dia 23/04/2019
- Introdução a Redes de Computadores
- Conceito Básicos em Redes e Protocolos
- Ferramentas de Redes
- Exemplo de Protocolo de Aplicação: http
- O processo de encapsulamento
Plano de Ensino
Laboratório 1 - Ferramentas de Rede e Conceitos Básicos
- Familiarização com a infraestrutura dos laboratórios de redes
- Familiarização com ferramentas de rede: ifconfig, ping, traceroute;
- Desenvolver a noção de endereçamentos de rede IP e de endereço de hardware (MAC)
- Desenvolver a noção de rotas em redes IP
- Testar a conectividade IP com ping
Laboratório 2 - Wireshark e encapsulamento
- Familiarização com o sniffer de rede WireShark
- Observar o comportamento do ping e se familiarizar com o processo de encapsulamento;
Conceituando Protocolos e Aplicações de Rede
Conceituando protocolos
AULA 12 - Dia 25/04/2019
Objetivos
- Protocolos de aplicação: exemplo http
Laboratório 4 - Desvendando o HTTP com Wireshark - BÁSICO
Ver [9]
AULA 13 - Dia 30/04/2019
- Revisão do Conceito de Protocolo ([-] Laboratório 3 - Conceituando protocolos )
- O DNS como protocolo de Aplicação;
- Camada de Transporte: protocolo UDP
Revisão dos Conceitos de Protocolo
Laboratório 3 - Conceituando protocolos [10]
O DNS como protocolo de Aplicação
Laboratório 7 - Serviço de Nomes (DNS) [11]
O Protocolo UDP
Laboratório 8 - Desvendando o UDP - Básico
AULA 14 - Dia 02/05/2019
Objetivos
- Explorar o papel e diferenças dos protocolos de Transporte TCP/UDP
- Explorar a Camada IP e aspectos da configuração da mesma sob o Linux
TCP e UDP
- docente.ifsc.edu.br/odilson/RCO60803/TCP%20controle%20de%20erros.pdf
- docente.ifsc.edu.br/odilson/RCO60803/UDP%20Basico.pdf
Camada IP no Linux: Configuração das Interfaces usando ifconfig e ip addr
Usando a ferramenta Netkit2, que permite construir redes virtuais com o Linux vamos construir DUAS redes locais interligadas por um roteador. Em cada rede colocaremos dois PCs. As interfaces estarão completamente desconfiguradas:
-
Construir um arquivo texto de nome rede.conf usando o editor de texto gedit.
gedit rede.conf &</syntaxhighlight>
-
Criar a seguinte topologia:
- Descrição das Máquinas e Roteadores
r1[type]=generic
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
- Definição da Topologia da Rede
pc1[eth0]=lan0
pc2[eth0]=lan0
pc3[eth0]=lan1
pc4[eth0]=lan1
r1[eth0]=lan0
r1[eth1]=lan1
</syntaxhighlight>
-
Executar netkit fazendo (atualize se necessário - pergunte para o professor como fazer):
Aplicativos >> Educativo >> Netkit2
-
Carregar o arquivo lab.conf a partir do Netkit2:
File >> Load Only</syntaxhighlight>
-
Visualizar a rede a ser implementada:
File >> Graph</syntaxhighlight>
-
Executar a configuração:
Network >> Start</syntaxhighlight>
-
Verificar o estado de todas interfaces (se UP ou DOWN) com:
ifconfig -a</syntaxhighlight>
ip addr</syntaxhighlight>
Note que nas últimas versões do Linux o comando ip vem sendo recomendado (embora o ifconfig ainda esteja disponível).
-
Vamos configurar as interfaces. Para tanto vamos assumir que teremos duas sub-redes:
lan0 - endereço da rede 10.10.10.0/24</syntaxhighlight>
lan1 - endereço da rede 20.20.20.0/24</syntaxhighlight>
A interface eth0 de PC1 receberá o endereço 10.10.10.1/24 e a interface eth0 de PC2 recebera 10.10.10.2/24. A interface do roteador NA lan0 também deve receber um endereço: 10.10.10.254/24:
No PC1:
ifconfig eth0 10.10.10.1/24</syntaxhighlight>
No PC2:
ifconfig eth0 10.10.10.2/24</syntaxhighlight>
No R1:
ifconfig eth0 10.10.10.254/24</syntaxhighlight>
-
Seguindo a mesma lógica configure as máquinas e o roteador na lan1
- Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
Camada IP no Linux: verificando e configurando rotas - configuração da rota default
- Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
Esta informação é importante pois define a entrega DIRETA de pacotes na rede, ou seja, se PC1 quiser enviar um pacote para PC2, esta linha na tabela de roteamento garante que o pacote IP seja despachado diretamente para o PC2 através de um frame ETHERNET endereçado para o MAC do PC1.
- Confira os endereços MAC e IP das interfaces dos PC1 e PC2 e anote. Faça um ping no PC1 em direção a PC2.
root@pc1:~# ping 10.10.10.2</syntaxhighlight>
- Use um capturador de pacotes em modo texto para observar o tráfego na eth0 do PC2. Observe os endereços MAC do Frame Ethernet e os endereços IP do pacote IP.
root@pc2:~# tcpdump -i eth0 -e</syntaxhighlight>
ENTÃO? O que se pode concluir? É uma entrega direta ou indireta?
- Uma curiosidade. Tente observar o tráfego na interface eth0 do Roteador R1. É possível observar algo? O que se pode concluir? Pare agora o ping e os tcpdumps executados.
- Qualquer máquina IP acaba tomando uma decisão de roteamento. O PC1, ao observar que PC2 está na sua própria rede 10.10.10.0/24, entrega diretamente o pacote. E se PC1 tentar entregar para PC3? Faça um ping e observe o que acontece:
root@pc1:~#ping 20.20.20.1</syntaxhighlight>
Não deve ter funcionado :-(
Um primeiro problema é que simplesmente a camada IP observa que o endereço não é entrega DIRETA mas não tem informação (linha) na tabela de roteamento dizendo para quem deve ser entregue o pacote.
- Vamos acrescentar uma linha na tabela de PC1 dizendo como fazer esta entrega INDIRETA. Usaremos o conceito de gateway default. Ou seja, se não tiver para quem entregar explicitamente, o pacote será entregue para o gateway default:
root@pc1:~# route add default gateway 10.10.10.254</syntaxhighlight>
confira o estabelocimento da rota:
root@pc1:~# route -n</syntaxhighlight>
tente o ping novamente escutando com o tcpdump na interface eth0 de R1. Ainda não funcionou mas o R1 já recebe os pacotes. Confira o MAC de destino do pacote. Deve ser o MAC do roteador.
-
POR QUE NÃO FUNCIONOU: será que R1 não sabe como entregar o pacote para PC3? Confira se o pacote sai de R1 na rede lan1:
root@r1:~# tcpdump -i eth2 -e</syntaxhighlight>
-
Temos um problema ainda que o nosso roteador Linux NÃO está habilitado a ser roteador. Isto pode ser feito com:
echo 1 > /proc/sys/net/ipv4/ip_forward</syntaxhighlight>
- Tente novamente o ping de PC1 para PC3. Ainda não funcionará mas escute a interface eth1 de R1 e a interface eth0 de PC3 e verá que os pacotes do ICMP REQUEST estão chegando. Confira inclusive os MACs envolvidos...
-
O que estaria faltando ainda para que PC3 responda aos ECHO REQUEST? O problema é de entrega indireta. O PC3 não sabe como entregar pacotes "externos". Acrescente um gateway default.
-
Exercício adicional com 2 roteadores. Ver manual:
Exercício: acrescentando uma lan2 com com 2 PCs no roteador
Acrescente uma rede 30.30.30.0/24 (lan2) no roteador R1. Acrescente 2 PCs e configure o sistema.
Teste a conectividade entre todos os PCs.
- Descrição das Máquinas e Roteadores
r1[type]=gateway
r2[type]=gateway
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
pc5[type]=generic
pc6[type]=generic
pc7[type]=generic
pc8[type]=generic
- Definição da Topologia da Rede
pc1[eth0]=lan0:ip=10.10.10.1/24
pc1[default_gateway]=10.10.10.254
pc2[eth0]=lan0:ip=10.10.10.2/24
pc2[default_gateway]=10.10.10.254
pc3[eth0]=lan1:ip=20.20.20.1/24
pc3[default_gateway]=20.20.20.254
pc4[eth0]=lan1:ip=20.20.20.2/24
pc4[default_gateway]=20.20.20.254
pc5[eth0]=lan2:ip=30.30.30.1/24
pc5[default_gateway]=30.30.30.254
pc6[eth0]=lan2:ip=30.30.30.2/24
pc6[default_gateway]=30.30.30.254
pc7[eth0]=lan4:ip=40.40.40.1/24
pc7[default_gateway]=40.40.40.254
pc8[eth0]=lan3:ip=50.50.50.1/24
pc8[default_gateway]=40.40.40.254
r1[eth0]=lan0:ip=10.10.10.254/24
r1[eth1]=lan1:ip=20.20.20.254/24
r1[eth2]=lan2:ip=30.30.30.254/24
r1[eth3]=lan3:ip=50.50.50.253/24
r2[eth1]=lan3:ip=50.50.50.254/24
r2[eth0]=lan4:ip=40.40.40.254/24
r2[route]=10.10.10.0/24:gateway=50.50.50.253
</syntaxhighlight>
AULA 15 - Dia 7/05/2019
- Hubs X Switches. O Papel do Protocolo ARP
[-] Laboratório 16 - Sub-redes e Roteamento Estático em Redes
Hubs, Switches. Protocolo ARP
[Laboratório 17 - Tecnologia de Enlace Ethernet]
Serviço DHCP
Construir uma rede simular a aula anterior mas deixar PC1 e PC2 desconfigurados. Criar uma máquina para atuar como servidor DHCP.
-
Editar o arquivo de configuração do dhcp server:
- Descrição das Máquinas e Roteadores
r1[type]=gateway #já habilitado para forward
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
pcdhcp[type]=generic
- Definição da Topologia da Rede
pc1[eth0]=lan0 #desconfigurada...
pc2[eth0]=lan0:ip=10.10.10.2/24
pc2[default_gateway]=10.10.10.254
pcdhcp[eth0]=lan0:ip=10.10.10.3/24
pcdhcp[default_gateway]=10.10.10.254
pc3[eth0]=lan1:ip=20.20.20.1/24
pc3[default_gateway]=20.20.20.254
pc4[eth0]=lan1:ip=20.20.20.2/24
pc4[default_gateway]=20.20.20.254
r1[eth0]=lan0:ip=10.10.10.254/24
r1[eth1]=lan1:ip=20.20.20.254/24
</syntaxhighlight>
- No server estabelecer a configuração desejada:
nano /etc/dhcp/dhcpd.conf
com:
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.50;
option routers 10.10.10.254;
option broadcast-address 10.10.10.255;
default-lease-time 600;
max-lease-time 7200;
}
</syntaxhighlight>
-
Rodar o servidor DHCP na máquina pc_dhcp:
/usr/sbin/dhcpd -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf eth0
</syntaxhighlight>
-
No cliente (PC1) fazer:
dhclient -v eth0
</syntaxhighlight>
-
Usando o ifconfig e route confira se o PC1 está completamente configurado. Faça teste com o ping
- Rode o tcpdump na eth0 de r1 para "verificar" os pacotes DHCP:
tcpdump -i eth0
</syntaxhighlight>
- Repetir a operação no PC2. Baixe a interface antes:
ifconfig eth0 down
dhclient -v eth0
</syntaxhighlight>
O NAT
Vamos tentar elaborar um laboratório usando o NAT MASQUERADE
https://www.karlrupp.net/en/computer/nat_tutorial
Construir uma rede com 3 LANs e 2 roteadores como na aula passada. Executar o APACHE em uma máquina da lan3 (exemplo PC4). Não colocar rotas para lan0 em r2. Desta forma PC1 não deve pingar em PC4.
LAN0 <-R1-> LAN1 <-R2 -> LAN3
</syntaxhighlight>
- Descrição das Máquinas e Roteadores
r1[type]=gateway
r2[type]=gateway
pc1[type]=generic
apache[type]=generic
pc1[eth0]=lan0:ip=10.10.10.1/24
pc1[default_gateway]=10.10.10.254
r1[eth0]=lan0:ip=10.10.10.254/24
r1[eth1]=lan1:ip=20.20.20.254/24
r1[route]=30.30.30.0/24:gateway=20.20.20.253
r2[eth0]=lan1:ip=20.20.20.253/24
r2[eth1]=lan2:ip=30.30.30.254/24
apache[eth0]=lan2:ip=30.30.30.1/24
apache[default_gateway]=30.30.30.254
</syntaxhighlight>
- Rodar o apache em PC4:
/etc/init.d/apache2 start </syntaxhighlight>
- Testar se o Apache é acessível a partir de PC3
lynx END_PC3 </syntaxhighlight>
Em R1 fazer:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE</syntaxhighlight>
- Monitorar os pacotes que chegam e saem da eth0 de PC4.
- Fazer em PC1:
lynx END_PC4 #endereço de PC4.
O que se pode concluir?
AULA 16 - Dia 09/05/2019
- Endereçamento IPv4.
- Exercícios segmentação Redes.
Objetivos
- Compreender endereçamento IPv4.
- Compreender o processo de alocação de faixas de IPs.
- Compreender e manipular os números IPs.
- Compreender e manipular as máscaras de rede.
- Proporcionar ao aluno uma visão prática de roteamento IP.
Fonte Básica
Roteiro
- Baseado no arquivo exemplo abaixo, crie um arquivo de configuração para o NetKit que implemente sua proposta. O arquivo deve contemplar todas as configurações necessárias para o perfeito funcionamento da rede, ou seja, ao carregar o arquivo todos os hosts deverão ser capazes de "pingar" uma ao outro.
- Faça testes de conectividade entre os hosts.
- Demonstre para o professor o perfeito funcionamento de sua rede.
- O arquivo de configuração do Netkit abaixo, é a definição para o funcionamento da simulação da rede apresentada na Figura 2. Falta adicionar as rotas.
- Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
- Hosts' interfaces to local routers
pc1[eth0]=link0:ip=192.168.0.1/24
pc2[eth0]=link1:ip=192.168.1.1/24
pc3[eth0]=link2:ip=192.168.2.1/24
- Default gateways definitions
pc1[default_gateway]=192.168.0.254
pc2[default_gateway]=192.168.1.254
pc3[default_gateway]=192.168.2.254
- Routers definitions
r1[type]=gateway
r2[type]=gateway
r3[type]=gateway
- Routers' interfaces to local networks
r1[eth0]=link0:ip=192.168.0.254/24
r2[eth0]=link1:ip=192.168.1.254/24
r3[eth0]=link2:ip=192.168.2.254/24
- Network "backbone" links
r1[eth1]=backbone0:ip=10.0.0.1/30
r1[eth2]=backbone1:ip=10.0.1.1/30
r2[eth1]=backbone0:ip=10.0.0.2/30
r2[eth2]=backbone2:ip=10.0.2.1/30
r3[eth1]=backbone1:ip=10.0.1.2/30
r3[eth2]=backbone2:ip=10.0.2.2/30
- Routes definition
r1[route]=192.168.2.0/24:gateway=10.0.1.2
r1[route]=192.168.1.0/24:gateway=10.0.0.2
r1[route]=10.0.2.0/30:gateway=10.0.0.2
r2[route]=192.168.0.0/24:gateway=10.0.0.1
r2[route]=192.168.2.0/24:gateway=10.0.2.2
r2[route]=10.0.1.0/30:gateway=10.0.2.2
r3[route]=192.168.0.0/24:gateway=10.0.1.1
r3[route]=192.168.1.0/24:gateway=10.0.2.1
r3[route]=10.0.0.0/30:gateway=10.0.2.1
</syntaxhighlight>
Referencia
AULA 17 - Dia 14/05/2019
- Finalização do Laboratório do NAT
- Laboratório de Introdução ao IPV6
- Introdução ao Access Point TPLINK N750: configuração da LAN e WAN
LAboratório de Introdução ao IPv6
Material de REferência
Roteiro de atividades sobre o IPv6
A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 Global Unicast já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento.
- Crie em seu computador um arquivo com nome /home/aluno/IPv6.conf, com o seguinte conteúdo:
#Ligacao das maquinas nos dominios de colisao
#Duas pequenas redes interligadas pelo backbone
# Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
# Hosts' interfaces to local routers
pc1[eth0]=link0:ipv6=2001:bcc:faca:1::101/64
pc2[eth0]=link1:ipv6=2001:bcc:cafe:1::102/64
pc3[eth0]=HUB1:ipv6=2001:bcc:1f0:1::103/64
pc4[eth0]=HUB1
#Default Gateways definitions
pc1[route]=default6:gateway=2001:bcc:faca:1::1
pc2[route]=default6:gateway=2001:bcc:cafe:1::1
pc3[route]=default6:gateway=2001:bcc:1f0:1::1
# Routers definitions
r1[type]=gateway
r2[type]=gateway
#Routers interfaces definitions
r1[eth0]=backbone0:ipv6=2001:db8:dead:1::1/64
r1[eth1]=link0:ipv6=2001:bcc:faca:1::1/64
r1[eth2]=link1:ipv6=2001:bcc:cafe:1::1/64
r2[eth0]=backbone0:ipv6=2001:db8:dead:1::2/64
r2[eth1]=HUB1:ipv6=2001:bcc:1f0:1::1/64
#Routers definitions
r1[route]=2001:bcc:1f0:1::0/64:gateway=2001:db8:dead:1::2
r2[route]=2001:bcc:faca:1::0/64:gateway=2001:db8:dead:1::1
r2[route]=2001:bcc:cafe:1::0/64:gateway=2001:db8:dead:1::1
- Tenha certeza que o Netkit2 estja atualizado: General >> Update.
- Rode o NetKit em seu computador. Em um terminal digite:
- No menu File - Load and Run, procure o arquivo /home/aluno/IPv6.conf e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: pc1-4 ou r1-2.
- Observe que o pc4 não está com sua interface configurada.
- Ao clicar no menu File - Graph, pode-se ter uma visão da rede a ser simulada e conferir se é equivalente ao diagrama proposto.
- Faça um ping6 entre o pc1 ao pc3:
ping6 -c4 2001:bcc:1f0:1::103
- Faça um ping6 entre o pc1 e pc2.
- No pc4 use o seguinte comando para adicionar o endereço IPv6 à interface de rede:
ip addr add 2001:bcc:1f0:1::104/64 dev eth0
- No pc4, acrescente o default gateway com o seguinte comando:
ip -6 route add default via 2001:bcc:1f0:1::1 dev eth0
- No pc1 use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando ifconfig:
- Todo o roteamento está pronto, mas caso desejássemos poderíamos acrescentar rotas com comando similares aos já utilizados. Por exemplo, no r1, para adicionar uma rota estática para a rede dos pc3 e pc4 utilizaríamos o seguinte comando:
ip -6 route add 2001:bcc:1f0:1::/64 via 2001:db8:dead:1::2 dev eth0
- Confira as rotas estabelecidas em todos os hosts com o comando abaixo.
- São coerentes com os dados apresentados no diagrama acima?
- No pc1 use os seguintes comandos para ver a rota para alguns vizinhos:
traceroute6 2001:bcc:1f0:1::103
traceroute6 2001:bcc:1f0:1::104
- Deixe um ping6 entre o pc1 ao pc3 rodando:
ping6 2001:bcc:1f0:1::103
Introdução ao Roteador-AP da TP-Link
Ver manual https://www.tp-link.com/us/support/download/tl-wdr4300/
Configuração Básica
Seguir as instruções do professor para a seguinte configuração:
- Retirar o plugue cabo ethernet que liga o PC do Lab a rede do IFSC. Conectar o PC a uma das portas LAN do AP;
- Conectar a WAN do AP ao Lab. do IFSC;
- Em um terminal do PC aplique o comando:
sudo dhclient eth0
- No browser do PC acesse o AP colocando o endereço:
http://tplinklogin.net
- Entrar com user admin e senha admin
- Configurar a WAN para DHCP (IP dinâmico)
- Configurar a LAN para DHCP na faixa 192.168.0.10 a 192.168.0.100
- Usar uma máquina virtual para testar a aquisição do IP:
pc1[type]=generic
pc1[eth0]=uplink:bridge=eth0
DESAFIO 1: Elabore um experimento para mostrar que a LAN do AP funciona como um switch.
Sugestão: Use uma máquina adicional colocada em uma porta do AP.
DESAFIO 2: Elabore um experimento para mostrar como o NAT funciona no AP. Se inspire no experimento realizado sobre o NAT.
AULA 18 - Dia 16/05/2019
Objetivos
PARTE 0 - Exercício de Revisão
PARTE 1 - Serviços de rede sobre o Linux
PARTE 2 - Acesso a rede WIFI
- conceitos básicos de redes sem fio: pg.103 de [12]
- configuração da WIFI no Access Point e Acesso via Linux
PARTE 0
Considere a rede abaixo definida pelo arquivo do netkit. Configure as redes com os seguintes prefixos:
- lan0: 50.50.50.0/24
- lan1: 60.60.60.0/24
- lan2: 70.70.70.0/24
O pc2dhcp deve ser configurado como servidor DHCP e deverá liberar IPs na faixa de 50.50.50.100/24 a 50.50.50.200/24. Todos os PCs receberão IP estáticos com exceção do PC1 que deverá receber dinamicamente o endereço. Toda a configuração deve ser realizada manualmente.
Teste a conectividade entre todos os PCs. Usando o tcpdump demonstre que quando PC2 faz um ping em PC4 a entrega será indireta. Demonstre usando o MAC address das máquinas como apoio. Chame o professor para demonstrar.
ALGUNS COMANDOS NOTÁVEIS:
ifconfig
ifconfig eth0 10.10.10.1/24
route -n
route add default gw 200.10.1.254
route del -net 200.10.1.0/24 gw 200.10.2.1
route add -net 200.10.1.0/24 gw 200.10.2.1
tcpdump -i eth1 -n -e
- Hosts definitions
pc1[type]=generic
pc2dhcp[type]=generic
pc3[type]=generic
pc4[type]=generic
- Routers definitions
r1[type]=gateway
r2[type]=gateway
- Hosts' interfaces to local routers
pc1[eth0]=lan0
pc2dhcp[eth0]=lan0
pc3[eth0]=lan1
pc4[eth0]=lan2
r1[eth0]=lan0
r1[eth1]=lan1
r2[eth0]=lan1
r2[eth1]=lan2
</syntaxhighlight>
Solução:
R1:
ifconfig eth0 50.50.50.254/24
ifconfig eth1 60.60.60.254/24
route add -net 70.70.70.0/254 gw 60.60.60.253
R2:
ifconfig eth1 70.70.70.254/24
ifconfig eth0 60.60.60.253/24
route add -net 50.50.50.0/24 gw 60.60.60.254
PC2DHCP:
ifconfig eth0 50.50.50.2/24
route add default gateway 50.50.50.254
configurar server: nano /etc/dhcp/dhcpd.conf
# A slightly different configuration for an internal subnet.
subnet 50.50.50.0 netmask 255.255.255.0 {
range 50.50.50.100 50.50.50.200;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
option routers 50.50.50.254;
option broadcast-address 50.50.50.255;
default-lease-time 600;
max-lease-time 7200;
}
/usr/sbin/dhcpd -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf eth0
PC3:
ifconfig eth0 60.60.60.1/24
route add default gw 60.60.60.254 #note que poderia ser para o outro roteador (R2)
PC4:
ifconfig eth0 70.70.70.1/24
route add default gw 70.70.70.254
PC1:
dhclient eth0 -v
Serviço SSH
O Serviço SSH se utiliza do modelo cliente-servidor. Deve-se executar um servidora ssh na máquina que permitirá o acesso remoto.
Um cliente a partir de uma outra máquina poderá logar remotamente usando um cliente ssh ou poderá fazer outras operações, tipo cópia remota
de arquivos.
ETAPA 1 - Rodando o servidor SSH
- Baseado no Material do Prof.Odilson Valle
No Ubuntu server:
-
sudo su</syntaxhighlight>
apt-get update</syntaxhighlight>
apt-get install ssh</syntaxhighlight> O SSH já estará funcionando normalmente.
Para configurações extras deve-se editar o arquivo /etc/ssh/sshd_config e acrescentar, por exemplo:
- X11Forwarding yes (no) ### habilita/desabilita acesso com ambiente gráfico remoto
- AllowUsers Fred Wilma ### Libera o acesso somente para os usuários Fred e Wilma
- DenyUsers Dino Pebbles ### Bloqueia o acesso aos usuários Dino e Pebbles e libera para os demais usuários
- AllowGroups admin ### Libera o acesso somente para o grupo admin.
-
Após modificar o arquivo de configuração deve-se reiniciar o serviço:
service ssh restart</syntaxhighlight>
-
Criar um usuário na máquina servidora:
adduser alien</syntaxhighlight>
-
Logar como alien:
su alien</syntaxhighlight>
ETAPA 2 - Logando remotamente
-
Para acessar o servidor basta digitar em um terminal:
ssh alien@ip_do_servidor. </syntaxhighlight> Será solicitado a senha.
-
Confira que está "dentro" da máquina remota:
hostname</syntaxhighlight>
-
Confira os arquivos do diretório corrente:
ls -l</syntaxhighlight>
ETAPA 3 - Cópia Remota de aquivos
- Na máquina hospedeira/cliente, EM OUTRO TERMINAL, criar um arquivo qualquer usando um editor de texto:
gedit teste.txt &</syntaxhighlight>
- Envie o arquivo para a máquina servidora:
scp teste.txt alien@IP_MAQUINA_SERVIDORA:./</syntaxhighlight>
- No terminal onde está logado remotamente confira se o arquivo está copiado:
ls -l</syntaxhighlight>
- Mude o nome do arquivo:
mv teste.txt alfat.txt</syntaxhighlight>
- No terminal da máquina cliente traga novamente o arquivo:
scp alien@IP_MAQUINA_SERVIDORA:./alfa.txt .</syntaxhighlight>
- Confira se o arquivo foi copiado corretamente:
ls -l</syntaxhighlight>
PARTE 2 - Configuração do Access Point na rede de 2.4Ghz
- Entrar na configuração do AP conforme aula anterior.
- Conectara a WAN do AP na rede do laboratório e o PC em uma porta da LAN do AP.
- Configurar a WAN para IP dinâmico.
- Configurar a rede WIreless 2.4 Ghz:
- Nome SSID: nome FIC-NomeAluno
- Configurar canal AUTO e channel width para AUTO
- Habilite o broadcast da rede.
- Configurar segurança (Wireless Security) para WPA versão Automática, Criptografia AES e password ABCDEF
- Configurar o DHCP na LAN para distribuir endereços entre 192.168.0.100 e 192.168.0.200
- Salve as configurações
- Reboote o roteador
Acessando a rede de dispostivo Celular
- Teste o acesso a rede a partir de um celular. No Androi ligue e desligue o wifi. Deve aparecer a lista de dispositivos.
Habilitando Filtros por MAC
- Na configuração da WLAN entre em Wireless MAC Filtering
- Em Filtering Rules coloque Deny (negar)
- Adicione um terminal que deseja bloquear o acesso. Utilize o MAC do seu celular (veja em configurações do telefone ou anote na opção Wireless Statistics)
- Habilite o Filtro e tente se conectar
OBS: Este filtro é interessante para ter maior segurança na rede, garantindo que somente dispositivos gabilitados possam acessá-la.
Coloque no ar a rede 5Ghz
Repita o procedimento da rede de 2.4Ghz e coloque-a no ar.
Teste a conectividade com o celular.
AULA 19 - Dia 21/05/2019
Objetivos
- Tópicos Adicionais sobre redes no Linux: Configuração Manual X NetworkManager
- Opções de Acesso a Internet: ADSL, Cabo
- Relatório de Avaliação 1
- Opções de Extensão da Rede Wireless
Tópicos Adicionais sobre redes no Linux
Configuração da Rede no Linux - o NetworkManager
Ao longo do curso estudamos vários comandos para ver e modificar parâmetros de rede. Entretanto, em uma instalação padrão de um sistema Linux Ubuntu vamos verificar que existe um serviço de suporte a estas configurações que permite configurar interfaces graficamente e reconectar/escolher uma rede. Trata-se do NetworkManager. Ver alguns detalhes aqui [13] e aqui[14]. Este serviço tenta fornecer a melhor conectividade possível usando as interfaces disponíveis. O serviço é composto por:
- um processo do sistema (roda como serviço) monitorando constantemente as interfaces;
- uma applet para interação com o usuário (canto direito da interface);
O NetworkManager vai ignorar as configurações das interfaces realizadas em /etc/network/interfaces
Teste o uso do NetworkManager. Clique no topo do desktop a direita e inspecione as interfaces disponíveis.
Em algumas situações pode ser desejável desabilitar o NetworkManager. Na linha de comando pode ser executado:
sudo service network-manager stop
Configurando interfaces de forma manual
TEXTO baseado nas anotações do Prog.Marcelo Sobral:
O arquivo /etc/network/interfaces contém declarações para configurar as interfaces de rede. Um exemplo de configuração básica contida nesse arquivo pode ser vista a seguir:
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Esse exemplo pode ser interpretado assim:
- Linha 1: declara que as interfaces lo e eth0 devem ser ativadas automaticamente no boot. Se uma interface não aparecer em uma declaração como esta, então ela não será ativada. OBS: interface ativadas desta forma NÃO são controladas pelo NetworkManager.
- Linha 2: configura a interface lo como sendo do tiupo loopback. Essa é uma interface especial criada puramente em software (uma interface de rede virtual), usada para comunicação entre processos de um mesmo computador.
- Linha 3: configura a interface eth0 de forma dinâmica usando DHCP. A configuração de rede é solicitada usando a própria rede. Ness ecaso, deve existir algum equipamento ou computador nessa rede que seja um servidor DHCP, capaz de responder com uma mensagem contendo a configuração de rede a ser utilizada.
O exemplo anterior é bastante simplificado, uma vez que a configuração de rede de fato é obtida dinamicamente com DHCP. Isso pode ser suficiente para computadores usados somente para acesso a Internet, mas não para computadores que sejam servidores. Nesse caso, é melhor definir uma configuração de rede estática, como mostrado a seguir:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 172.18.80.251
netmask 255.255.128.0
gateway 172.18.0.254
dns-nameservers 191.36.8.2 191.36.8.3
A diferença em relação ao caso anterior está na declaração da interface eth0. Ao invés de configurá-la com DHCP, declararam-se todas as informações de rede. Assim, essa interface sempre será ativada com essas informações configuradas. No exemplo apresentado, as configurações de rede são:
- address 172.18.80.251: endereço IP da interface
- netmask 255.255.128.0: máscara de rede
- gateway 172.18.0.254: endereço do gateway (ou roteador default)
- dns-nameservers 191.36.8.2 191.36.8.3: servidores DNS a serem utilizados (podem-se especificar um ou mais endereços IP)
O manual do arquivo /etc/network/interfaces apresenta muitos outros detalhes sobre possíveis configurações de rede.
Antes da alteração de configuração de uma interface é interessante desativá-la:
ifdown eth0
Alterar o arquivo /etc/network/interfaces
E na sequência ativá-la novamente:
ifup eth0
ou
sudo /etc/init.d/networking restart
O comando ifup vai consultar o arquivo e alterar as configurações. Indiretamente, o script networking também usa o ifup para ativar as configurações (e todas demais que forem realizadas).
Relatório Avaliativo 1
Criar um arquivo no OpenOffice nomeando-o SeuNomeSemEspaco-FICLinux-2019-A1
Copiar e responder as questões abaixo:
1.Faça um ifconfig na interface eth0. Cole um recorte da tela no espaço abaixo e faça um texto indicando qual o endereço de hardware associado a esta interface, qual o endereço IPv4 e qual a máscara de subrede.
2.Faça um experimento usando o ping e o wireshark mostrando como o DNS atua para resolver o nome que está sendo "pingando". Informe em texto abaixo qual o IP do servidor DNS local e qual o IP do site que está sendo "pingado".
3,Execute o laboratório do Netkit da forma e cole abaixo a figura da rede fornecida pelo netkit:
- Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
- Routers definitions
r1[type]=gateway
- Hosts' interfaces to local routers
r1[eth0]=lan0
r1[eth1]=lan1
pc1[eth0]=lan0
pc2[eth0]=lan0
pc3[eth0]=lan1
</syntaxhighlight>
4.Configure todas as interfaces dos PC usando para lan0 o prefixo 50.50.50.0/24 e para lan1 use no lugar de 50 o dia de seu nascimento.
Cole uma tela mostrando PC1 pingando PC3.
5.Informe abaixo o MAC da eth0 do roteador.
6.Usando o tcpdump na eth0 do roteador mostre que a entrega é indireta.
Estendendo a rede através da LAN usando segundo AP e WAN
Conecte um segundo AP (WAN do segundo AP a LAN do primeiro AP). Teste a conectividade colocando uma máquina Linux na LAN do segundo AP.
Esta configuração deve funcionar mas impõe um overhead adicional devido ao NAT realizado duas vezes...
DESAFIO: mostrar que o NAT está sendo duplicado.
Estendendo a rede através da LAN usando segundo AP e LAN
Discuta com o colega ao lado e pense como poderia conectar o segundo AP via LAN. Uma configuração adicional será necessária.
Estendendo a rede através do Wireless (WDS)
Estude no manual como poderia estender a rede Sem Fio usando conexão via WDS.
AULA 20 - Dia 18/04/2019
- Tópicos Adicionais
- Relatório Avaliativo 2
Relatório Avaliativo
Usando a configuração abaixo do netkit2 e uma máquina Virtualbox devidamente configurada implementar a configuração abaixo:
</syntaxhighlight>
AULA 20 - Dia 18/04/2019
|