Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición •...

91
Taller de Jool Mérida, MX Abril 2019

Transcript of Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición •...

Page 1: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Taller de Jool Mérida, MX Abril 2019

Page 2: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Agenda

•  ¿Cuáleselproblema?•  Mecanismosdetransición

•  SIITTradicional•  SIIT-EAM•  NAT64•  DNS64•  464XLAT•  SIIT-DC

•  Jool•  Instalación•  Configuración

Page 3: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

¿Cuál es el problema?

IPv4eIPv6sonincompatibles

¡Hola! こんにちは

IPv4 AgotamientodeIPv4

Page 4: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

IPv4 vs. IPv6

IPv4 IPv6

32-bit Tamaño 128-bit

Decimal192.0.2.76

Formato Hexadecimal2001:0db8:0234:ab00:0123:4567:8901:abcd

192.0.2.0/24 Prefijo 2001:db8:234::/48

232~4,294,967,296

Cantidad 2128~340,282,366,920,938,463,374,607,431,768,211,456

ThenumberofpossibleIPv6addresses:340undecillion,282decillion,366nonillion,920octillion,938septillion,463sextillion,463quintillion,374quadrillion,607trillion,431billion,768million,211thousandand456.

Page 5: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Mecanismos de Transición

Operandoambasversiones•  DualStackTraducción•  SIIT•  NAT64•  464XLAT•  SIIT-DC

Page 6: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Dual Stack

Ventajas•  SoporteparaaplicacionesyservicioslegadosquesolosoportanIPv4Desventajas•  AgotamientodedireccionesIPv4•  Carrier-gradeNAT(NAT444)escostoso•  Doblemantenimiento

Page 7: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Traducción de direcciones IP

IPv4 IPv6

Page 8: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Traducción de direcciones IP

192.0.2.1 2001:db8:ffff::1

01:01:01:01:01:0102:02:02:02:02:02

192.0.2.110.0.0.4612380

Hola

03:03:03:03:03:0304:04:04:04:04:042001:db8:aaaa::12001:db8:ffff::1

612380

Hola

MAC

IP

PORT

DATA

Page 9: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Traducción de direcciones IP

Page 10: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Traducción de direcciones IP

Page 11: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Traducción IP/ICMP

Traduccióndeheaders:• RFC7915

Traduccióndedirecciones:• RFC6052(Prefijosimple–tradicional)• RFC6146(StatefulNAT64)• RFC6791(ICMPerrors)• RFC7757(ExplicitAddressMappings)

Page 12: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-EAM

A

B

C

2001:db8:6::/96

:8

:9

:a

:1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

T

Page 13: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-EAM

T

VoyaengañaralosnodosIPv4.Ellosvanacreerquelosnodos

2001:db8:6::/120sellaman10.0.0.0/24.

TambiénvoyaengañaralosnodosdeIPv6.Ellosvanacreerquelosnodos192.0.2.0/24

sellaman2001:db8:4::/120.

Page 14: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

2001:db8:6::/120 10.0.0.0/24

•  /120y/24indicanprefijo.•  10.0.0.0/2410.0.0.0•  2001:db8:6::/1202001:0db8:0006:0000:0000:0000:0000:0000

•  LaideadeEAMesreemplazarprefijos.• Porejemplo,ladirección10.0.0.5:

•  QuitamoselprefijodeIPv4:.5•  AgregamoselprefijodeIPv6:2001:db8:6::5•  Done

Page 15: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

2001:db8:6::/120 10.0.0.0/24

2001:db8:6::1 10.0.0.12001:db8:6::2 10.0.0.22001:db8:6::3 10.0.0.3

…2001:db8:6::9 10.0.0.92001:db8:6::a 10.0.0.102001:db8:6::b 10.0.0.11

…2001:db8:6::ef 10.0.0.2542001:db8:6::ff 10.0.0.255

Page 16: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Tabla EAM

IPv6 IPv4

2001:db8:6::/120 10.0.0.0/24

