rotas de rede - redecasd 2012
TRANSCRIPT
Victor da Silva Montalvão
Interfaces de rede
Comunicação em redes
Configuração de Rotas
Redes virtuais
Exploração de redes
Rotas de Rede - RedeCASD
Quarta11/04/2012
RoutesConnecting Networks
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)
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 addrip addr { add | del } IFADDR dev STRING
IFADDR := [broadcast] ADDR
Para configuração automática: dhclient
Packages net-tools vs. iproute
● apt-cache show net-tools iprouteno repositório do ubuntu (hardy), iproute é required e net-tools é important. Qual vc acha que é mais importante?
Ver man ip e ip OBJECT help
Purpose net-tools iproute
Address and link configuration
ifconfig ip addr,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
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 neighip neigh { list | flush } dev DEVICE
ip neigh { add | del } ADDR
Packages iputils-* e traceroute
ping [-s #] [-i #] destinationexibe latência e perdas de pacotes ICMP
InternetControlMessageProtocol
arping -I interface destinationexibe latência de pacotes ARP e MAC address
tracepath [-b] destinationexibe MTU
MaxTransmissionUnit dos pacotes ICMP transmitidos
traceroute [-n] destinationexibe caminho dos pacotes ICMP transmitidos
mtr [-s #] [-i #] destinationtraceroute+ping
Comunicação com rede externa
Muitos dispositivos Segurança
Velocidade Estruturação de redes e rotas
Roteadores
Conectam redes distintas (LAN +WAN) Utilizam connectionless communication:
permitem multicast e broadcast
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
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?
Redes virtuais (VLANs e VPNs)
Compartilhar recursos de rede Domínios de broadcast e de colisão Implementadas sobre outra rede física
VLANsVirtualLocalAreaNetwork
podem ser configuradas porIPs, MACs, sub-redes, portas de comutadores gerenciáveis
VPNsVirtualPrivateNetwork
utilizam a rede pública (internet)
Interfaces virtuais
Definir interface virtual: ip link addip 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
Forwarding
Roteadores precisam ativar forwarding de IPs para transmitir pacotes recebidos
O kernel é a parte do sistema quegerencia os recursos físicos dosistema (hardware)
Arterar arquivo do kernel (/proc): /proc/sys/net/ipv4/ip_forward para 1 ou editar /etc/sysctl.conf e reiniciar
Atividade Prática
VLAN Token Ring
Criar interface virtual Configurar endereço da rede Adicionar gateway para rede virtual Ativar Forwarding
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
Fim?
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 defaultip route add IPlabrede1 dev IFACEip route add default via IPlabrede1
Digitar 11.04.20.12 em seu navegador
Scripts de Inicialização
Para configurar interfaces, ver man interfaces Criar um Script de inicialização para executar
uma sequência de comandos:
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
nano /etc/init.d/rotascript
#!/bin/bash (interpretador do script)comandos (separados por linha)
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 IPUtilizados 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
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]
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
Iptables
iptables [-t tabela] {-A, -D} ruletabela:= FILTER(default), NAT, MANGLE ou RAW
(-A=add e -D=delete)
rule:= chain param -j actionchains(-t FILTER): INPUT, OUTPUT ou FORWARDchains(-t NAT): PREROUTING, POSTROUTING
param:= {-i, -o} IFACE, {-d, -s} ADDR ou -p {tcp, udp} {--dport, --sport} porta
actions(-t FILTER): ACCEPT, REJECT ou DROPactions(-t NAT): MASQUERADE ou DNAT --to ADDR
iptables -F (flush)
iptables -P chain action (default policies)
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)
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