SIIT-DC: Stateless IP/ICMP Translation for IPv6 Data Centre Environments & SIIT-DC: Dual Translation Mode



Similar documents
SIIT-DC: IPv4 Service Continuity for IPv6 Data Centres. Tore Anderson Redpill Linpro AS RIPE69, London, November 2014

How To Connect Ipv4 To Ipv6 On A Ipv2 (Ipv4) On A Network With A Pnet 2.5 (Ipvin4) Or Ipv3 (Ip V6) On An Ipv5

SIIT-DC: IPv4 Service Continuity for IPv6 Data Centres. Tore Anderson Redpill Linpro AS 8th Belgian IPv6 Council, Bruxelles, November 2015

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

IPv6-only hosts in a dual stack environnment

VDE Tagung Mobilkommunikation 2014, Osnabruck

IPv4/IPv6 Transition Using DNS64/NAT64: Deployment Issues

Ensuring a Smooth Transition to Internet Protocol Version 6 (IPv6)

IPv6-Only. Now? Sites. Deutscher IPv6 Kongress June 6/7, 2013 Fr ankfur t /Ger many. Holger.Zuleger@hznet.de

IPv4/IPv6 Translation: Framework. Li, Bao, and Baker

Strategies for Getting Started with IPv6

464XLAT: Breaking Free of IPv4. APRICOT 2014

Firewalls und IPv6 worauf Sie achten müssen!

Basic IPv6 WAN and LAN Configuration

464XLAT: Breaking Free of IPv4. T-Mobile.com NANOG 61 June 2014

Campus IPv6 connection Campus IPv6 deployment

Strategies for Getting Started with IPv6

Industry Automation White Paper Januar 2013 IPv6 in automation technology

Network Address Translation (NAT)

464XLAT in mobile networks

Skip the Transitions, Jump Straight into IPv6

How will the Migration from IPv4 to IPv6 Impact Voice and Visual Communication?

Availability Digest. Redundant Load Balancing for High Availability July 2013

IPv4/IPv6 Transition Mechanisms. Luka Koršič, Matjaž Straus Istenič

IPv6 Fundamentals: A Straightforward Approach

Application Delivery Networking

DEPLOYMENT GUIDE Version 1.4. Configuring IP Address Sharing in a Large Scale Network: DNS64/NAT64

Advanced SLB High Availability and Stateless SLB

Proxy Server, Network Address Translator, Firewall. Proxy Server

TR-296 IPv6 Transition Mechanisms Test Plan

CheckPoint Software Technologies LTD. How to Configure Firewall-1 With Connect Control

WHITE PAPER. Best Practices for Deploying IPv6 over Broadband Access

Deployment Guide A10 Networks/Infoblox Joint DNS64 and NAT64 Solution

21.4 Network Address Translation (NAT) NAT concept

Securing the Transition Mechanisms

IPv6 in Axis Video Products

Bump In Host a Host-based IPv4 to IPv6 Translation

Firewalls P+S Linux Router & Firewall 2013

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

IPv6 TRANSITION TECHNOLOGIES

Residential IPv6 IPv6 a t at S wisscom Swisscom a, n an overview overview Martin Gysi

IPv4 and IPv6: Connecting NAT-PT to Network Address Pool

TCP/IP Basis. OSI Model

CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

Multi-Homing Security Gateway

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

INTRODUCTION TO FIREWALL SECURITY

IPv6 The Big Picture. Rob Evans, Janet

Vulnerabili3es and A7acks

IPv6 Security Best Practices. Eric Vyncke Distinguished System Engineer

IPV6 IN MOBILE NETWORKS

Firewalls. Ahmad Almulhem March 10, 2012

Ecdysis: Open-Source DNS64 and NAT64

About the Technical Reviewers

Prerequisites. Creating Profiles

SonicWALL NAT Load Balancing

Deploying IPv6 in 3GPP Networks. Evolving Mobile Broadband from 2G to LTE and Beyond. NSN/Nokia Series

Secure Web Appliance. Reverse Proxy

IPv6 and 4-byte ASN Update

Vicenza.linux.it\LinuxCafe 1

Run your next CGN on a $20 OpenWRT

Status of IPv6 Rollout at Swisscom. Martin Gysi, public

Presentation_ID. 2001, Cisco Systems, Inc. All rights reserved.

Outline VLAN. Inter-VLAN communication. Layer-3 Switches. Spanning Tree Protocol Recap

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

This story appeared on Network World at

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Government of Canada Managed Security Service (GCMSS) Annex A-1: Statement of Work - Firewall

FTP e TFTP. File transfer protocols PSA1

Emerald. Network Collector Version 4.0. Emerald Management Suite IEA Software, Inc.

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

DMZ Network Visibility with Wireshark June 15, 2010

NAT Tutorial. Dan Wing, IETF78, Maastricht July 25, 2010

1 Basic Configuration of Cisco 2600 Router. Basic Configuration Cisco 2600 Router

IPv6 deployment starts at the network edge

Stateful Firewalls. Hank and Foo

Chapter 11 Network Address Translation

