A Case Study of IPv6 Deployment in tcd.ie

Similar documents
A case study of IPv6 deployment. tcd.ie. David Malone. 22 May 2003

Rolling out IPv6 in TCD

IPv6 It starts TODAY!

UNIX System Programming Lecture 19: IP Sockets

Computer Network Programming

The Berkeley Sockets API. Networked Systems Architecture 3 Lecture 4

IP version 6. The not so new next IP version. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam.

Foreword xxiii Preface xxvii IPv6 Rationale and Features

Network Programming in C: The Berkeley Sockets API. Networked Systems 3 Laboratory Sessions

New IP Header. Why change IP. Address Notation. Changes. Information Sources. IP Version 6 ITL

Information Sources Hans Kruse & Shawn Ostermann, Ohio University

6to4 & 6rd. Explained

Information Sources Hans Kruse & Shawn Ostermann, Ohio University

IPv6 tutorial. RedIRIS Miguel Angel Sotos

TD#RNG#2# B.Stévant#

목포해양대해양컴퓨터공학과. IPv6 적용

CSE 333 Section 8 - Client-Side Networking

Network Programming in C. Networked Systems 3 Laboratory Sessions and Problem Sets

IPv6 Deployment at ORNL

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.

Networking Fundamentals IPv6 APNIC 44. TAICHUNG, TAIWAN 7-14 September 2017

Network Management. IPv6 Bootcamp. Zhiyi Huang University of Otago

CSCI-1680 Network Layer:

Rocky Mountain IPv6 Summit April 9, 2008

FiberstoreOS IP Service Configuration Guide

Planning for Information Network

Introduction to Computer Networks

IPv6 Next generation IP

Azblink API for Sending XMPP Messages via HTTP POST

ECE 435 Network Engineering Lecture 14

CSEP 561 Internetworking. David Wetherall

VLAN Configurations. 1 of :18. Available Categories. Adobe. Macromedia

For personnal use only

Sockets and Parallel Computing. CS439: Principles of Computer Systems April 11, 2018

CSE 333 SECTION 7. Client-Side Network Programming

Contents. IPv6 (Internet Protocol version 6) What s IPv6 Address Architecture Plug & play Domain Name System Transition The current status of IPv6

Migration Technologies. Dual Stack and Tunneling Using GRE, 6to4, and 6in4.

DNS, DHCP and Auto- Configuration. IPv6 Training Day 18 th September 2012 Philip Smith APNIC

IPv6 Transition Technologies (TechRef)

The Layer-2 Insecurities of IPv6 and the Mitigation Techniques

My installation at Maple Park Development Corp.

Hosts. 6DEPLOY. IPv6 Deployment and Support

Lecture 7 Overview. IPv6 Source: Chapter 12 of Stevens book Chapter 31 of Comer s book

Central America Workshop - Guatemala City Guatemala 30 January - 1 February 07 Host Configuration (Linux)

CSE 333 SECTION 6. Networking and sockets

IPv6 host configuration

IPv6: An Introduction

CS615 - Aspects of System Administration

Socket Programming. #In the name of Allah. Computer Engineering Department Sharif University of Technology CE443- Computer Networks

Using IPv6. Daniel Hagerty

last time redo logging copy-on-write filesystems / snapshots distributed systems motivation, etc.

Intro to IPv6 (nextgen)

IPv6 Stateless Autoconfiguration

Operation Manual IPv6 H3C S3610&S5510 Series Ethernet Switches Table of Contents. Table of Contents

Subnet Masks. Address Boundaries. Address Assignment. Host. Net. Host. Subnet Mask. Non-contiguous masks. To Administrator. Outside the network

Index Terms- IPv4, IPv6

CSE 333 SECTION 8. Sockets, Network Programming

LAB 1 HOW THE WEB WORKS

CSE 333 Section 3. Thursday 12 April Thursday, April 12, 12

IP over IB Protocol. Introduction CHAPTER

