Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VNS U3

m4r_X
March 03, 2016

VNS U3

IPv6

m4r_X

March 03, 2016
Tweet

More Decks by m4r_X

Other Decks in Technology

Transcript

  1. IPv4 = 32 bit = 2^32 4'294'967'296 IPv6 = 128

    bit = 2^128 340'282'366'920'938'463'463'374'607'431'768'211'456
  2. https://tools.ietf.org/html/rfc2460#page­4 0 1 2 3 0 1 2 3 4

    5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv4 IPv6 Gleich Weg in IPv6 Name + Position geändert Neu in IPv6
  3. Extension Headers Um flexibler zu sein, wurden EH eingeführt. Dadurch

    können auch nachträglich Erweiterungen implementiert werden, ohne dass diese von vornherein im Protokoll eingeplant wurden. https://tools.ietf.org/html/rfc2460#page­6 +---------------+------------------------ | IPv6 header | TCP header + data | | | Next Header = | | 6 = TCP | +---------------+------------------------ +---------------+----------------+------------------------ | IPv6 header | Routing header | TCP header + data | | | | Next Header = | Next Header = | | 43 = Routing | 6 = TCP | +---------------+----------------+------------------------ +---------------+----------------+-----------------+----------------- | IPv6 header | Routing header | Fragment header | fragment of TCP | | | | header + data | Next Header = | Next Header = | Next Header = | | 43 = Routing | 44 = Fragment | 6 = TCP | +---------------+----------------+-----------------+-----------------
  4. fe80::/10 Jeder Node hat eine Link-local Adressen, welche nur innerhalb

    eines Netzwerksegments gültig. Interface ID wird nach EUI-64 mit der MAC-Adresse und fffe in der Mitte + das 7te Bit invertiert generiert. https://tools.ietf.org/html/rfc4291#page­11
  5. Neighbor Discovery Ist der Ersatz von arp Benutzt ICMPv6: Neighbor

    Solicitation (Type 135) Neighbor Advertisement (Type 136) Router Solicitation (Type 133) Router Advertisement (Type 134) https://tools.ietf.org/html/rfc4861
  6. Stateless Address Autoconfiguration Host vergibt mit dem vom Router propagierten

    Präfix die Adresse ohne eine zentrale Verwaltung selber. Verfahren: 1. Host fragt Router mit link-local Adresse via RS um Präfix 2. Router schickt RA mit globalem Präfix und MTU 3. Host erzeugt aus Präfix + EUI-64 eine globale Adresse und überprüft anschliessend via NS ob die Adresse schon vergeben ist StatefullAAC = DHCPv6 https://tools.ietf.org/html/rfc2462
  7. $ cat /etc/radvd.conf interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3;

    MaxRtrAdvInterval 10; prefix 2001:470:b5b4:1337::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; # RDNSS / NOTE: This feature is not very widely implemented. RDNSS 2001:470:b5b4:1337::2 2001:470:b5b4:1337::3 { AdvRDNSSLifetime 30; }; };
  8. Privacy Extensions Interface ID ist bei SLAAC weltweit identifizierbar, unabhängig

    vom Netz (Präfix) PE: Host erzeugt für Interface ID ein pseudo Wert. Die Adresse ist ein “zeit lang” gültig, dann wird eine neue generiert. Aber; Zuhause, also bei eigenem Netz sind wir immer noch nicht ganz anonym. Da der Präfix eindeutig zuweisbar ist. https://tools.ietf.org/html/rfc4941
  9. Sepzielle Adressen https://tools.ietf.org/html/rfc5156 ::/0 default route ::1/128 loopback fe80::/10 link-local

    ff00::/8 multicast ff02::1 all node link-local ff01::1 all routers link-local
  10. DNS Es besteht eine grössere Abhängigkeit zu DNS, da die

    Adressen komplexer sein können. ipv6.footek.ch. IN AAAA 2001:470:b5b4:1337::dead:beef f.e.e.b.d.a.e.d.0.0.0.0.0.0.0.0.7.3.3.1.4.b.5.b.0.7.4.0.1.0.0.2.ip6.arpa. IN PTR ipv6.footek.ch. https://tools.ietf.org/html/rfc3596
  11. Dual Stack Es wird keinen Tag X geben an dem

    von IPv4 auf IPv6 umgestellt wird. Übergangsphase wird Jahrzehnte dauern. https://tools.ietf.org/html/rfc4213#page­4 +--------------------------------------------------+ | | | Application | | | +--------------------------------------------------+ +---------------+ +-----------------+ | | | | | TCP | | UDP | | | | | +---------------+ +-----------------+ +---------------+ +-----------------+ | | | | | IPv4 | | IPv6 | | | | | +---------------+ +-----------------+ +--------------------------------------------------+ | | | Ethernet | | | +--------------------------------------------------+
  12. Dual Stack ( client ) marx@client:~$ ip addr show dev

    eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:51:c6:b5 brd ff:ff:ff:ff:ff:ff inet 10.0.0.10/24 brd 10.0.0.255 scope global eth0 inet6 2001:470:b5b4:1337:d5d8:ff86:6fc:f15d/64 scope global temporary dynamic valid_lft 86395sec preferred_lft 14395sec inet6 2001:470:b5b4:1337:20c:29ff:fe51:c6b5/64 scope global dynamic valid_lft 86395sec preferred_lft 14395sec inet6 fe80::20c:29ff:fe51:c6b5/64 scope link valid_lft forever preferred_lft forever
  13. Dual Stack ( server ) root@server:~# ip address show dev

    eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 22:00:0a:23:d2:d6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/26 brd 10.34.210.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2001:470:b5b4:1337::dead:beef/64 scope global valid_lft forever preferred_lft forever inet6 fe80::2000:aff:fe23:d2d6/64 scope link valid_lft forever preferred_lft forever root@server:~# ss ­lntp | grep ssh LISTEN 0 128 *:22 *:* users:(("sshd",pid=1414,fd=3)) LISTEN 0 128 :::22 :::* users:(("sshd",pid=1414,fd=4))
  14. Tunneling ...um „reine“ IPv4 Netze/Router zu überspringen. IPv6-Pakete werden in

    den Nutzdaten von IPv4, zu einer Tunnelgegenstelle übertragen, die sich im IPv6-Internet befindet. Dort werden die IPv6-Pakete herausgelöst und zum Ziel via IPv6-Routing übertragen. https://tools.ietf.org/html/rfc3053#page­4 +------+ /|tunnel| / |server| / | | / +------+ +----------+ +------+/ +------+ |dual-stack| |tunnel| |tunnel| | node |<--->|broker|<--->|server| | (user) | | | | | +----------+ +------+\ +------+ | \ +------+ tunnel end-point v \ |tunnel| /\ +---+ \ |server| || |DNS| \| | || +---+ +------+ || || tunnel end-point || /\ || || |+---------------------------+| +-----------------------------+ IPv6 over IPv4 tunnel
  15. Firewall v6 IPv6 ist ein anderer IP-Stack als IPv4, man

    bracht also ein „zweite“ Firewall. Auf Linux Systemen wird ip6tables verwendet. Endlich kein NAT mehr! ICMPv6 nicht „mehr“ grundsätzlich verbieten https://tools.ietf.org/html/rfc4890 Webportscanner http://www.ipv6scanner.com
  16. Verbreitung Hersteller (Applikationen, Betriebssysteme, Netz, ...) Content Provider Service Provider

    https://www.google.com/intl/en/ipv6/statistics.html http://6lab.cisco.com