endereçamento privado proxy e nat

25
ENDEREÇAMENTO PRIVADO PROXY E NAT

Upload: iria

Post on 24-Feb-2016

155 views

Category:

Documents


0 download

DESCRIPTION

Endereçamento Privado Proxy e NAT. Motivação para o Endereçamento IP Privado. Crescimento do IPv4 07/2007490 milhões de hosts 01/2008542 milhões de hosts IPv4 permite endereçar 4 bilhões de hosts. PREVISÃO INICIAL = 1994. Autoridades de Registro de Endereço. IANA. ARIN. RIPE NCC. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Endereçamento  Privado Proxy e NAT

ENDEREÇAMENTO PRIVADOPROXY E NAT

Page 2: Endereçamento  Privado Proxy e NAT

MOTIVAÇÃO PARA O ENDEREÇAMENTO IP PRIVADO Crescimento do IPv4

07/2007 490 milhões de hosts 01/2008 542 milhões de hosts IPv4 permite endereçar 4 bilhões de hosts.

PREVISÃO INICIAL= 1994

Page 3: Endereçamento  Privado Proxy e NAT

AUTORIDADES DE REGISTRO DE ENDEREÇO

IANA

ARIN RIPE NCC AfriNIC LACNIC APNIC

América do Norte

Europa, Oriente e

Asia Central

Africa América Latina e Caribe

Ásia e Pacífico

Page 4: Endereçamento  Privado Proxy e NAT

ENDEREÇOS PRIVADOS: RFC 1918

Prefixo Faixa de Endereços Descrição

10.0.0.0/8 10.0.0.0 a 10.255.255.255

Uma rede de endereços classe A.

172.16.0.0/12 172.16.0.0 a 172.31.255.255

16 redes contíguas de endereços classe B.

192.168.0.0/16 192.168.0.0 a 192.168.255.255

256 redes contíguas de endereços classe C.

Page 5: Endereçamento  Privado Proxy e NAT

TIPOS DE HOSTS (RFC 1918)

categoria I categoria III

categoria II

NAT

tradutor de IP

IPv4

IPv4

Page 6: Endereçamento  Privado Proxy e NAT

ROTEADOR INTERNO E GATEWAY DEFAULT

1

2

ip publico ip publico

ip privado ip privado

ippublico

gateway default

(não roteia IP privado)

(roteador interno)roteia IP privado

ippublico

ipprivado

IPv4

Page 7: Endereçamento  Privado Proxy e NAT

ENDEREÇOS E ROTEAMENTO

1

2

200.0.0.2 200.0.0.3

192.168.0.2 192.168.0.3

200.0.0.4

192.168.0.0/24 via direta200.0.0.0/24 via direta

200.0.0.1

192.168.0.1

0.0.0.0/0 via provedor200.0.0.0/24 via direta

IPv4

Page 8: Endereçamento  Privado Proxy e NAT

HOSTS CATEGORIA 2

1

2

200.0.0.2 200.0.0.3

192.168.0.2 192.168.0.3

200.0.0.4

192.168.0.0/24 via direta200.0.0.0/24 via direta

200.0.0.1

192.168.0.1

0.0.0.0/0 via provedor

200.0.0.0/24 via direta

roteador com NATse ip_origem = 192.168.0.0/24 traduzir para

200.1.0.1

200.1.0.1

IPv4

Page 9: Endereçamento  Privado Proxy e NAT

NAT E NAPT

IPprivado1

IPprivado2

IPprivado3

IPpúblico2

IPpúblico1

IPpúblico3

IPprivado1

IPprivado2

IPprivado3

NAT

NAPT IPpúblico1:Porta1

IPpúblico1:Porta2

IPpúblico1:Porta3

Page 10: Endereçamento  Privado Proxy e NAT

SNAT E DNAT

Pré-Roteamento[DNAT]

Pós-Roteamento[SNAT]

roteamento

Interface de Entrada Interface de Saída

decisão sobre o encaminhamento do

pacote

Page 11: Endereçamento  Privado Proxy e NAT

SNAT: NETWORK ADDRESS TRANSLATION

IPv4 Privado

192.168.0.2

210.0.0.1 to 210.0.0.10

192.168.0.2 60.1.2.3 checksum1

IPv4 Network

60.1.2.3192.168.0.2 = 210.0.0.1192.168.0.3 = 210.0.0.2

1 210.0.0.1 60.1.2.3 checksum22

60.1.2.3 210.0.0.1 checksum3360.1.2.3 192.168.0.2 checksum44

192.168.0.3

tabela de mapeamento

192.168.0.1

Page 12: Endereçamento  Privado Proxy e NAT

SNAT NO LINUX

Altera qualquer endereço de origem para 210.0.0.1 iptables -t nat -A POSTROUTING -o eth0 -j SNAT --

to 210.0.0.1

Altera o endereço de origem usando IPs do range 210.0.0.1 até 210.0.0.10 iptables -t nat -A POSTROUTING -o eth0 -j SNAT --

to 210.0.0.1 até 210.0.0.10

Aplica a ação de MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j

MASQUERADE

Page 13: Endereçamento  Privado Proxy e NAT

SNAPT (NETWORK ADDRESS AND PORT TRANSLATION)

Endereço IP Público210.0.0.1

clientes

servidor

192.168.0.2

IP Privado:Porta Origem

192.168.0.2 :1024192.168.0.2 :1026192.168.0.3 :1024192.168.0.4 :1025

192.168.0.3

192.168.0.4

request reply

1025

1026

1027

IP Público:Porta Origem

