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
AUTORIDADES DE REGISTRO DE
ENDEREÇO
IANA
ARIN
América
do Norte
RIPE
NCC
Europa,
Oriente e
Asia
Central
AfriNIC
LACNIC
APNIC
Africa
América
Latina e
Caribe
Ásia e
Pacífico
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.
TIPOS DE HOSTS (RFC 1918)
categoria III
categoria I
IPv4
categoria II
tradutor de IP
NAT
IPv4
ROTEADOR INTERNO E GATEWAY
DEFAULT
ip publico
ip publico
ip
publico
2
ip
publico
ip privado
ip privado
1
ip
privado
(roteador interno)
roteia IP privado
gateway
default
(não roteia
IP
privado)
IPv4
ENDEREÇOS E ROTEAMENTO
200.0.0.2
200.0.0.3
200.0.0.4
2
IPv4
200.0.0.1
192.168.0.2
192.168.0.3
1
192.168.0.1
192.168.0.0/24 via direta
200.0.0.0/24 via direta
0.0.0.0/0 via provedor
200.0.0.0/24 via direta
HOSTS CATEGORIA 2
200.0.0.2
200.0.0.3
200.0.0.4
200.0.0.1
192.168.0.2
roteador com NAT
se ip_origem =
192.168.0.0/24
traduzir para
200.1.0.1
192.168.0.3
2
IPv4
200.1.0.1
1
192.168.0.1
192.168.0.0/24 via direta
200.0.0.0/24 via direta
0.0.0.0/0 via provedor
200.0.0.0/24 via
direta
NAT E NAPT
IPprivado1
NAT
IPpúblico
1
IPprivado2
IPpúblico2
IPprivado3
IPpúblico3
IPprivado1
NAPT
IPpúblico1:Porta1
IPprivado2
IPpúblico1:Porta2
IPprivado3
IPpúblico1:Porta3
SNAT E DNAT
Interface de Entrada
Pré-Roteamento
[DNAT]
Interface de Saída
roteamento
decisão sobre o
encaminhamento do pacote
Pós-Roteamento
[SNAT]
SNAT: NETWORK ADDRESS TRANSLATION
1
192.168.0.2
4
60.1.2.3
60.1.2.3
192.168.0.2
checksum1
checksum4
2
210.0.0.1
3
60.1.2.3
60.1.2.3
checksum2
210.0.0.1 checksum3
tabela de mapeamento
192.168.0.2
192.168.0.2 = 210.0.0.1
192.168.0.3 = 210.0.0.2
60.1.2.3
192.168.0.1
IPv4 Privado
IPv4 Network
210.0.0.1 to 210.0.0.10
192.168.0.3
SNAT NO LINUX

Altera qualquer endereço de origem para
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
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
SNAPT (NETWORK ADDRESS AND PORT
TRANSLATION)
request
clientes
1024
1026
192.168.0.2
IP Privado:Porta
Origem
IP Público:Porta
Origem
192.168.0.2 :1024
192.168.0.2 :1026
192.168.0.3 :1024
192.168.0.4 :1025
210.0.0.1 :1024
210.0.0.1 :1026
210.0.0.1 :1025
210.0.0.1 :1027
reply
1024
1025
1024
1026
IPv4
192.168.0.3
1025
192.168.0.4
1027
Endereço IP Público
210.0.0.1
servidor
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
MAPEAMENTOS REVERSOS: DNAT
servidores
reply
IP Privado:Porta
Destino
192.168.0.2 :80
192.168.0.2 :25
192.168.0.3 :80
192.168.0.4 :22
80
25
IP Público:Porta
Destino
request
210.0.0.1 :80
210.0.0.1 :25
210.0.0.1 :8080
210.0.0.1 :8081
192.168.0.2
80
25
80
192.168.0.1
8080
IPv4
192.168.0.3
22
192.168.0.4
8081
Endereço IP Público
210.0.0.1
espec.ppgia.pucpr.br
cliente
DNAT NO LINUX

Redireciona pacotes recebidos na porta 8080 para o IP
192.168.0.3 e porta 80.


Envia pacotes web (port-80) para a porta do squid
(proxy transparente)


iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0
-j DNAT --to 192.168.0.2:80
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
PROBLEMAS COM O NAT
1
192.168.0.2
60.1.2.3
PORT
192.168.0.2:
1025
2
210.0.0.1
3
60.1.2.3
PORT
192.168.0.2:
1025
60.1.2.3
192.168.0.2
payload
tabela de mapeamento
192.168.0.2
192.168.0.2 = 210.0.0.1
60.1.2.3
192.168.0.1
IPv4 Privado
IPv4 Network
210.0.0.1
SERVIDOR PROXY
192.168.0.2
60.1.2.3
1024
80
192.168.0.1
210.0.0.1
IPv4 Privado
IPv4 Network
NAT
192.168.0.2
1024
60.1.2.3
3128
1025
192.168.0.1
IPv4 Privado
80
210.0.0.1
Proxy
IPv4 Network
FUNCIONAMENTO DO PROXY
192.168.0.2 192.168.0.1 1024 3128 GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\n
Host: espec.ppgia.pucpr.br\r\n
192.168.0.2
1024
3128
1025
192.168.0.1
IPv4 Privado
210.0.0.1 60.1.2.3
210.0.0.1
Proxy
1025
60.1.2.3
80
IPv4 Network
80 GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\n
Host: espec.ppgia.pucpr.br\r\n
PROXY DEPENDE DA APLICAÇÃO
Seqüência de
empacotamento
aplicação
Protocolo de Aplicação
HTTP, FTP, SMTP, etc
TCP, UDP
segmento TCP
datagrama UDP
pacote
IP
Ethernet
quadro
http
ftp
ssl
O proxy de aplicação precisa interpretar
as informações do protocolo de aplicação
(dispositivo de camada 7)
MAPEAMENTO DE CONEXÕES PELO PROXY
request
clientes
1024
1026
192.168.0.2
192.168.0.3
IP Público:Porta
Origem
192.168.0.2 :1024
192.168.0.2 :1026
192.168.0.3 :1024
192.168.0.4 :1025
210.0.0.3 :1024
210.0.0.3 :1026
210.0.0.3 :1025
210.0.0.3 :1027
1026
1025
192.168.0.4
IPv4
1027
192.168.0.1
210.0.0.3
1025
reply
1024
3128
1024
IP Privado:Porta
Origem
210.0.0.1
servidor
OUTRAS FUNÇÕES DO PROXY DE
APLICAÇÃO
Controle
de acesso por login
Filtragem de endereços e conteúdo.
Cache de objetos Web
Filtragem de Virus e Malware
Proxy de Aplicação
Cache
GET
HTTP/1.1 200 OK\r\n
GET
GET
HTTP/1.1 200 OK\r\n
HTTP/1.1 304 Not Modified\r\n
PROXY SOCKS
user jamhour want connect to 60.1.2.3:80
request granted
user jamhour want bind to 60.1.2.3:80
bind on 210.0.0.3:4000
Proxy Socks
1024
4000
IPv4
1080
cliente
192.168.0.3
servidor
192.168.0.1
210.0.0.3
60.1.2.3
PROXY SOCKS
configuração global
para todos os
aplicativos
aplicação
biblioteca sockets
modificada
S.O.
proxy
SOCKS
TCP
UDP
servidor
IP
IPv4
cliente
protocolo
SOCKS
TCP ou UDP não
modificado
CONCLUSÃO
Download

192.168.0.2