2001:db8:4::/120 192.0.2.0/24

Page 17: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-EAM

A

B

C

2001:db8:6::/96

:8

:9

:a

:1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

T

IPv6 IPv4

2001:db8:6::/120 10.0.0.0/24

2001:db8:4::/120 192.0.2.0/24

2001:db8:6::82001:db8:4::11

10.0.0.8192.0.2.17

Page 18: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-EAM

A

B

C

2001:db8:6::/96:8

:9

:a

:1

V

W

X

:10

:11

:12

2001:db8:4::/120

:1

IPv6 IPv4

2001:db8:6::/120 10.0.0.0/24

2001:db8:4::/120 192.0.2.0/24

A

B

C

10.0.0.0/24.8

.9

.10

.1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

Page 19: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Tabla EAM (simplificada)

IPv6 IPv4

2001:db8:6::1/128 10.0.0.6/32

2001:db8:4::d5/128 192.0.2.10/32

2001:db8:aaaa:bbbb::cccc/128 198.51.100.55/32

2001:db8:1234:5678::ef/128 10.0.0.5/32

Page 20: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-tradicional

•  SIIT-EAMreemplazaprefijosdeambosprotocolos(IPv6/4).•  Sebasaenunatabla,porloquepodemostenercualquiernúmerodeprefijos.

•  Encontraste,SIIT-tradicionalsolamenteagregayquitaunprefijodeIPv6.

•  Esmásrestrictivo.

Page 21: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-tradicional

A

B

C

2001:db8:6::/96

:8

:9

:a

:1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

T

Page 22: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT

T

Cuandometoquetraducirunpaquetede4a6voyaagregarelprefijo2001:db8::/96.

Cuandometoquetraducirde6a4,voya

quitarelprefijo2001:db8::/96.

Page 23: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-tradicional

A

B

C

2001:db8::192.0.2.0/120

:8

:9

:a

:1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

T

2001:db8::192.0.2.82001:db8::10.0.0.17

192.0.2.810.0.0.17

•  TodaladirecciónIPv4sobrevive.•  TodoslosnodosdeIPv6quequieranhablarconIPv4necesitanelprefijoyunadirecciónIPv4válidadentro.

Page 24: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-tradicional

A

B

C

2001:db8::192.0.2.0/120:8

:9

:a

:1

V

W

X

:10

:11

:12

2001:db8::10.0.0.0/120

:1

A

B

C

192.0.2.0/24.8

.9

.10

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

Page 25: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Jool

•  SIITyNAT64•  Linux(kernels3.2enadelante)•  Libreusoydecódigoabierto• DesarrolladoenC

https://jool.mx

Page 26: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Instalar Jool

• MódulosdeKernel• Aplicacionesdeconfiguraciónycontrol

Page 27: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Instalar Jool

Ejemplo:InstalarJoolenDebian9

Documentacióncompletayejemploshttps://jool.mx

Page 28: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Instalar Jool

1.   Revisarversióndelkernel$ /bin/uname –r

4.9.0-8-amd64

2.   BuildEssentials# apt-get install build-essential pkg-config

3.   Kernelheaders# apt-get install linux-headers-$(uname –r)

4.   DevelopmentLibraryandHeadersparalibnl-genl-3# apt-get install libnl-genl-3-dev

Page 29: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Instalar Jool

5.   NetfilterxtablesLibrarydevelopment# apt-get install libxtables-dev

6.   DescargarJool$ wget https://github.com/NICMx/Jool/releases/download/v<version>/jool_<version>.tar.gz

$ tar –xzf jool_<version>.tar.gz

7.   DKMS/Kbuild# dkms install jool-<version> $ cd jool-<version>

$ cd jool-<version> $ ./configure

$ ./configure $ make

$ cd src/usr # make install

$ make

# make install

Page 30: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 31: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Taller Jool

VirtualBox1.  InstalarVirtualBox2.  Descargarlamáquinavirtualdeladirección

