serviços de redes

77
Serviços de Redes Roteamento (IPTABLE) e Proxy (Squid

Upload: shamara-amena

Post on 01-Jan-2016

17 views

Category:

Documents


4 download

DESCRIPTION

Serviços de Redes. Roteamento (IPTABLE) e Proxy (Squid). Nomenclatura das interfaces no Linux. Loopback: lo Ethernet: eth0, eth1, . . . Wi-Fi: wlan0, wlan1, . . . Token Ring: tr0, tr1, . . . PPP: ppp0, ppp1,. Definindo configurações. Os programas ifconfig e route vêm no pacote net-tools - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Serviços de Redes

Serviços de Redes

Roteamento (IPTABLE) e Proxy (Squid)

Page 2: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 2

Nomenclatura das interfaces no Linux• Loopback: lo

• Ethernet: eth0, eth1, . . .

• Wi-Fi: wlan0, wlan1, . . .

• Token Ring: tr0, tr1, . . .

• PPP: ppp0, ppp1, . .

Page 3: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 3

Definindo configurações

• Os programas ifconfig e route vêm no

pacote net-tools

• O programa ip vem no pacote iproute

– A partir do kernel 2.2

Page 4: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 4

ifconfig

• ifconfig Usado para exibir e configurar uma interface de rede.

• Uso:– ifconfig– ifconfig argumentos

Page 5: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 5

Exemplos do uso do ifconfig

• Ifconfig

• ifconfig eth0 down

• ifconfig eth0 up 192.168.0.111 netmask 255.255.0.0 broadcast 192.168.255.255

Page 6: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 6

route

• route Usado para exibir e configurar a tabela de roteamento.

• Uso:– route– route argumentos

Page 7: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 7

Exemplos do uso do route

• Route

• route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0

• route add default gw 192.168.1.200

Page 8: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 8

ip

• ip Usado para exibir e configurar uma interface de rede.

• Uso:– ip argumentos

Page 9: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 9

Exemplos do uso do route• ip link show

• ip route list

• ip link set eth0 down

• ip addr del dev eth0 local 192.168.0.3

• ip addr add dev eth0 local 192.168.0.111/16 broadcast 192.168.255.255

• ip link set eth0 up

• ip route add dev eth0 to 10.0.0.0/8 src 192.168.0.111 via 192.168.0.1

Page 10: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 10

Configurando uma interface Wi-Fi

O programa iwconfig, que vem no

pacote wireless-tools, é usado para

interfaces Wi-Fi, juntamente com o

ifconfig ou ip.

Page 11: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 11

Configurando uma interface com um endereço IP estático

• Cenário: – uma interface Ethernet tem endereço IP fixo

192.168.0.123. – Máscara 255.255.255.0 – Seu gateway é 192.168.0.1

• Arquivo:– /etc/network/interfaces

Page 12: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 12

Configurando o arquivo interfaces

• Inclua uma entrada como essa:

iface eth0 inet static

address 192.168.0.123

netmask 255.255.255.0

gateway 192.168.0.1

Page 13: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 13

DNS no interfaces

• Se você tiver o resolvconf instalado então pode adicionar linhas que especifiquem informação de DNS. Por exemplo:iface eth0 inet static

address 192.168.0.123

netmask 255.255.255.0

gateway 192.168.0.1

dns-search meudominio.org

dns-nameservers 195.238.2.21 195.238.2.22

Page 14: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 14

Configurando uma interface usando DHCP• iface eth0 inet dhcp

• É necessário que um clientes DHCP esteja instalado, como:– dhcp3-client (versão 3, Internet Software

Consortium)

– dhcpcd (Yoichi Hariguchi e Sergei Viznyuk)

– pump (Redhat)

Page 15: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 15

Configurando uma interface Wi-Fi• O pacote wireless-tools é um requisito para o

funcionamento

• A configuração é feita usando o programa iwconfig.

• Para cada parâmetro de comando possível do

iwconfig você pode incluir uma opção em

/etc/network/interfaces nomeada como o parâmetro

com um prefixo ”wireless-“.

Page 16: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 16

Configurando uma interface Wi-Fi - exemplo• Por exemplo, para definir o ESSID de eth0 para myessid

e a chave de encriptação para 123456789e antes de

levantar a eth0 usando DHCP, edite o arquivo

/etc/network/interfaces de forma a incluir uma entrada

como esta:

iface eth0 inet dhcp

wireless-essid myessid

wireless-key 123456789e

Page 17: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 17

• Supondo um host com duas interfaces de rede. eth0

terá seu endereço IP configurado por DHCP e eth1 está

conectada com um endereço IP estático 192.168.1.1.

• Editando o arquivo /etc/network/interfaces :

iface eth0 inet dhcp

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

Configurando Múltiplas Interfaces Ethernet

Page 18: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 18

• As interfaces virtuais permitem configurar uma única placa Ethernet para ser uma interface para várias redes.

• Exemplo: seu sistema esteja em uma rede 192.168.0.x/24 e você quer usar um endereço IP público provido via DHCP usando a mesma placa Ethernet existente. Editando o /etc/network/interfaces :iface eth0 inet static

address 192.168.0.1

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

iface eth0:0 inet dhcp

Configurando Interfaces Virtuais

Page 19: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 19

• Uma interface física é o que temos chamado de ”a interface“, a coisa que é chamada eth0, ppp1, ou o que você tiver.

• Uma interface lógica é um conjunto de valores que pode ser atribuído aos parâmetros variáveis de uma interface física.

• As definições iface no arquivo /etc/network/interfaces são na verdade definições de interfaces lógicas, não de interfaces físicas.

Configuração de Rede

Page 20: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 20

• Cenário: seu computador é um laptop que você transporta

entre a casa e o trabalho. Quando você conecta o

computador à rede corporativa ou à sua LAN doméstica

você precisa configurar a eth0 apropriadamente.

• Definiremos duas interfaces lógicas:

– casa e trabalho que descrevem como a interface deve ser configurada

para a rede doméstica e a rede do trabalho, respectivamente.

Configuração de Rede

Page 21: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 21

interfaces - lógica

iface casa inet staticaddress 192.168.0.123

netmask 255.255.255.0

gateway 192.168.0.1

iface work inet staticaddress 81.201.3.123

netmask 255.255.0.0

gateway 81.201.1.1

Page 22: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 22

Interfaces – lógica – levantando

• Então a interface pode ser levantada para a rede doméstica especificando na linha de comando:– ifup eth0=casa

• Para configurar eth0 para a rede do trabalho execute os comandos:– ifdown eth0– ifup eth0=work

Page 23: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 23

ifup e ifdown

• ifup “Levanta” o dispositivo especificadoifup dispositivo

• ifdown “Derruba” o dispositivo especificadoifdown dispositivo

Page 24: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 24

• Na inicialização o script /etc/rcS.d/S40networking executa o comando ifup -a. Isso levanta todas as interfaces físicas listadas em entradas auto no etc/network/interfaces.

• Na maioria dos casos se deseja que pelo menos a interface de loopback lo seja levantada na inicialização.

• Assim, certifique-se de que o /etc/network/interfaces inclua as seguintes entradas.≠ auto lo

≠ iface lo inet loopback

Configuração da Rede durante a Inicialização

Page 25: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 25

• Se você encontrar problemas então verifique a saída seguinte como primeira verificação do que está acontecendo:

≠ifconfig

≠cat /proc/pci

≠cat /proc/interrupts

≠dmesg | more

Resolução de problemas com a rede

Page 26: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 26

• Instale os pacotes netkit-ping, traceroute, dnsutils, ipchains

(para kernel 2.2), iptables (para kernel 2.4) e net-tools e :

ping www.uol.com # checa a conexão Internet

traceroute www.uol.com # rastrea pacotes IP

ifconfig # checa configuração do host

route -n # checa configuração de roteamento

dig [@servidor-dns.com] host.domínio | less

# checa os registros DNS de host.domínio usando servidor-dns.com para

um registro a {mx|any}

Testes de Redes Básicos

Page 27: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 27

ipchains -L -n | less # checa o filtro de pacotes (kernel 2.2)

iptables -L -n | less # checa o filtro de pacotes (kernel 2.4)

netstat -a # encontra todas as portas abertas

netstat -l --inet # encontra as portas em escuta

netstat -ln --tcp # encontra todas as portas TCP em escuta

(numérico)

Teste de Redes Básicos II

Page 28: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 28

Fim Endereçamento Fim Endereçamento

Page 29: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 29

• O primeiro endereço em uma rede IP é o endereço da própria rede.

• O último endereço é o endereço de broadcast da rede.

• Todos os outros endereços podem ser alocados a sistemas na rede. – Desses, o primeiro ou o último endereço

normalmente é alocado para o gateway de Internet para a rede.

Fundamentos

Page 30: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 30

Tabela de roteamentoA tabela de roteamento contém a informação do kernel sobre

como enviar pacotes IP aos seus destinos. A seguir está um

exemplo de tabela de roteamento para um sistema Linux em

uma rede local (LAN) com endereço IP 192.168.50.x/24. O

sistema 192.168.50.1 (também na LAN) é um roteador para a

rede corporativa 172.20.x.x/16 e o sistema 192.168.50.254

(também na LAN) é um roteador para a Internet para todos.

Page 31: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 31

Exemplo de tabela de roteamento# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

127.0.0.0 * 255.0.0.0 U 0 0 2 lo

192.168.50.0 * 255.255.255.0 U 0 0 137 eth0

172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0

Default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0

Page 32: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 32

Exemplo de tabela de roteamento• A primeira linha depois do cabeçalho diz que o tráfego destinado

à rede 127.x.x.x será roteado para lo a interface de loopback.• A segunda linha diz que o tráfego destinado aos sistemas na LAN

serão roteados através de eth0.• A terceira linha diz que o tráfego destinado à rede corporativa

será roteado para o gateway 192.168.50.1 e também através de eth0.

• A quarta linha diz que o tráfego destinado à Internet será roteado para o gateway 192.168.50.254 e também através de eth0.

Page 33: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 33

Configuração de rotas

• Para inserir uma rota use o comando no formato: – route add [ -net | -host ] target [ netmask Nm ] [ gw Gw ] [[ dev ]

If ].

• Ex.:Inserir uma rota para uma rede:– route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.3

• Inserir uma rota para um host, utilizando uma determinada interface ponto a ponto:– route add -net 192.168.10.1 dev ppp0

• Para selecionar a rota default:– route add default gw 192.168.1.200

Page 34: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 34

Removendo rotas• Para remover rotas usamos praticamente a mesma

sintaxe, mas ao invés do "add" usamos o "del".

• Se quisermos adicionarmos uma rota ao subir um

determinada interface, poderíamos usar a seguinte linha

dentro das opções da interface:

– iface eth0 inet static

– ... up ip route add 10.0.0.0/24 via 200.X.X.Y

Page 35: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 35

Entradas na Tabela de Roteamento• Cada tabela de roteamento pode ter várias entradas.

• Alguns tipos de rotas que podem ser adicionadas com o comando ip route, são: – unicast: Uma rota unicast é a mais comum na tabela. Isto é

tipicamente um rota para uma rede de destino.

– broadcast: Esta rota é usada pela camada de link de dispositivos (placas Ethernet) o qual suportam a notação de endereço broadcast.

– local: O kernel irá adicionar entradas para a tabela de roteamento local quando endereços IP são adicionados para uma interface

Page 36: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 36

Exemplos de entrada na tabela de roteamento

ip route add unicast 192.168.0.0/24 via 192.168.100.5

ip route add unicast default via 206.59.29.193

ip route add 10.40.0.0/16 via 10.72.75.254

ip route add table local broadcast 10.10.20.255 dev eth0 proto kernel

scope link src 10.10.20.67

ip route add table local broadcast 192.168.43.31 dev eth4 proto kernel

scope link src 192.168.43.14

Page 37: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 37

Entradas na Tabela de Roteamento – II • nat: Esta rota é adicionada para o kernel na tabela de

roteamento local, quando o usuário tenta configurar stateless NAT

• unreachable:Quando um requisição para uma decisão de roteamento retorna um destino com rota do tipo unreachable

• prohibit:Análogo ao unreachable mas gera um ICMP prohibit

• blackhole: Um pacote que casa com uma rota do tipo blackhole é descartado

• throw: Este tipo de rota é usado, quando deseja-se que uma consulta na tabela de roteamento falhe

Page 38: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 38

Exemplos de entrada na tabela de roteamento – II

ip route add nat 193.7.255.184 via 172.16.82.184

ip route add nat 10.40.0.0/16 via 172.40.0.0

ip route add unreachable 172.16.82.184

ip route add unreachable 192.168.14.0/26

ip route add prohibit 10.21.82.157

ip route add prohibit 172.28.113.0/28

ip route add blackhole 64.65.64.0/18

ip route add throw 10.79.0.0/16

Page 39: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 39

Definições

• Para que um pacote que está em uma rede local, com um determinado endereço, possa ir para um outra rede, ele precisa ser convertido para o endereçamento externo.

• Esta troca de rede, ocorre graças a um equipamento que tem acesso as duas redes.

Page 40: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 40

Gateway

Definição

Equipamento responsável pela conversão de protocolo ou

mídia ou aplicativo.

Page 41: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 41

Gateway

No caso de IPTABLE ou Proxy

Equipamento responsável pela conversão de redes (endereçamento e/ou protocolo).

Exemplo

Responsável por encaminhar o pacote de uma rede interna para a externa.

Page 42: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 42

Gateway

Rede Local

Rede Remota

Page 43: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 43

Compartilhamento de Conexão

Compartilhamento

Page 44: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 44

IPTables

Software responsável pela filtragem e encaminhamento de pacotes.

Trabalha a nível de redes, portanto consegue pegar pacotes da rede interna e encaminha para rede externa.

Page 45: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 45

IPTables•Um firewall, ou filtro de pacotes, é utilizado para proteger máquinas ou rede através da filtragem dos pacotes de dados. •No Linux esse recurso é implementado diretamente no kernel e recebe, nas versões de kernel >2.4, o nome de netfilter.

•O netfilter é capaz de manipular campos dos cabeçalhos de pacotes, fazer a tradução de endereços de rede (NAT), "marcar“ pacotes e fazer o acompanhamento de conexões e filtragem. •Estes recursos faz com o que o netfilter seja um firewall capaz de reconhecer o "estado" de uma conexão.

Page 46: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 46

IPTables (Tabelas)

• Tabela é o local utilizado para armazenar regras de filtragem.

• Existem três tabelas: – Filter (utilizada para aceitar ou rejeitar pacotes)

– mangle (manipular alguns campos do cabeçalho IP – TOS e TTL)

– Nat (utilizada para fazer Traduções de Endereços de Rede)

Page 47: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 47

IPTables (Chains)• chain conjunto de regras aplicadas sobre os pacotes.

Existem dois tipos:

– chains do kernel • PREROUTING, INPUT, FORWARD, OUPUT e POSTROUTING –

estão ligadas a pontos especiais no caminho que os pacotes precorrem ao

entrar e sair da máquina.

– chains criadas pelo usuário.• Não estão ligadas a ponto algum, logo, é necessário que uma chain do

kernel tenha como alvo uma chain de usuário para que os pacotes

percorram essa chain.

Page 48: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 48

IPTables (Chains)• PREROUTING chain consultada após a tomada de decisão de

roteamento, quando os pacotes estão prestes a sair da máquina.

• INPUT quando o pacotes entra na máquina

• FORWARD quando pacote é enviado a outra máquina.

• OUTPUT quando o pacote está saindo da máquina.

• POSTROUTING chain consultada após a tomada de decisão de roteamento, quando os pacotes estão prestes a sair da máquina.

• A filtragem de pacotes é feita em basicamente 3 lugares: – chains INPUT e OUTPUT para pacotes com origem e destino na máquina

local– chain FORWARD para pacotes que atravessam o roteador.

Page 49: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 49

IPTables (Chains)Quando um pacote "entra" numa chain, cada regra é

avaliada, de maneira seqüencial, até que o pacote case

com uma regra, ou o pacote atinja o final da chain.

Quando um pacote atinge o final de uma chain sem que

tenha casado com alguma regra, é aplicada então a

política padrão da chain. Por padrão a política padrão da

chain é "ACCEPT“, mas isso pode ser alterado.

Page 50: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 50

IPTablesCriando e Removendo Regras• A sintaxe geral para se criar ou remover uma regra é a seguinte:

# iptables -[AID] CHAIN [N] [-t TABLE] MATCH -j TARGET

• -A é usada para se fazer o "append" de uma regra à uma chain

• -I é usada para se inserir uma regra

• -D é usada para se deletar uma regra.

Page 51: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 51

IPTablesExemplos I:

• Dropa tudo que chegue ao roteador com destino ao host 192.168.0.3:

# iptables -A FORWARD -d 192.168.0.3/32 -j DROP

• Bloqueia o acesso a porta 23 da máquina local de acessos vindos pela interface eth0:

# iptables -A INPUT -i eth0 -p tcp --dport 23 -j REJECT

Page 52: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 52

IPTablesExmplos II:

• Faz NAT para a rede interna:# iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth1 -j SNAT --to-

source 200.X.X.36

• Utilizando proxy “transparente”# iptables -A PREROUTING -p tcp --dport 80 -s 192.168.0.0/24 -j REDIRECT

--to-ports 3128

• Utilizando dois servidores em uma Intranet e queremos balancear as conexões:

# iptables -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to-source 192.168.1.5,192.168.1.6

Page 53: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 53

IPTables

• # iptables –L Lista as regras

• # iptables –X remove regras de usuário

• #iptables - F chain -t table remove todas as regras de uma chain

Page 54: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 54

IPTablesMascaramento• O tráfico destinado de sua rede privada para a Internet deve ser

manipulado para obter respostas da máquina que fez o pedido, como em uma rota invertida.

• Para fazer isto, o kernel do Linux deve modificar o endereço IP da fonte de cada pacote e retornar respostas a ele, antes que o endereço privado IP faço o pedido de resposta, que é impossível através da Internet. O Linux usa Connection Tracking (conntrack) para acompanhar que conexões pertence a que máquinas e desviar cada pacote de retorno correspondente.

• O tráfico originado em sua rede privada é assim "mascarado" como tendo originado de seu gateway.

Isto Chama-se compartilhamento de conexão.

Page 55: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 55

Ativa gerencia do módulo iptable nat no kernel do Linux

IPTables

Compartilhamento com IPTables

modprobe iptable_nat

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

Habilita o iptable a realizar o roteamento NATHabilita o roteamento a realizar pelo Kernel do Linux

Page 56: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 56

IPTables Compartilhamentoiptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Na tabela NAT (-t nat) adicionar a regra (-A) após o roteamento (POSTROUTING) para todos os pacotes saindo por ppp0 (-o ppp0), mascarar a conexão.

Page 57: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 57

Proxy (squid) x IPTables

Aplicação

Transporte

Inter-Rede

Interface de Rede

Intra-Rede

TCP/IP

IPTables

Squid

Page 58: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 58

Proxy

• Servidor Proxy é intermediário entre a rede interna e a rede externa

• Utilizado para realizar armazenamento de dados de certos tipos de serviços.

• Um servidor proxy pode realizar vários serviços, entre ele NAT, Caching e compartilhamento de conexão.

Page 59: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 59

Proxy

Page 60: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 60

Proxy

• Um proxy é um aplicativo trabalhando na camada de Aplicação.

• Trabalha com protocolos TCP/IP

• No proxy são definidas regras de encaminhamento de pacotes.

• Armazena página Web e arquivos FTP temporariamente

• Quanto maior a cahce maior o desempenho

Page 61: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 61

Proxy

Client Server

Internet

1º) Client pede acesso a uma Home Page

