Upload
shamara-amena
View
17
Download
4
Embed Size (px)
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
Citation preview
Serviços de Redes
Roteamento (IPTABLE) e Proxy (Squid)
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, . .
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
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
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
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
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
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
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
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.
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
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
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
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)
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-“.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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
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
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
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
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
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
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.
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.
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.
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
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
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.
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.
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)
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.
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.
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.
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.
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
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
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
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.
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
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.
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
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.
CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006
20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 59
Proxy
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
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
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.
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.
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
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.
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.
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
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.
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
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
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.
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
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
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
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
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
CIÊNCIA DA COMPUTAÇÃO – REDES DE COMPUTADORES – UTP – 2006
20/04/23 01:25 Professor Roberto Amaral – Serviços de Redes 77