http://200.0.86.10/vm/taller_jool.v1.0.ova3.  Importarlamáquinavirtualdeltaller4.  EjecutarlamáquinavirtualenVirtualBox

Page 32: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 33: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 1: SIIT

A

B

X

Y

jool

2001:db8:6::8/64

2001:db8:6::9/64

2001:db8:6::1/64192.0.2.1/24

192.0.2.10/24

192.0.2.11/24

Page 34: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 1: SIIT

1.   NodoJool:user@jool:~# jool_siit instance add –-netfilter user@jool:~# jool_siit eamt add 2001:db8:6::/120 198.51.100.0/24 user@jool:~# jool_siit eamt add 2001:db8:4::/120 192.0.2.0/24 user@jool:~# jool_siit eamt display +------------------------------------------+-------------------+ | IPv6 Prefix | IPv4 Prefix | +------------------------------------------+-------------------+ | 2001:db8:4::/120 | 192.0.2.0/24 | | 2001:db8:6::/120 | 198.51.100.0/24 | +------------------------------------------+-------------------+

Page 35: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 1: SIIT

1.   NodoA:user@A:~# ping6 –c 4 2001:db8:6::9 user@A:~# ping6 –c 4 2001:db8:6::1 user@A:~# ping6 –c 4 2001:db8:4::A user@A:~# ping6 –c 4 2001:db8:4::B 2.   NodoX:user@X:~# ping –c 4 192.0.2.11 user@X:~# ping –c 4 192.0.2.1 user@X:~# ping –c 4 198.51.100.8 user@X:~# ping –c 4 198.51.100.9

Page 36: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 37: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT-tradicional y SIIT-EAM

1.   ¿Solucionaelproblemadecoexistencia?Sí,permitequedispositivosdeIPv4eIPv6puedancomunicarseentresí.

2.   ¿SolucionaelproblemadeagotamientodeIPv4?No,porquesenecesitaunadirecciónIPv4porcadaIPv6.

Page 38: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

NAT64combinaunSIITyunNATparalograrque“n”direccionesdeIPv6puedanmapearseaunascuantasdireccionesIPv4.

Page 39: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT

A

B

C

192.168.0.0/24

.8

.9

.10

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

T

Page 40: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT

T

Voyaenmascararalosnodosdelared192.168.0.0/24conmipropiadeIPv4.

Page 41: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT

A

B

C

192.168.0.0/24

.8

.9

.10

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

T

192.168.0.810.0.0.17

10.0.0.110.0.0.17

SolucionaelproblemadeagotamientodedireccionesporquehacequeA,B,CyTtenganlamismadirecciónalosojosdecualquierotrared.

Page 42: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT

A

B

C

192.168.0.0/24.8

.9

.10

.1

V

W

X

.10

.11

.12

10.0.0.0/24

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

Page 43: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Sockets

Socket Cliente Servidor

Dirección 192.0.2.45 10.0.0.6

Puerto 1234 80

192.0.2.45 10.0.0.6

192.0.2.45:123410.0.0.6:80

Page 44: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Sockets, NAT

Socket Cliente Servidor

Dirección 192.0.2.45 10.0.0.6

Puerto 1234 80

192.0.2.45 10.0.0.6

192.0.2.45:123410.0.0.6:80

198.51.100.1:567810.0.0.6:80

198.51.100.1

Socket Cliente Servidor

Dirección 198.51.100.1 10.0.0.6

Puerto 5678 80

Page 45: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

A

B

C

2001:db8::/64

::8

::9

::a

::1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

T

Page 46: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

T

VoyaenmascararalosnodosdeIPv6conmipropiadireccióndeIPv4.

Page 47: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

A

B

C

2001:db8::/64

:8

:9

:a

::1

V

W

X

.16

.17

.18

192.0.2.0/24

.1

T

2001:db8::864:ff9b::10.0.0.17

10.0.0.110.0.0.17

Page 48: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

A

B

C

2001:db8::/64:8

:9

:a

:1

V

W

X

:10

:11

:12

64:ff9b::/94

:1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