Packet Tracer - Troubleshooting IPv4 and IPv6 Addressing Topology

Implementation IPV6 in Mikrotik RouterOS. by Teddy Yuliswar

MULTI WAN TECHNICAL OVERVIEW

IPv6 Fundamentals, Design, and Deployment

Recent advances in IPv6 insecurities Marc van Hauser Heuse Deepsec 2010, Vienna Marc Heuse

SSL SSL VPN

Internet Peering, IPv6, and NATs. Mike Freedman V Networks

SonicOS Enhanced 4.0: NAT Load Balancing

APNIC IPv6 Deployment

FortiOS Handbook - Load Balancing VERSION 5.2.2

Astaro Security Gateway V8. Remote Access via SSL Configuring ASG and Client

IPv6/IPv4 Automatic Dual Authentication Technique for Campus Network

IPv6 and DNS. Secure64

Check Point Software Technologies LTD. Creating A Generic Service Proxy (GSP) Using Network Address Translation (NAT)

ExamPDF. Higher Quality,Better service!

Secure64. Use cases for DNS64/NAT64

Transcription:

SIIT-DC: Stateless IP/ICMP Translation for IPv6 Data Centre Environments & SIIT-DC: Dual Translation Mode Tore Anderson Redpill Linpro AS RIPE 91, Honolulu, November 2014

An IPv6 data centre The IPv6 Internet IPv6 data centre infrastructure

An IPv6 data centre with SIIT-DC The IPv6 Internet The IPv4 Internet SIIT-DC gateway(s) IPv6 data centre infrastructure

So how does it work? IPv4 packets are statelessly translated to IPv6 and vice versa by the SIIT-DC GWs [RFC 6145] The end user's IPv4 source address is 1:1 mapped into a 96-bit IPv6 prefix [RFC 6052] The service's IPv4 destination address is rewritten according to a 1:1 IPv4:IPv6 mapping configured in the SIIT-DC gateways IPv4 0.0.0.0/0 IPv6-mapped IPv4 64:ff9b::0.0.0.0/96 IPv6 ::/0 (not to scale)

Route: 64:ff9b::/96 The IPv4 Internet IPv6-only data centre 203.0.113.50 2001:db8::1 An IPv6 /96 prefix is assigned as the translation prefix representing the IPv4 internet and routed to the SIIT-DC gateways

Route: 198.51.0.0/24 Route: 64:ff9b::/96 203.0.113.50 The IPv4 Internet IPv6-only data centre 2001:db8::1 An IPv6 /96 prefix is assigned as the translation prefix representing the IPv4 internet and routed to the SIIT-DC gateways A pool of IPv4 service addresses is assigned and routed to the SIIT-DC gateway

Route: 198.51.0.0/24 SIIT-DC gateway configuration: Map 198.51.0.10-2001:db8::1 Translation prefix: 64:ff9b::/96 Route: 64:ff9b::/96 The IPv4 Internet IPv6-only data centre 203.0.113.50 2001:db8::1 The SIIT-DC gateway is configured with static IPv4 mappings for each IPv6 service The IPv6 /96 prefix is configured as a default rule (used if no static map match) IPv4 (IN A) records are added to DNS

Route: 198.51.0.0/24 SIIT-DC gateway configuration: Map 198.51.0.10-2001:db8::1 Translation prefix: 64:ff9b::/96 Route: 64:ff9b::/96 SRC: 203.0.113.50 DST: 198.51.0.10 HTTP GET /foo [...] The IPv4 Internet IPv6-only data centre 203.0.113.50 2001:db8::1 The client looks up the service's IPv4 address in DNS, and connects to it like it would with any other IPv4 address The IPv4 packet is routed to the SIIT-DC gateway's IPv4 interface

Route: 198.51.0.0/24 SIIT-DC gateway configuration: Map 198.51.0.10-2001:db8::1 Translation prefix: 64:ff9b::/96 Route: 64:ff9b::/96 SRC: 203.0.113.50 DST: 198.51.0.10 HTTP GET /foo [...] SRC: 64:ff9b::203.0.113.50 DST: 2001:db8::1 HTTP GET /foo [...] The IPv4 Internet IPv6-only data centre 203.0.113.50 2001:db8::1 The SIIT-DC gateway translates the packet to IPv6 DST address is rewritten according to static map SRC address gets the /96 prefix prepended (as it does not match any static maps) Layer 4 payload is copied verbatim

Route: 198.51.0.0/24 SIIT-DC gateway configuration: Map 198.51.0.10-2001:db8::1 Translation prefix: 64:ff9b::/96 Route: 64:ff9b::/96 SRC: 203.0.113.50 DST: 198.51.0.10 HTTP GET /foo [...] SRC: 64:ff9b::203.0.113.50 DST: 2001:db8::1 HTTP GET /foo [...] The IPv4 Internet IPv6-only data centre SRC: 2001:db8::1 DST: 64:ff9b::203.0.113.50 HTTP 200 OK [...] 203.0.113.50 2001:db8::1 The server (or load balancer) responds to the packet just as it would with any other IPv6 packet The server / LB requires no SIIT-DC support or awareness The original IPv4 source address is not lost Response packet is routed back to the SIIT-DC GW