2º) Server verifica se tem a Home Page na sua Cache

3º) Se tem envia ao cliente, senão, faz NAT para Internet o pedido do Client

4º) Recebe a resposta e repassa ao Client

Page 62: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 62

Proxy

Para garantir que as páginas Web não estejam

desatualizadas, os dados do cache expiram após

um determinado tempo. No squid, esta

configuração é chamada de tempo de

renovação de objeto.

Page 63: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 63

ProxyUm dos benefícios dos servidores proxy é que o administrador do proxy pode acrescentar regras para filtrar conteúdo.

Page 64: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 64

Proxy

Vantagens

1. Custo reduzido com largura de banda

2. Melhor desempenho da rede

3. Melhor desempenho de rede nos picos

4. Equilíbrio de carga

5. Armazenamento de pedidos abortados

6. Funciona quando a conexão com a Internet cai

Page 65: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 65

ProxyTradução de endereços de rede (NAT)

NAT permite que o endereço interno de uma empresa seja ocultado da Internet.

Page 66: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 66

Squid• Proxy-cache de alta performance para clientes web.

• Mantém meta dados e especialmente objetos armazenados na RAM, cacheia buscas de DNS.

• Suporta SSL, listas de acesso complexas e logging completo.

• Squid consiste em um programa principal - squid -, um sistema de busca e resolução de nomes - dnsserver - e alguns programas adicionais para reescrever, fazer autenticação e gerenciar ferramentas de clientes.