IPv6 Porting Applications

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

LAB 1 HOW THE WEB WORKS

Avaya Networking IPv6 Using Fabric Connect to ease IPv6 Deployment. Ed Koehler Director DSE Ron Senna SE Avaya Networking Solutions Architecture

IPv6 Neighbor Discovery

CSE 333 SECTION 7. Client-Side Network Programming

Internet Protocol, Version 6

2007 Microsoft Corporation. All rights reserved.

IPv6 Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land

Contents. Ping, tracert, and system debugging commands 1 debugging 1 display debugging 2 ping 2 ping ipv6 5 tracert 7 tracert ipv6 9

The term "router" in this document refers to both routers and Layer 3 switches. Step Command Remarks. ipv6 host hostname ipv6-address

SJTU 2018 Fall Computer Networking. Wireless Communication

IPv6 Concepts. Improve router performance Simplify IP header Align to 64 bits Address hierarchy with more levels Simplify routing tables

Introduction to IPv6 - II

Setup. Grab a vncviewer like: Or

Recent advances in IPv6 insecurities Marc van Hauser Heuse CCC Congress 2010, Berlin Marc Heuse

How to configure basic IPv6 interoperability between an Allied Telesyn AR450 router and Microsoft Windows XP

Aeronautical Systems Center

IPv6 DEPLOYMENT GLOBAL TRANSIT COMMUNICATIONS. Presented by Mark Tinka Chief Network Architect Global Transit Kuala Lumpur, Malaysia

2 nd SEE 6DISS Workshop Plovdiv June Host Configuration (Windows XP) Athanassios Liakopoulos

FiberstoreOS. IP Service Configuration Guide

FSOS IP Service Configuration Guide

NEXT GENERATION. Is the world ready for the next generation Internet Protocol? We take a look at Linux

Application Session (Hands-on) Athanassios Liakopoulos (GRNET) version 1.01

Lecture Computer Networks

Essential IPv6 for the Linux Systems Administrator. Owen DeLong

Exam Questions 1Z0-880

Deploy Dual Stack CentOS 7 Instance in AWS

Ethernet Peach Pit User Guide. Peach Fuzzer, LLC. v3.7.50

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

APNIC IPv6 Workshop. Overview 7/29/17. Pekanbaru, Indonesia 31 July 2017 Proudly Supported by:

CSE 333 SECTION 7. C++ Virtual Functions and Client-Side Network Programming

Ninux.org! Hackmeeting! 2010! Roma! Saverio Proto (ZioPRoTo)!

Deploying Samba in IPv6 Networks

TCP/IP Protocol Suite

Recent advances in IPv6 insecurities reloaded Marc van Hauser Heuse GOVCERT NL Marc Heuse

Javier Sedano David Fernández

Setting up DHCP, DNS and NFS on the CLTC Server

Boost local network performance (Increase network thoroughput) by enabling Jumbo Frames on GNU / Linux

IPv6 LAB. Practical IPv6. Alvaro Vives 27 June 2017 Workshop on Open Source Solutions for the IoT

Transcription:

A Case Study of IPv6 Deployment in tcd.ie David Malone <dwmalone@{maths.tcd,cnri.dit}.ie> 22 May 2003 1

What is IPv6? 1. Current version of IP is version 4. 2. IPv6 is an evolution of IPv4. 3. Not backwards or forwards compatible. 2

Major changes Bigger addresses. Better extensibility. Built in autoconfig. Mandatory IPsec. More integrated multicast. 3

Addresses IPv4 addresses: 32 bit 134.226.81.11 IPv6 addresses: 128 bit addresses 340282366920938463463374607431768211456, Written in 8 hex quads, Several shortcuts allowed. 4

Examples 2001:0770:0010:0300:0000:0000:86e2:510b 2001:770:10:300:0:0:86e2:510b 2001:770:10:300::86e2:510b 2001:770:10:300::134.226.81.11 5