Page 49: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT vs NAT64

SIIT NAT64-Stateless -Stateful

T

T

T

T

Page 50: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT vs NAT64

SIIT NAT64-Transparente -Notransparente

V

W

X

.16

.17

.18

10.0.0.0/24

.1

A

B

C

192.0.2.0/24.8

.9

.10

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

Page 51: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT vs NAT64

SIIT NAT64-1a1 -1aN

V

W

X

.16

.17

.18

10.0.0.0/24

.1

A

B

C

192.0.2.0/24.8

.9

.10

.1

V

W

X

.16

.17

.18

10.0.0.0/24

.1

Page 52: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

SIIT vs NAT64

SIIT NAT64-  TCP,UDPyotros -TCPyUDP-  Capa3solamente -Capa3y4-  Lacomunicaciónpuede -LacomunicacióniniciaIniciardesdev4yv6 normalmentedesdev6

Page 53: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 2: NAT64

A

B

X

Y

jool

2001:db8::8/64

2001:db8::9/64

2001:db8::1/64192.0.2.1/24

192.0.2.10/24

192.0.2.11/24

Page 54: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 2: NAT64

1.   NodoJool:user@jool:~# jool instance add –-netfilter –-pool6 64:ff9b::/96

2.   NodoA:user@X:~# ping6 –c 4 2001:db8::9

user@X:~# ping6 –c 4 2001:db8::1

user@X:~# ping6 –c 4 64:ff9b::192.0.2.10

user@X:~# ping6 –c 4 64:ff9b::192.0.2.11

Page 55: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 56: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64

1.   ¿Solucionaelproblemadecoexistencia?Sí,permitequedispositivosdeIPv4eIPv6puedancomunicarseentresí.

2.   ¿SolucionaelproblemadeagotamientodeIPv4?Sí,porqueunaovariasdireccionesIPv4soncompartidaspormúltiplesdireccionesIPv6.3.¿EntoncesNAT64eslasoluciónoptima?No,porquenolepuedespediralosusuariosqueagreguenunprefijocadaquequieranteneraccesoaIPv4.

Page 57: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Nombres de Dominio

•  SonunidentificadorenInternet.•  Sonmásfácilesderecordar.•  Sonmásdescriptivosdelaempresaoservicioofrecido.•  Lasaplicacionesdesarrolladasconnombresdedominiosonindependientesalainfraestructura.

Page 58: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

DNS

DNS

¿CuálesladirecciónIPdelsitiojool.mx?

LadirecciónIPes10.0.2.8

Page 59: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

DNS64

A

B

C

2001:db8::/64

W

X.17

10.0.0.0/24

DNS64

NAT64

DNS

1.¿CuálesladirecciónIPdelsitiojool.mx?

2.¿CuálesladirecciónIPdelsitiojool.mx?

3.jool.mxes10.0.0.174.jool.mxes64:ff9b::10.0.0.17

Page 60: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

DNS64 (BIND)

options { (...)

# BIND no escucha en IPv6 por defecto. listen--on--v6 { any; };

# Aquí se le indica a BIND el prefijo que # el NAT64 está agregando y quitando. dns64 64:ff9b::/96 { # Opciones };

};

Page 61: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

ReddelISP

IPv6

NAT64 (vida real)

IPv6

IPv6

IPv6

InternetIPv6

InternetIPv4NAT64

2001:db8:1234::21

64:ff9b::10.0.0.17

Page 62: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 3: NAT64 y DNS64

A

dns64

X

dns

jool

2001:db8::8/64

2001:db8::10/64

2001:db8::1/64192.0.2.1/24

192.0.2.100/24

192.0.2.2/24

192.0.2.10/24

www.example.com

Page 63: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 3: NAT64 y DNS64

1.   Nododns64:Editar el arhivo /etc/bind/named.conf

options {

forwarders { 64:ff9b::192.0.2.2; };

listen-on-v6 { 2001:db8::10; };

dns64 64:ff9b::/96 {};

};