Route: 198.51.0.0/24 SIIT-DC gateway configuration: Map 198.51.0.10-2001:db8::1 Translation prefix: 64:ff9b::/96 Route: 64:ff9b::/96 SRC: 203.0.113.50 DST: 198.51.0.10 HTTP GET /foo [...] SRC: 64:ff9b::203.0.113.50 DST: 2001:db8::1 HTTP GET /foo [...] The IPv4 Internet IPv6-only data centre SRC: 198.51.0.10 DST: 203.0.113.50 HTTP 200 OK [...] SRC: 2001:db8::1 DST: 64:ff9b::203.0.113.50 HTTP 200 OK [...] 203.0.113.50 2001:db8::1 The SIIT-DC gateway translates back to IPv4: SRC address according to static mapping rule DST address doesn't match any static map, so it only gets the /96 prefix stripped Response packet is routed back to client

Rationale for the static mapping When using RFC 6052 mapping for SRC and DST: Servers/applications/LBs must be set up with special IPv4-mapped IPv6 addresses (in addition to their primary IPv6 address) These must be routed as /128s throughout the IPv6 network and cannot be aggregated Must be treated specially in ACLs, monitoring, debugging, etc. Distributes complexity relating to IPv4 backwards compat across the IPv6 network and applications «Dual-stack lite» - separate treatment of IPv4 and IPv6 When using static mappings for DST address: All complexity contained within a small number of SIIT-DC GWs Server admins do not make any config changes to get an IPv4 frontend («can I have an external IPv4 address for 2001:db8::1?»)

Application requirements If the application does work through NAT44, it will likely work with SIIT-DC as well e.g., HTTP and HTTPS If the application does not work through NAT44, it will likely not work with single-translation SIIT-DC e.g., FTP (uses IP literals in Layer 7 payload) The servers' OS and application stacks must fully support IPv6 Dual translation to the rescue...

Supporting IPv4-only applications A Host Agent reverses the SIIT-DC Gateway's translations before passing data to the application Application handles IPv4 traffic on an IPv4 socket Very similar to the CLAT component in 464XLAT End-to-end IPv4 address transparency; referrals work IPv4-only end user The IPv4 Internet SIIT-DC Gateway IPv6-only data centre network SIIT-DC Host Agent IPv6-only server FTP & FTP+TLS daemon software SRC: 203.0.113.50 DST: 198.51.0.10 SRC: 64:ff9b::203.0.113.50 DST: 2001:db8::1 SRC: 203.0.113.50 DST: 198.51.0.10

The TODO list Static mappings are not checksum neutral (ref. RFC6052 section 4.1) [Andrew Yourtchenko] Fragment Identification may be (partially) lost during translation [Andrew Yourtchenko] Hairpinning between IPv4-only apps/nodes behind SIIT-DC Host Agents [Andrew Yourtchenko] Improve (or remove) text regarding migration from dual-stack using DNS round robin [Andrew Yourtchenko]

TODO: SIIT-DC Proxy [Ray Hunter] A SIIT-DC Host Agent running in a CPE device Allows for supporting IPv4-only devices Or IPv6-capable OS-es w/o Host Agent support, which runs IPv4-only/NAT-unfriendly apps/software The proxy could potentially bridge native IPv6 traffic «Bump In The Wire» for IPv4 traffic IPv4-only end user The IPv4 Internet SRC: 203.0.113.50 DST: 198.51.0.10 SIIT-DC Gateway IPv6-only data centre network SRC: 64:ff9b::203.0.113.50 DST: 2001:db8::1 SIIT-DC Proxy.9 IPv4 island 198.51.0.8/30 SRC: 203.0.113.50 DST: 198.51.0.10 IPv4-only server.10

There's even running code TAYGA for Linux (open source) http://www.litech.org/tayga/ Cisco ASR1K Requires IOS XE v3.10 Brocade ServerIron ADX (not tested by me) F5 BIG-IP LTM (not tested by me) https://github.com/toreanderson/clatd SIIT-DC Host Agent for Linux (uses TAYGA)

Questions for the WG Name? SIIT-DC derives from SIIT (RFC 6145) But people seem to think of it as «Stateless NAT46» or «Stateless NAT64» (both of which are available) On the other hand, «NAT» is usually associated with port rewriting and stateful tracking, which is not done Anyone interested in being a co-author? Is it ready for WG adoption?

Questions & discussion! Thank you for listening! Further reading: RFC 6052 - IPv6 Addressing of IPv4/IPv6 Translators RFC 6145 - IP/ICMP Translation Algorithm draft-anderson-v6ops-siit-dc - Stateless IP/ICMP Translation in IPv6 Data Centre Environments draft-anderson-v6ops-siit-dc-2xlat SIIT-DC: Dual Translation Mode http://toreanderson.no - My personal home page (contact info, social media links, slides from this and earlier talks) http://redpill-linpro.com - My employer and sponsor of this project Note: IPv4 traffic to both of the above URLs is routed through a SIIT-DC gateway (eating my own dog food)