Special Addresses :: Unspec ::1 localhost fe80:: block link-local fec0:: block site-local ff00:: block multicast 6

Stage 1: Getting Started % ifconfig -a lo0: flags=8049<up,loopback,running,multicast> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 en0: flags=8863<up,broadcast,smart,running,simplex,multicast> mtu 1500 inet6 fe80::203:93ff:fe46:17a6%en0 prefixlen 64 scopeid 0x4 inet 10.0.0.1 netmask 0xff000000 broadcast 10.255.255.255 ether 00:03:93:46:17:a6 7

Pinging % ping6 ::1 PING6(56=40+8+8 bytes) ::1 --> ::1 16 bytes from ::1, icmp_seq=0 hlim=64 time=0.392 ms % ping6 -I en0 fe80::230:65ff:fe03:d972 16 bytes from fe80::230:65ff:fe03:d972%en0, icmp_seq=0 hlim=64 time=1.373 ms % ping6 -I en0 ff02::1 PING ff02::1(ff02::1) from fe80::2b0:d0ff:fed7:741d en0: 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.062 ms 64 bytes from fe80::2b0:d0ff:fe05:fc06: icmp_seq=1 ttl=64 time=0.194 ms (DUP!) 64 bytes from fe80::206:5bff:fe68:249b: icmp_seq=1 ttl=64 time=0.224 ms (DUP!) 64 bytes from fe80::202:b3ff:fe65:604b: icmp_seq=1 ttl=64 time=0.256 ms (DUP!) 64 bytes from fe80::2b0:d0ff:fef4:c6c5: icmp_seq=1 ttl=64 time=0.334 ms (DUP!) 64 bytes from fe80::203:93ff:fe46:17a6: icmp_seq=1 ttl=64 time=0.384 ms (DUP!)... 8

Enabling FreeBSD Add ipv6 enable="yes" to /etc/rc.conf Redhat Add NETWORKING IPV6="yes" to /etc/sysconfig/network Solaris Create /etc/hostname6.ifname. 9

Stage 2: IPv6 connectivity Use tunnel. Protocol 41. 2001:618:400:e::/64 address space from BT. % ifconfig gif0 create % ifconfig gif0 tunnel 134.226.10.51 193.113.58.80 % ifconfig gif0 inet6 2001:618:400::1:DC4:1467 2001:618:400::1:DC4:1466 prefixlen 128 % route add -inet6 default 2001:618:400::1:DC4:1466 10

Rtadvd Routers drive autoconfiguration. Configure prefix 2001:618:400:e:: get address 2001:618:400:e:2a0:c9ff:feb1:34e7 Use rtadvd fxp0 on FreeBSD. Router tells nodes prefix, basic routes, lifetimes, MTU... 11

Problems with routing Scenic routing between cs.tcd.ie and maths.tcd.ie. Got /48 from BT. Tunnel BT to CS, Tunnel CS to Maths. 2001:618:409:100:: - ISS, 2001:618:409:200:: CS, 2001:618:409::300 maths. 2001:618:409:400:: 2001:618:409:ffff:: are reserved. 12

HEAnet Initially testing with 3ffe:8037: addresses, tunnel to maths. Shortly after HEAnet allocated 2001:770::. TCD allocated 2001:770:10:, old addressing plan renumbered. All set, what now? 13

Stage 3: Services OpenSSH has good IPv6 support. To be useful need DNS info: A record maps salmon 134.226.81.11. PTR record maps 11.81.226.134.in-addr.arpa salmon AAAA record maps salmon.ipv6 2001:770:10:300::... PTR record maps...0.7.7.0.1.0.0.2.ip6.arpa salmon.ip6 14

Testing After updating known hosts, seems good. Further tests to before AAAA for normal names. Get IPv6 at home and set default domain to ipv6.maths.tcd.ie. All still good, add AAAA for normal names. 15

Connecting at home 6to4 very easy, easy config. www.xxx.yyy.zzz 2002:WWXX:YYZZ:: Eircom and HEAnet offer relays. Do ask your ISP. 16