2.   Nodojool:user@jool:~# jool instance add –-netfilter –-pool6 64:ff9b::/96

Page 64: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 3: NAT64 y DNS64

1.   NodoX:user@X:~# ping –c 4 www.example.com

PING www.example.com (192.0.2.10) …

2.   NodoA:user@A:~# ping6 –c 4 www.example.com

PING www.example.com (64:ff9b::c000:20a) …

Page 65: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 66: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

NAT64 / DNS64

1.   ¿Solucionaelproblemadecoexistencia?Sí,permitequedispositivosdeIPv4eIPv6puedancomunicarseentresí.

2.   ¿SolucionaelproblemadeagotamientodeIPv4?Sí,porqueunaovariasdireccionesIPv4soncompartidaspormúltiplesdireccionesIPv6.3.¿EntoncesNAT64/DNS64eslasoluciónoptima?No,porquealgunasaplicacionesodispositivoslegadosnosoportanIPv6uoperaciónenIPv6-Only.

Page 67: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Desventajas de NAT64

1.  DispositivosantiguosqueNOsoportanIPv62.  AplicacioneslegadasqueNOsoportanIPv63.  Aplicacionesqueutilizanliterales

<ahref=“http://192.0.2.1/index.html”>

Page 68: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

ReddelISP

IPv6

464XLAT

IPv4IPv6

IPv4IPv6

IPv4IPv6

InternetIPv6

InternetIPv4PLAT

2001:db8:1234::21

64:ff9b::10.0.0.17

CLAT

CLAT

CLAT

JoolNAT64JoolSIIT

Page 69: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 4: 464XLAT

C64

C4

dns

CLAT

10.0.0.20/242001:db8:10:6::20/64

10.0.0.21/24

s6.example.com2001:db8:6::80

BR

s4.example.com192.0.2.80

BR

PLATISP

Page 70: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 4: 464XLAT

1.   NodoPLAT:# jool instance add --netfilter --pool6 64:ff9b::/96

2.NodoCLAT:# jool_siit instance add --netfilter --pool6 64:ff9b::/96

# jool_siit eamt add 2001:db8:10:4::/120 10.0.0.0/24

Page 71: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Práctica 4: 464XLAT

1.   NodoC64:user@C64:~# ping –c 4 s6.example.com

PING s6.example.com (2001:db8:6::80) …

user@C64:~# ping –c 4 s4.example.com

PING s4.example.com (64:ff9b::c000:250) …

2.   NodoC4:user@C4:~# ping –c 4 s4.example.com

PING s4.example.com (192.0.2.80) …

Page 72: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 73: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

464XLAT

1.   ¿Solucionaelproblemadecoexistencia?Sí,permitequedispositivosdeIPv4eIPv6puedancomunicarseentresí.

2.   ¿SolucionaelproblemadeagotamientodeIPv4?Sí,porqueunaovariasdireccionesIPv4soncompartidaspormúltiplesdireccionesIPv6.YenelcasodelasdirecciónIPv4enelhogar/oficinasonIPv4privadas.3.¿Entonces464XLATsolucionalasdesventajasdeNAT64?Sí,porquelosdispositivosyaplicacioneslegadasrecibenunaIPv4yelrestooperaenDualStackresolviendotambiénelproblemadelasliterales.

Page 74: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Ejemplo: 464XLAT (VirtualBox)

::8.8

InternetCliente

CLAT PLAT::1.1

2001:db8:1::/64192.168.0.0/24

::1 ::2

2001:db8:100::/64

Page 75: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Ejemplo: 464XLAT (VirtualBox)

1.   NodoPLAT:# jool instance add --netfilter --pool6 64:ff9b::/96

2.NodoCLAT:# jool_siit instance add --netfilter --pool6 64:ff9b::/96

# jool_siit eamt add 192.168.0.0/24 2001:db8:2::/120

Page 76: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT
Page 77: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

ReddelDC

IPv6

SIIT-DC

InternetIPv6

InternetIPv4 SIIT

