1. Rotas de Rede - RedeCASD
Quarta
Victor da Silva Montalvão 11/04/2012
Interfaces de rede
Comunicação em redes
Configuração de Rotas
Redes virtuais
Exploração de redes
3. Interfaces de Rede
Ethernet USB Serial Paralela
Dispositivo eletrônico que intermedia a
comunicação entre as máquinas
Física: Placas ethernet, wireless, etc (ex. eth0)
Virtual: Emulam configurações de dispositivos reais
(ex. loopback – lo – 127.0.0.1/8)
4. Configurando Interfaces
Manipular interfaces: ip link [-s]
ip link set DEVICE { up | down}
ip link add link DEVICE NAME type TYPE id #
ip link delete DEVICE type TYPE
TYPE := vlan
Configurar endereços: ip addr
ip addr { add | del } IFADDR dev STRING
IFADDR := [broadcast] ADDR
Para configuração automática: dhclient
5. Packages net-tools vs. iproute
● apt-cache show net-tools iproute
no repositório do ubuntu (hardy), iproute é required e net-
tools é important. Qual vc acha que é mais importante?
Purpose net-tools iproute
Address and link ifconfig ip addr,
configuration ip link
Routing tables route ip route
Neighbors arp ip neigh
VLAN vconfig ip link
Tunnels iptunnel ip tunnel
Multicast ipmaddr ip maddr
Statistics netstat ss
Ver man ip e ip OBJECT help
6. Comunicação em rede interna
Pacotes ARP(REQUEST/RESPONSE) e ARP spoofing
Cache ARP e Resolução de Endereços:
obter MAC Addresses, manter tabela em cache
IP → MAC
ARP Reverso, DHCP e NDPNeighborDiscoveryProtocol (IPv6)
Manipular tabela de resolução: ip neigh
ip neigh { list | flush } dev DEVICE
ip neigh { add | del } ADDR
7. Packages iputils-* e traceroute
ping [-s #] [-i #] destination
exibe latência e perdas de pacotes ICMPInternetControlMessageProtocol
arping -I interface destination
exibe latência de pacotes ARP e MAC address
tracepath [-b] destination
exibe MTUMaxTransmissionUnit dos pacotes ICMP transmitidos
traceroute [-n] destination
exibe caminho dos pacotes ICMP transmitidos
mtr [-s #] [-i #] destination
traceroute+ping
8. Comunicação com rede externa
Muitos dispositivos Segurança
Velocidade Estruturação de redes e rotas
10. Tabela de Roteamento
ip route
ip route { list | flush }
ip route get ADDRESS
ip route { add | del | change } ROUTE
ADDRESS: host(10.0.0.1) ou rede(10.0.0.0/24)
ROUTE: ADDRESS dev INTERFACE
{ ADDRESS | default } via ADDRESS
11. Configurando rotas e redes
Redes são criadas através da configuração das
interfaces e das rotas
Exemplo:
@labrede1: ip addr change 10.0.0.1 dev eth1
@labrede2: ping 10.0.0.1
@labrede2: ip route add 10.0.0.1 dev eth0
@labrede2: ping 10.0.0.1
@labrede1: tenta a internet e dhclient
Porque eu consigo me comunicar alterando
apenas meu endereço para um válido na rede?
12. Redes virtuais (VLANs e VPNs)
Compartilhar recursos de rede
Domínios de broadcast e de colisão
Implementadas sobre outra rede física
VLANs podem ser configuradas por
VirtualLocalAreaNetwork
IPs, MACs, sub-redes, portas de
comutadores gerenciáveis
VPNs VirtualPrivateNetwork
utilizam a rede pública (internet)
13. Interfaces virtuais
Definir interface virtual: ip link add
ip link add link DEVICE NAME type TYPE id #
ip link delete DEVICE type TYPE
TYPE := vlan
Configurar interface virtual:
ip link set DEVICE { up | down}
ip addr { add | del } IFADDR dev STRING
IFADDR := [broadcast] ADDR
14. Forwarding
Roteadores precisam ativar forwarding de IPs
para transmitir pacotes recebidos
O kernel é a parte do sistema que
gerencia os recursos físicos do
sistema (hardware)
Arterar arquivo do kernel (/proc):
/proc/sys/net/ipv4/ip_forward para 1
ou editar /etc/sysctl.conf e reiniciar
15. Atividade Prática
VLAN Token Ring
Criar interface virtual
Configurar endereço da rede
Adicionar gateway para rede virtual
Ativar Forwarding
16. Atividade Prática – Token Ring
ip l a l ethy NOME type vlan id 1
ip addr add 10.0.0.x/24 dev NOME
ping 10.0.0.y
iproute add 10.0.0.x+1 dev NOME
iproute change 10.0.0.x/24 via 10.0.0.x+1
ping 10.0.0.x-1
Ativarem ip_forward: /proc/sys/net/ipv4/ip_forward
ping 10.0.0.x-1
traceroute 10.0.0.x-1
18. Atividade Extra - Roteamento
Utilizar Labrede1 como Roteador
Colocar eth0 do Labrede1 na mesma rede
física do meu note (IP: 11.04.20.12/24)
ip addr add 11.04.20.11/24 dev eth0
Definir Labrede1 como roteador default
ip route add IPlabrede1 dev IFACE
ip route add default via IPlabrede1
Digitar 11.04.20.12 em seu navegador
19. Scripts de Inicialização
Para configurar interfaces, ver man interfaces
Criar um Script de inicialização para executar
uma sequência de comandos:
nano /etc/init.d/rotascript
#!/bin/bash (interpretador do script)
comandos (separados por linha)
Tornar arquivo executável com chmod +x
Testar: service rotascript ou ./rotascript
Para executar na inicialização, adicionar o local
ao final de /etc/rc.local
20. Portas de Software
Conexão virtual para a transmissão de dados
Específicas para aplicativos ou processos
Protocolos de camada de aplicação (layer≥4)
Socket: IP + Porta. Identifica unicamente um
aplicativo ou servidor em rede IP
Utilizados para IPC(ver link)
Principais portas: ECHO:7/tcp&udp, FTP: 20e21/tcp,
SSH: 22/tcp&udp, SMTP: 25/tcp&udp, DNS: 53/tcp&udp,
DHCP: 67e68/udp, HTTP: 80/tcp, , HTTPS:443/tcp
ICMP(layer3) utiliza ECHO e ARP(l2) é ativado na interface
21. Roteamento Avançado - Regras
Tabelas de Roteamento: local, main, default
Regras → Tabelas (em /etc/iproute2/rt_tables)
ip rule list e ip route list table TABELA
(Menor número: maior prioridade)
ip rule { list | flush }
ip rule { add | del } SELECTOR ACTION
SELECTOR:= [not] { from | to } ADDRESS
ACTION:= [priority # table TABLE_ID] [nat
ADDRESS] [prohibit|reject|unreachable]
22. Exemplos de Regras
Criando Regras:
ip rule add from 192.168.72.0/21 table 2
ip rule add from 192.168.72.0/21 nat ADDRESS
(deprecated)
ip rule add from 192.168.4.0/24 reject
ip rule add from 192.168.4.0/24 prohibit
Tb pode-se escolher a tabela da rota colocando
table TABLE_ID ao final de comando com ip route
23. Iptables
iptables [-t tabela] {-A, -D} rule
tabela:= FILTER(default), NAT, MANGLE ou RAW
(-A=add e -D=delete)
rule:= chain param -j action
chains(-t FILTER): INPUT, OUTPUT ou FORWARD
chains(-t NAT): PREROUTING, POSTROUTING
param:= {-i, -o} IFACE, {-d, -s} ADDR
ou -p {tcp, udp} {--dport, --sport} porta
actions(-t FILTER): ACCEPT, REJECT ou DROP
actions(-t NAT): MASQUERADE ou DNAT --to ADDR
iptables -F (flush)
iptables -P chain action (default policies)
24. Exploração de Redes
nmap
Diversos Pacotes IP
Escaneia hosts disponíveis, serviços,
sistema operacional, etc
Use com DC!
nmap -sP 192.168.72.0/21 (hosts e MACs)
nmap -sS ADDRESS (portas e serviços)
nmap -O ADDRESS (Sistema operacional)
25. Termos técnicos relacionados
Datagrama ou pacote: unidade dos dados para transmissão sobre
diversas redes. Encapsula frações de informações de aplicativos
(dados) em seu corpo e possui endereços IP, protocolo além de
dados para sincronização em seu cabeçalho
Frame ou quadro: unidade de dados para trasmissão em rede
interna. Encapsula um pacote e adiciona endereços MAC
Host: dispositivo conectado a uma rede
Rede física: Conjunto de hosts que pertencem à mesma classe de
endereços e se comunicam pela mesma interface
Bridge: segmento independente da(s) rede(s) que transmite pacotes
para endereços MAC válidos do outro lado da ponte (Camada 2)
Backbone: Espinha dorsal(estrutura de base) da rede para se
conectar à internet. Estrutura que não é de domínio da rede
Latência: tempo que o pacote demora para chegar ao destino