Source host on 6to4 Network 2002:c000:0204:2::2 6to4 Router 2002:c000:0204:2::1 192.0.2.4 IPv4 Packet containing IPv6 packet From 192.0.2.4 To 192.88.99.1... IPv6 Packet From 2002:c000:0204:2::2 To 2001:db8::1... IPv4 Internet IPv4 packet 192.88.99.1 Nearest Relay Router Decapsulated IPv6 packet Destination host 2001:db8::1 IPv6 Internet 17

Destination host on 6to4 Network 6to4 Router 2002:c000:0204:2::2 Original IPv6 packet 2002:c000:0204:2::1 192.0.2.4 IPv4 Packet Packet encapsulated by relay router From relay router To 192.0.2.4 IPv6 packet... IPv4 Internet Advertises route 2002::/16 Nearest Relay Router From 2001:db8::1 To 2002:c000:0204:2::2... IPv6 packet 2002:c000:0204:2::2 IPv6 Internet 18

6to4 Script for FreeBSD #!/bin/sh IPV4=$1 PARTS= echo $IPV4 tr. PREFIX48= printf "2002:%02x%02x:%02x%02x" $PARTS STF_IF="stf0" STF_NET6="$PREFIX48":0000 STF_IP6="$STF_NET6"::1 ifconfig $STF_IF inet6 $STF_IP6 prefixlen 16 alias route add -inet6 default 2002:c058:6301:: Or set stf interface ipv4addr in rc.conf 19

6to4 Script for Linux #!/bin/bash IPV4=$1 PARTS= echo $IPV4 tr. PREFIX48= printf "2002:%02x%02x:%02x%02x" $PARTS STF_NET6="$PREFIX48":0000 STF_IP6="$STF_NET6"::1 /sbin/ip tunnel add tun6to4 mode sit remote any local $IPV4 /sbin/ip link set dev tun6to4 up /sbin/ip -6 addr add $STF_IP6/16 dev tun6to4 /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 Or set IPV6TO4INIT in /etc/sysconfig/network-scripts/ifcfg-if. 20

Web Services Upgrade to Apache2 Add IPv6 addrs to.htaccess files. Update log processing scripts. PHP problems? Run as CGI. 21

DNS & Bind 9 Having AAAA records and doing DNS over v6 different. named.conf: + listen-on { any; }; + listen-on-v6 { any; }; query-source address * port 53; + query-source-v6 address * port 53; zone file: ; Master nameserver for maths.tcd.ie. This must be an A record to be used ; in any NS records. ns IN A 134.226.81.11 + IN AAAA 2001:770:10:300::86e2:510b 22

Mail IPv6 support in sendmail, postfix (patch), qmail (patch), exim. Maths use MMDF challenge by Dave Wilson. Receive mail from network. Look up addressees for MX. Send mail to network. 23

Converting Apps Sockets API pretty agnostic: s/af INET/AF INET6/ Need to look up A and AAAA records. New functions getaddrinfo and getnameinfo. 24

struct addrinfo hints, *res, *res0; int s; memset(&hints, 0, sizeof(hints)); hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_STREAM; getaddrinfo("www.kame.net", "http", &hints, &res0); for (res = res0; res; res = res->ai_next) { s = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (connect(s, res->ai_addr, res->ai_addrlen) < 0) continue; break; } freeaddrinfo(res0); 25

Meanwhile Other services: NNTP, FTP, ident. Growing number of autoconf machines show up (OS X, Linux, *BSD). TCD to HEAnet via Ethernet. Second FreeBSD router for native link. Protocol redundancy during SQL slammer. 26

Stage 4: Future Paul Reilly working on www.tcd.ie (PHP OK?) Use FreeBSD vlans support to connect all TCD vlans. Need to IPv6 finger, ntp and web proxy. (Bad doubleclick). Internal services: NFS, X11, phone, samba,... 27