Page 78: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Instancias

•  EsposibletenermásdeunainstanciadeJoolcorriendoalmismotiempo.Formato:$ jool instance add <etiqueta> … Ejemplos:$ jool instance add “ejemplo” … $ jool instance add “otra” … $ jool instance add …

•  Sinoseasignaunaetiquetaalainstancia,seasignaunallamada“default”.

Page 79: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Frameworks

Apartirdelaversión4.0deJool,setienedisponibledosframworksenlosqueJoolpuedeoperar:•  Netfilter

CorrespondealafuncionalidadtradicionalqueJooltienedesdelaversión3.X.•  Iptables

PermiteutilizarJoolcomounplug-inmásdeiptablesypoderdefinirreglasdetráfico.Cuidado:•  NetfilterJoolsiguelapolítica:“Sinolosétraducir,loregresoalkernelyéldecidiráquehacer”.•  IptablesJoolsiguelapolítica:“Todoloquehizomatchaunareglaesmíoysinolosétraducirlodescarto”.

Page 80: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Frameworks

EjemplodeJoolusandoiptables:$joolinstanceadd"example"--iptables--pool664:ff9b::/96

$ip6tables-tmangle-APREROUTING-d64:ff9b::/96-jJOOL--instance"example"

$iptables-tmangle-APREROUTING-d203.0.113.1-ptcp--dport61001:65535-jJOOL--instance"example"

$iptables-tmangle-APREROUTING-d203.0.113.1-pudp--dport61001:65535-jJOOL--instance"example"

$iptables-tmangle-APREROUTING-d203.0.113.1-picmp-jJOOL--instance"example"

Page 81: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Bitácora de traducción

Joolpuedeguardarenlabitácoratodaslastraduccionesquerealiza.$ jool global update loging-bib true

$ dmesg

[ 312.493235] alpha 2015/4/8 16:13:42 (GMT) – Mapped 2001:db8::5#19945 to 192.0.2.2#8208 (UDP)

[ 373.724229] alpha 2015/4/8 16:14:23 (GMT) – Mapped 2001:db8::5#46516 to 192.0.2.2#7369 (UDP)

[ 468.675528] alpha 2015/4/8 16:15:38 (GMT) – Forgot 2001:db8::5#19945 to 192.0.2.2#8208 (UDP)

Page 82: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Bitácora de sesiones

Jooltambiénpuedeguardarenlabitácoratodaslassesionesquesoncreadasydestruidas. <date / time> - <action> session <IPv6 node>|<IPv6 representation of IPv4 node>|<IPv4 representation of IPv6 node>|<IPv4 node>|<Protocol> $ jool global update loging-session true $ dmesg

[ 3238.087902] alpha 2015/4/8 17:1:47 (GMT) - Added session 1::5#47073|64:ff9b::c000:205#80|192.0.2.2#63527|192.0.2.5#80|TCP

[ 3238.099997] alpha 2015/4/8 17:1:47 (GMT) - Added session 1::5#47074|64:ff9b::c000:205#80|192.0.2.2#42527|192.0.2.5#80|TCP

[ 3478.498559] alpha 2015/4/8 17:5:48 (GMT) - Forgot session 1::5#47073|64:ff9b::c000:205#80|192.0.2.2#63527|192.0.2.5#80|TCP

[ 3478.499758] alpha 2015/4/8 17:5:48 (GMT) - Forgot session 1::5#47074|64:ff9b::c000:205#80|192.0.2.2#42527|192.0.2.5#80|TCP

Page 83: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Archivo de configuración

• ConfiguraciónpormediodeunarchivoenformatoJSON.•  Laaplicacióndelaconfiguraciónesdeformaatómica.

# jool_siit file handle <archivo de configuración>

# jool file handle <archivo de configuración>

Page 84: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Archivo de configuración