• Podemos executar o Squid nas principais plataformas do mercado, como Linux, Unix e Windows.

Page 67: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 67

SquidInstalação

• Red Hat# rpm -ivh squid.x.y.z.rpm

• Debian# apt-get install squid

• Free BSD# cd /usr/ports/www/squid25/ # make # make all install

Page 68: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 68

Squid

Localização do squid.conf

O arquivo de configuração do squid é o squid.conf,

normalmente ele se encontra em /etc/squid.conf ou em

/usr/local/squid/etc/squid.conf.

Page 69: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 69

Squid

tag http_port

• Configura a porta HTTP onde o Squid ouve os clientes proxy.

• Porta padrão 3128 ou 8080

http_port 3128 8080

Page 70: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 70

Squid

tag cache_dir

Define onde os dados do cache serão aramazenados.

Padrão:

Cache_dir ufs /var/spool/squid 100 16 256

Page 71: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 71

Squid

Cache_dir ufs /var/spool/squid 100 16 256

• Ufs Sistema de arquivos UNIX para armazenamento

• 100 Tamanho da cache. (em MB)

• 16 Número de subdiretórios criados

• 256 Número de subdiretório secundários.

Page 72: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 72

Squid

tag acl

• Define a lista de controle de acesso que pode conter:– Endereço IP– Endereço URL– Endereço de rede