210.0.0.1 :1024210.0.0.1 :1026210.0.0.1 :1025210.0.0.1 :1027

1024

1024

1025

IPv4

1026

1024

Page 14: Endereçamento  Privado Proxy e NAT

SNAPT NO LINUX

O Linux implementa SNAPT sempre que necessário de forma automática, mas mantém a troca das portas no interior de classes: Portas abaixo de 512 Portas entre 512 and 1023 Portas acima de 1024

Altera o endereço de origem para 210.0.0.1, usando as portas 1024-65535

iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1024-65535

Page 15: Endereçamento  Privado Proxy e NAT

MAPEAMENTOS REVERSOS: DNAT

Endereço IP Público210.0.0.1

espec.ppgia.pucpr.br

servidores

cliente

192.168.0.2

IP Privado:Porta Destino

192.168.0.2 :80192.168.0.2 :25192.168.0.3 :80192.168.0.4 :22

192.168.0.3

192.168.0.4

reply request

80

25

8080

IP Público:Porta Destino

210.0.0.1 :80210.0.0.1 :25210.0.0.1 :8080210.0.0.1 :8081

80

80

22

IPv4

25

8081

192.168.0.1

Page 16: Endereçamento  Privado Proxy e NAT

DNAT NO LINUX

Redireciona pacotes recebidos na porta 8080 para o IP 192.168.0.3 e porta 80. iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0 -j

DNAT --to 192.168.0.2:80 

Envia pacotes web (port-80) para a porta do squid (proxy transparente) iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j

REDIRECT --to-port 3128

Altera os endereços de destino para 192.168.0.2 até 192.168.0.5, através de um processo de balanceamento de carga. iptables -t nat -A PREROUTING -i eth0 -j DNAT --to

192.168.0.2-192.168.0.5

Page 17: Endereçamento  Privado Proxy e NAT

PROBLEMAS COM O NAT

IPv4 Privado

192.168.0.2

210.0.0.1

192.168.0.2 60.1.2.3PORT

192.168.0.2:1025

IPv4 Network

60.1.2.3192.168.0.2 = 210.0.0.1

1 210.0.0.1 60.1.2.3PORT

192.168.0.2:1025

2

60.1.2.3 192.168.0.2 payload3

tabela de mapeamento

192.168.0.1

Page 18: Endereçamento  Privado Proxy e NAT

SERVIDOR PROXY

IPv4 Privado

192.168.0.2

210.0.0.1

IPv4 Network

60.1.2.3

192.168.0.1

IPv4 Privado

192.168.0.2

210.0.0.1

IPv4 Network

60.1.2.3

192.168.0.1

NAT

Proxy

1024 80

31281024 1025 80

Page 19: Endereçamento  Privado Proxy e NAT

FUNCIONAMENTO DO PROXY

IPv4 Privado

192.168.0.2

210.0.0.1

IPv4 Network

60.1.2.3

192.168.0.1

Proxy

31281024 1025 80

GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\nHost: espec.ppgia.pucpr.br\r\n

192.168.0.2 192.168.0.1 1024 3128

GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\nHost: espec.ppgia.pucpr.br\r\n

210.0.0.1 60.1.2.3 1025 80

Page 20: Endereçamento  Privado Proxy e NAT

PROXY DEPENDE DA APLICAÇÃO

Protocolo de AplicaçãoHTTP, FTP, SMTP, etc

TCP, UDP

Ethernet

IP

aplicação

segmento TCPdatagrama UDP

pacote

Seqüência de empacotamento

quadro

http

ftp

ssl

O proxy de aplicação precisa interpretar as informações do protocolo de aplicação

(dispositivo de camada 7)

Page 21: Endereçamento  Privado Proxy e NAT

MAPEAMENTO DE CONEXÕES PELO PROXY

192.168.0.1210.0.0.3

clientes

servidor

192.168.0.2

IP Privado:Porta Origem

192.168.0.2 :1024192.168.0.2 :1026192.168.0.3 :1024192.168.0.4 :1025

192.168.0.3

192.168.0.4

request replyIP Público:Porta

Origem

210.0.0.3 :1024210.0.0.3 :1026210.0.0.3 :1025210.0.0.3 :1027

1024

1024

1025

IPv4

1026

210.0.0.1

3128

1024

1026

1025

1027

Page 22: Endereçamento  Privado Proxy e NAT

OUTRAS FUNÇÕES DO PROXY DE APLICAÇÃO

Proxy de Aplicação

Cache

Controle de acesso por loginFiltragem de endereços e conteúdo.Cache de objetos WebFiltragem de Virus e Malware

GET

HTTP/1.1 200 OK\r\n

GET

HTTP/1.1 304 Not Modified\r\n

GET

HTTP/1.1 200 OK\r\n

Page 23: Endereçamento  Privado Proxy e NAT

PROXY SOCKS

192.168.0.1210.0.0.3

clienteservidor

192.168.0.3

1024IPv4

1080

Proxy Socks

user jamhour want connect to 60.1.2.3:80

60.1.2.3

request granted

user jamhour want bind to 60.1.2.3:80

bind on 210.0.0.3:4000

4000

Page 24: Endereçamento  Privado Proxy e NAT

PROXY SOCKS

cliente

servidor

IPv4

protocolo SOCKS

biblioteca socketsmodificada

aplicação

TCP UDP

IP

configuração global para todos os aplicativos

TCP ou UDP não modificado

S.O.proxy

SOCKS

Page 25: Endereçamento  Privado Proxy e NAT

CONCLUSÃO