{“comment”:“ConfiguraciónSIITdeejemplo”,

“instance”:“ejemplo”,

“framwork”:“netfilter”,

“global”:{

“pool6”:“64:ff9b::/96”,

},

“eamt”:[

{“ipv6prefix”:“2001:db8:1::/128”,“ipv4prefix”:“192.0.2.0”},

{“ipv6prefix”:“2001:db8:2::/120”,“ipv4prefix”:“198.51.100.0/24”}

]

}

Page 85: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Desempeño

• MedireldesempeñodeJooltodavíaesun“TrabajoenProgreso”• Perotenemosalgunospuntosdereferenciaquepodemosreportar:

•  Respuestadelacomunidad•  PruebadeT-Rex

Page 86: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Respuesta de la comunidad

•  EngeneralhemosrecibidobuenoscomentariosdelacomunidadsobreeldesempeñodeJool.

•  Sehanabiertoalgunosbugssobreeldesempeño,perolasoluciónsiempreharesultadoserunajusteajenoaJool.

Page 87: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Respuesta de la comunidad

[NuestrosSIIT-BRs]estánprácticamenteociosos.Estántraduciendoaproximadamente100Mb/sdecasiexclusivamentetráficoweb.Dehecho,elhardwareesbastanteviejo;SunX4170scon2xquad-coreIntelL5520CPUs.MenosdelacuartapartedeunsoloCPUseusaparatodoelsistema(asíquenosolamenteJool),los7.75restantesestánlibres.OtracosaquevalelapenamencionaresquedadoqueSIITesstateless,puedesescalarhorizontalmentefácilmente.Soloagregamásmáquinastraductorasconconfiguraciónidéntica,ycorrebalanceodecargaentreellas.EngeneralalcanzasloslímitesdememoriadebusantesquelosdelCPU.

https://mail-lists.nic.mx/pipermail/jool-list/

Page 88: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Prueba de T-Rex

PruebadecarganaturalimplementadaporCisco.Lavariante“AdvanceStatefulSupport”soportaNAT64.https://trex-tgn.cisco.comCentOS7DellR630condualXeonE5-2680v4(28coresentotal),64GBdeRAMyNICIntelX710.

Page 89: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Prueba de T-Rex -Per port stats table ports | 0 | 1 -----------------------------------------------------------------------------------------

opackets | 14987324 | 41611624 obytes | 1776772320 | 56340402998

ipackets | 41610306 | 14987530 ibytes | 57170300382 | 1477031674 ierrors | 0 | 0

oerrors | 0 | 0 Tx Bw | 23.74 Mbps | 752.99 Mbps

-Global stats enabled Cpu Utilization : 4.4 % 35.0 Gb/core

Platform_factor : 1.0 Total-Tx : 776.73 Mbps Total-Rx : 783.78 Mbps

Total-PPS : 94.55 Kpps Total-CPS : 2.78 Kcps

Expected-PPS : 0.00 pps Expected-CPS : 0.00 cps

Expected-BPS : 0.00 bps

Active-flows : 6665 Clients : 256 Socket-util : 0.0413 % Open-flows : 1665014 Servers : 65536 Socket : 6665 Socket/Clients : 26.0 drop-rate : 0.00 bps

current time : 603.5 sec test duration : 0.0 sec

•  ~780Mbps•  0droprate•  ~1%utilizacióndeCPU(el4.4%

delaizquierdaserefierealcliente,noaltraductor).

•  Jooles100%CPU,demodoquenopareceestarimponiendounsignificativooverhead

Page 90: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

Jool en el mundo

EntregadeIPv6-onlyalusuariofinalutilizandoNAT64HenriAlvesGodoy

https://youtu.be/-dZP_mUVe-Y

Page 91: Taller de Jool - LACNIC · Agenda • ¿Cuál es el problema? • Mecanismos de transición • SIIT Tradicional • SIIT-EAM • NAT64 • DNS64 • 464XLAT

¡Muchas Gracias!

PáginaOficial https://jool.mxRepositoriodelcódigo https://github.com/NICMx/JoolDiscusiónpúblicaynoticias [email protected] [email protected]ónprivada [email protected]

InformacióndeContacto