Page 73: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 73

Squid

tag http_access

• Permite ou nega o acesso ao squid.http_access allow manager

http_access deny manager

http_access deny palavra

http_access deny block_site

http_access allow unblock_site

http_access allow mynetwork

http_access allow localhost

Page 74: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 74

Squid – Editar squid.conf

• cache_mem bytes quanto de memória

• cache_swap_low % utilização de cache

• cache_swap_high % utilização da cache

• maximum_object_size 16384 KB maior tamanho do objeto em

cache

• maximum_object_size_in_memory 20 KB maior tamanho de

objeto em memória

Page 75: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 75

Squid – Editar squid.conf

• cache_mem bytes quanto de memória

• cache_swap_low % utilização de cache

• cache_swap_high % utilização da cache

• maximum_object_size 16384 KB maior tamanho do objeto em

cache

• maximum_object_size_in_memory 20 KB maior tamanho de

objeto em memória

Page 76: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 76

Squid – Editar squid.conf• acl SSL_ports port 443 563 • acl Safe_ports port 80 # http • acl Safe_ports port 21 # ftp • acl Safe_ports port 443 563 # https, snews • acl Safe_ports port 70 # gopher • acl Safe_ports port 210 # whois • acl Safe_ports port 1025-65535 # unregistered ports • acl Safe_ports port 280 # http-mgmt • acl Safe_ports port 488 # gss-http • acl Safe_ports port 591 # filemaker • acl Safe_ports port 777 # multiling http • acl Safe_ports port 4662 #emule a• cl Safe_ports port 4672 #emule • acl Safe_ports port 4242 #emule

Page 77: Serviços de Redes

CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006

20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 77