the guide ipv6

Upload: yolitta

Post on 06-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 The Guide IPv6

    1/21

    Skip to main content.

    The Guide | Manual pages | Mailing lists and Archives | CVS repository |

    Report or query a bug | Software Packages

    Top of Form

    Search L:http://www.NetBS NetBSD.org www.NetBSD.org Search

    Bottom of Form

    Navigation: Home | About | Gallery | Download | Documentation |

    Support | Community | Ports

    IPv6 Networking FAQOther links

    KAME project, where the IPv6 implementation came from

    6bone: worldwide IPv6 experimental network

    Freenet6.net

    The SixXS IPv6 Deployment & Tunnel Broker

    ipv6.org

    6to4 Explained

    detailed information on the implementation

    Introduction to IPv6 by Hubert Feyrer

    Getting Connected with 6to4 by Hubert Feyrer

    Some IPv6 tools accessible through a web page.

    IPv6 Networking FAQGetting Started

    IPv6 code was merged into NetBSD in June 1999, and is part of NetBSD. IPv6 configuration is

    mostly the same as IPv4 configuration, so you may want to check the documentation for

    IPv4 networking.

    The GENERIC kernel configuration enables IPv6 support by default for most of the

    architectures (ports). Userland code includes IPv6 support where possible, by default, so no

    rebuild of userland is necessary even if you switch between an IPv4-only kernel and anIPv4/v6 kernel.

    A little history of IPv6, and key features

    Around 1992, the IETF became aware of a global shortage of IPv4 addresses, and technical

    obstacles in deploying new protocols due to limitations imposed by IPv4. An IPng (IP next

    1

    http://www.netbsd.org/docs/network/ipv6/http://www.netbsd.org/docs/guide/en/http://man.netbsd.org/http://www.netbsd.org/mailinglists/http://mail-index.netbsd.org/http://cvsweb.netbsd.org/http://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsdhttp://www.netbsd.org/support/query-pr.htmlhttp://www.netbsd.org/docs/software/packages.htmlhttp://www.netbsd.org/http://www.netbsd.org/about/http://www.netbsd.org/gallery/http://www.netbsd.org/releases/http://www.netbsd.org/docs/http://www.netbsd.org/support/http://www.netbsd.org/community/http://www.netbsd.org/ports/http://www.kame.net/http://www.6bone.net/http://www.freenet6.net/http://www.sixxs.net/http://www.ipv6.org/http://www.feyrer.de/NetBSD/6to4.htmlhttp://orange.kame.net/dev/cvsweb.cgi/kame/IMPLEMENTATIONhttp://www.onlamp.com/pub/a/onlamp/2001/05/24/ipv6_tutorial.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://www.ipv6tools.com/http://www.ietf.org/http://www.netbsd.org/docs/guide/en/http://man.netbsd.org/http://www.netbsd.org/mailinglists/http://mail-index.netbsd.org/http://cvsweb.netbsd.org/http://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsdhttp://www.netbsd.org/support/query-pr.htmlhttp://www.netbsd.org/docs/software/packages.htmlhttp://www.netbsd.org/http://www.netbsd.org/about/http://www.netbsd.org/gallery/http://www.netbsd.org/releases/http://www.netbsd.org/docs/http://www.netbsd.org/support/http://www.netbsd.org/community/http://www.netbsd.org/ports/http://www.kame.net/http://www.6bone.net/http://www.freenet6.net/http://www.sixxs.net/http://www.ipv6.org/http://www.feyrer.de/NetBSD/6to4.htmlhttp://orange.kame.net/dev/cvsweb.cgi/kame/IMPLEMENTATIONhttp://www.onlamp.com/pub/a/onlamp/2001/05/24/ipv6_tutorial.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://www.ipv6tools.com/http://www.ietf.org/http://www.netbsd.org/docs/network/ipv6/
  • 8/3/2019 The Guide IPv6

    2/21

    generation) effort was started to solve these issues. The discussion is outlined in a bunch of

    RFCs, starting from RFC1550. After a large amount of discussion, around 1995, IPv6 (IP

    version 6) was picked as the final IPng proposal. The IPv6 base specification is specified in

    RFC2460.

    In a single sentence, IPv6 is a re-engineering effort against IP technology. Key features are

    listed below:

    Larger IP address space. IPv4 uses only 32 bits for IP address space, which allows

    only 4 billion nodes to be identified on the Internet. 4 billion may look like a large

    number; however, it is less than the human population on the earth! IPv6 allows 128

    bits for IP address space, allowing 340282366920938463463374607431768211456

    (three hundred forty undecillion) nodes to be uniquely identified on the Internet. A

    larger address space allows true end to end communication, without NAT or other

    short term workarounds against the IPv4 address shortage. (These days NAT is aheadache for new protocol deployment and has scalability issues; we really need to

    decommission NAT networks for the Internet to grow further).

    Deploy more recent technologies. After IPv4 was specified 20 years ago, we saw

    many technical improvements in networking. IPv6 includes a number of those

    improvements in its base specification, allowing people to assume these features are

    available everywhere, anytime. "Recent technologies" include, but are not limited to,

    the following:

    Autoconfiguration. With IPv4, DHCP exists but is optional. A novice user can

    get into trouble if they visit another site without a DHCP server. With IPv6, a"stateless host autoconfiguration" mechanism is mandatory. This is much

    simpler to use and manage than IPv4 DHCP. RFC2462 has the specification for

    it.

    Security. With IPv4, IPsec is optional and you need to ask the peer if it

    supports IPsec. With IPv6, IPsec support is mandatory. By mandating IPsec, we

    can assume that you can secure your IP communication whenever you talk to

    IPv6 devices.

    Friendly to traffic engineering technologies. IPv6 was designed to allow

    better support for traffic engineering like diffserv or intserv (RSVP). We do nothave a single standard for traffic engineering yet, so the IPv6 base

    specification reserves a 24-bit space in the header field for those technologies

    and is able to adapt to coming standards better than IPv4.

    Multicast. Multicast is mandatory in IPv6, which was optional in IPv4. The

    IPv6 base specifications themselves extensively use multicast.

    2

  • 8/3/2019 The Guide IPv6

    3/21

    Better support for ad-hoc networking. Scoped addresses allow better

    support for ad-hoc (or "zeroconf") networking. IPv6 supports anycast

    addresses, which can also contribute to service discoveries.

    and more.

    A cure to routing table growth. The IPv4 backbone routing table size has been a

    big headache to ISPs and backbone operators. The IPv6 addressing specification

    restricts the number of backbone routing entries by advocating route aggregation.

    With the current IPv6 addressing specification, we will see only 8192 routes on the

    default-free zone.

    Simplified header structures. IPv6 has simpler packet header structures than

    IPv4. It will allow future vendors to implement hardware acceleration for IPv6 routers

    easier.

    Allows flexible protocol extensions. IPv6 allows more flexible protocol extensions

    than IPv4 does, by introducing aprotocol header chain. Even though IPv6 allowsflexible protocol extensions, IPv6 does not impose overhead to intermediate routers.

    It is achieved by splitting headers into two flavors: the headers intermediate routers

    need to examine, and the headers the end nodes will examine. This also eases

    hardware acceleration for IPv6 routers.

    Smooth transition from IPv4. There were number of transition considerations

    made during the IPv6 discussions. Also, there are large number of transition

    mechanisms available. You can pick the most suitable one for your site.

    Follows the key design principles of IPv4. IPv4 was a very successful design, as

    proven by the ultra large-scale global deployment. IPv6 is "new version of IP", and itfollows many of the design features that made IPv4 very successful. This will also

    allow smooth transition from IPv4 to IPv6.

    and more.

    There are number of good books available on IPv6. Be sure to check these if you are

    interested.

    See also:

    ipv6.org

    Search Barnes & Noble for books on "IPv6" (NOTE: we are not making any particular

    recommendations regarding the bookstore)

    Introduction to IPv6 by Hubert Feyrer

    Network Configuration Files

    3

    http://www.ipv6.org/http://search.barnesandnoble.com/booksearch/results.asp?WRD=ipv6http://www.onlamp.com/pub/a/onlamp/2001/05/24/ipv6_tutorial.htmlhttp://www.ipv6.org/http://search.barnesandnoble.com/booksearch/results.asp?WRD=ipv6http://www.onlamp.com/pub/a/onlamp/2001/05/24/ipv6_tutorial.html
  • 8/3/2019 The Guide IPv6

    4/21

    The network configuration is defined in a set of text configuration files. Note that you do not

    need to edit some of those if you are configuring a host (not a router), by using

    autoconfiguration.

    /etc/rc.conf - rc.conf(5) specifies system services, including the network services,

    to be automatically started at system initialization.

    /etc/hosts - hosts(5) can include mappings between FQDN names and IPv6 numeric

    addresses.

    /etc/ifconfig.or ifconfig_in /etc/rc.conf - you can include IPv6

    network setup, using ifconfig(8), into here.

    Is the machine a router or a host

    In IPv6, routers and hosts are clearly separated. Nodes that forward packets for others are

    called routers. Nodes that do not are called hosts. Routers need to be configured manually.

    Routers will advertise information about subnet using rtadvd(8) daemon. Hosts usually have

    only one external network interface (some part of this document assumes this), and will be

    autoconfigured using the advertised subnet information.

    Host autoconfiguration in IPv6

    There are two separate mechanisms defined for IPv6 host autoconfiguration. One is called

    stateless address autoconfiguration, and is specified in RFC2462. The other is called

    DHCPv6, and is being discussed by the IETF dhc working group. NetBSD currently

    implements the former.

    Stateless address configuration basically works as follows. We have two parties here: a host

    (which is to be autoconfigured) and a router (which emits necessary information to the

    host).

    The host configures a link-local address to its network interface. A link-local IPv6

    address starts with "fe80", and has a value in the lower-most 64 bits. The lower-most

    64 bits are called the interface ID. For Ethernet and some other interfaces, the MAC

    address is used as the source for interface ID.

    % ifconfig ne2

    ne2: flags=8863

    mtu 1500

    media: Ethernet manual

    inet6 fe80::a00:5aff:fe38:6f86%ne2 prefixlen 64 scopeid 0x1

    4

    http://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    5/21

    By running rtadvd(8) on the router, the router periodically advertises information

    about the link (like Ethernet segment) to all nodes on the link. The information is

    carried by ICMPv6 "router advertisement" packet. The attached example advertises

    the following information:

    IPv6 subnet prefix is 2001:218:420::/64 Default router is on fe80::240:5ff:fea0:8e08

    And couple of more parameters, like IPv6 link MTU, default hoplimit, and

    router lifetime.

    14:18:20.812850 fe80::240:5ff:fea0:8e08 > ff02::1: icmp6: router

    advertisement\

    (chlim=64, router_ltime=1800, reachable_time=30000, retrans_time=1000)

    (src\

    lladdr: 0:40:5:a0:8e:8)(mtu: mtu=1500)(prefix info: LA

    valid_ltime=2592000,\ preffered_ltime=604800, prefix=2001:218:420::/64)

    6000 0000 00a0 3aff fe80 0000 0000 0000

    0240 05ff fea0 8e08 ff02 0000 0000 0000

    0000 0000 0000 0001 8600 d38d 4000 0708

    0000 7530 0000 03e8 0101 0040 05a0 8e08

    0501 0000 0000 05dc 0304 40c0 0027 8d00

    0009 3a80 0000 0000 2001 0218 0420 0000

    0000 0000 0000 0000

    The host catches the advertisement, and configures the global IPv6 address and the

    default router. By running ndp(8) on the host, we can see more detail about the most

    recent router advertisement.

    % ifconfig ne2

    ne2: flags=8863 mtu

    1500

    media: Ethernet manual

    inet6 fe80::a00:5aff:fe38:6f86%ne2 prefixlen 64 scopeid 0x1

    inet6 2001:218:420:0:a00:5aff:fe38:6f86 prefixlen 64

    Optionally, the host can ask for an advertisement from the router by sending an

    ICMPv6 "router solicitation" packet. rtsol(8) transmits the router solicitation packet. If

    you are running a mobile node, you may want to run rtsold(8) and transmit router

    solicitations periodically. The packet will be like this:

    14:18:20.300501 fe80::a00:5aff:fe38:6f86 > ff02::2: icmp6: router

    solicitation\

    (src lladdr: 8:0:5a:38:6f:86) (len 16, hlim 255)

    5

    http://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    6/21

    6000 0000 0010 3aff fe80 0000 0000 0000

    0a00 5aff fe38 6f86 ff02 0000 0000 0000

    0000 0000 0000 0002 8500 d7b0 0000 0000

    0101 0800 5a38 6f86

    We call it stateless address autoconfiguration, since we do not need to manage state in the

    router side. It is a very simple, robust and effective autoconfiguration mechanism.

    Note that we cannot autoconfigure routers. Routers really need to be configured manually.

    Setting up an IPv6 router

    First, you may want to get an IPv6 global address from upstream provider. If you have one,

    you'll need to perform the following steps.

    Add manual configuration for network interfaces, into /etc/ifconfig.

    (rc.conf(5)) or /etc/netstart.local. See the following section for details.

    Configure the following lines in rc.conf(5).

    ip6mode="router"

    rtsol="NO"

    rtadvd="YES" rtadvd_flags="sm1 ne2" # set

    interfaces to advertise

    You may want to edit /etc/rtadvd.conf (rtadvd.conf(5)) for fine-tuning the routeradvertisement timers.

    If you would like to announce routes by using RIPng, configure rc.conf(5) to run

    route6d(8).

    Perform a reboot.

    Due to restrictions in the IPv6 specification, it is not possible to autoconfigure routers. Do

    not attempt to tweak the configuration. You will end up having unexpected behavior as a

    result.

    Setting up an IPv6 host

    If you have an IPv6 router on the network, all you have to do is as follows. After the reboot,

    the host will be autoconfigured by using Router Advertisements from the rtadvd(8) on the

    adjacent router.

    1. Configure the following lines in rc.conf(5).

    6

    http://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-current
  • 8/3/2019 The Guide IPv6

    7/21

    2. ip6mode="autohost"

    3. rtsol="YES" rtsol_flags="sm1" # set your interface here

    For the 2nd line, alternatively, you can use /etc/ifconfig.{IF}, like below:

    up

    !rtsol $int

    4. Perform a reboot.

    If you do not have an IPv6 router on the network, you'll need to manually configure your

    system. See the following section for details.

    Also, due to restrictions in the IPv6 specification, it is not recommended to autoconfigure a

    host with multiple external interfaces (like 2 ethernet interfaces). Please perform manual

    configuration in this case. See the following section for details.

    Manual Configuration

    One of the key value-adds of IPv6 is the ubiquitous availability of autoconfiguration. Since

    IPv6 addresses are 128 bits, there's a higher chance for mistakes in manual configuration.

    We strongly recommend that you avoid manual configuration whenever possible. For

    example:

    If you configure routes to routers, run a routing daemon like route6d(8).

    If you configure interface addresses on hosts, get the information from an adjacentrouter by configuring ip6mode=autohost and rtsol=YES (see rc.conf(5)).

    If you think it is easier to do manual configuration, it's not. Manual configuration will impose

    future maintenance labor upon you.

    If you really need a manual configuration, read on.

    If you need to configure a node manually, add manual configuration for network interfaces

    into rc.conf(5).

    You will first need to declare the type of the node (host or router) by setting ip6mode as per

    below.

    ip6mode="router" # forward packets for others

    ip6mode="host" # do not forward packets for others

    7

    http://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-current
  • 8/3/2019 The Guide IPv6

    8/21

    Then, add interface configuration into rc.conf(5), or other files sourced by

    /etc/rc.d/network such as /etc/ifconfig.xxN. You can have multiple lines in

    /etc/ifconfig.xxN, like:

    inet 10.1.1.1 netmask 0xffffff00inet6 2001:db8:1234::1 prefixlen 64 alias

    Note "alias" at the end of the line. As there are multiple interface addresses with IPv6, the

    keyword is mandatory.

    If your configuration is not covered by rc.conf(5), configuration can be added into

    /etc/netstart.local or /etc/rc.local. You will need to use the following programs:

    ifconfig(8) - change or view the characteristics of a network interface.

    route(8) - manipulate the network routing tables.

    Naming a New Node on the Network

    A string hostname will be resolved to IPv6 numeric addresses by using /etc/hosts

    (hosts(5)), and/or DNS. This is much like the same as IPv4 case. yp(8) may be used,

    however, the author has no experience using yp(8) with IPv6 addresses.

    1. /etc/hosts (hosts(5)): For small networks of a few nodes, the hostname/IP maps can

    be manually duplicated in the /etc/hosts files of each node.

    /etc/hosts:

    2001:db8:1234::a:b:c:d host2.example.net host2

    2. DNS: The hostname maps can be centralized into zone-files which are accessed by

    the name-server, named(8). (there are many documents at www.dns.net which deal

    with setting up and maintaining DNS files).

    Forward zone file entry

    host2 IN AAAA 2001:db8:1234::a:b:c:d

    Reverse zone file entry

    8

    http://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?named+8+NetBSD-currenthttp://www.dns.net/dnsrd/docs/http://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rc.conf+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?named+8+NetBSD-currenthttp://www.dns.net/dnsrd/docs/
  • 8/3/2019 The Guide IPv6

    9/21

    d.0.0.0.c.0.0.0.b.0.0.0.a.0.0.0.0.0.0.0.4.3.2.1.8.b.d.0.1.0.0.2.ip6.ar

    pa.

    IN PTR host2.example.net

    Note: If you have heard about A6 records and bitstring labels for DNS A6 andbitstrings are now in experimental status, so you don't need to worry about them.

    AAAA is to be used for production service and works fine.

    Also note that the reverse DNS table is moving from ip6.int to ip6.arpa; 6Bone

    (3ffe) addresses are at the time of this writing only known in ip6.int, production

    addresses should be announced under ip6.arpa, as ip6.int will go away.

    Please note that the following addresses MUST NOT appear in the global DNS cloud:

    link-local addresses (matches fe80::/10, like fe80::1)

    This one is not globally reachable.

    unique-local addresses (matches fc00::/7, like fd00::1)

    This one is not globally reachable either. This one somewhat like a private address,

    so you can put it into your intranet DNS cloud.

    v4 mapped addresses (matches ::ffff:0.0.0.0/96, like ::ffff:10.1.1.1)

    This address is only for internal use in a node. Do not put this into DNS database

    directly.

    It is not recommended to put these addresses onto DNS cloud:

    1. multicast addresses (matches ff00::/8, like ff05::1)

    For the NetBSD/KAME IPv6 code, putting the following address does not make sense due to

    lack of support:

    v4 compatible address (matches ::0.0.0.0/96, like ::10.1.1.1)

    NetBSD/KAME does not support RFC2893 auto tunnel.

    IPv6 unicast address allocation

    9

  • 8/3/2019 The Guide IPv6

    10/21

    There are couple of differences between IPv6 and IPv4 address allocation.

    The prefix length for an IPv6 subnet will always be /64; no more, no less. It allows you

    to place as many IPv6 devices as the underlying network medium allows.

    With IPv4, prefix length varies between subnets to subnets, and it caused painful

    costs when renumbering subnets (for example, imagine when you renumber an IPv4

    subnet from /28 to /29 or vice versa).

    An ordinary leaf site will always get /48 of address space. It will make site

    renumbering easier, and allows you to switch ISP more easily.

    With IPv4, the allocation varies by the size of the site, and made it very painful when

    you migrated from one ISP to another, for example.

    Connecting to IPv6 upstream

    Depending on the ISP situation around you, you may be able to get native IPv6 connectivity

    (just like you do for IPv4), or you may be able to get tunnelled connectivity (IPv6 packets

    encapsulated into IPv4 packets). The section talks about the latter case.

    You can hook your machine up to experimental IPv6 network, called "6bone". You will need

    to talk with nearest 6bone site, to get your IPv6 address prefix. Note that you'll need to have

    a fixed IPv4 global address for this.

    If you do not have a fixed IPv4 global address (if you are using dialup ISP connection), don't

    panic. You can hook yourself up to Freenet6. They provide a web interface to hook up your

    home network whenever you reconnect to the Internet.

    In both cases, you will need to set up an IPv6-over-IPv4 tunneling interface onto your router.

    Consult gif(4) for details.

    Setting up gif tunnel: create /etc/ifconfig.gif0 with the following content. The

    first argument (x.x.x.x) is your IPv4 address, and the second one (y.y.y.y) is the

    IPv4 address of the other endpoint.

    create (only needed on post-1.5)

    tunnel x.x.x.x y.y.y.y

    10

    http://www.6bone.net/http://www.freenet6.net/http://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-currenthttp://www.6bone.net/http://www.freenet6.net/http://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-current
  • 8/3/2019 The Guide IPv6

    11/21

    Or, add the following lines into /etc/netstart.local or /etc/rc.local.

    # ifconfig gif0 create (only needed on post-1.5)

    # ifconfig gif0 tunnel x.x.x.x y.y.y.y

    See if the tunnel is working correctly: First try invoking the following command:

    # ping6 -n ff02::1%gif0

    If you see two packets, one from your local node and another from the remote node,

    the tunnel is working fine. If you have an IPv4 reachability problem between x.x.x.x

    and y.y.y.y, you will see only one reply or no reply. Here are items to look at if you

    are having trouble:

    Make sure you do not have a NAT box between you and the peer. Tunnelled

    IPv6 packets cannot go through a NAT box.

    Make sure you do not have any IPv4 packet filters between you and the peer.

    Exchange routes: Depending on your upstream configuration, you may need to set

    up default route to the upstream, or you may need to run a routing daemon.

    The above configuration uses an RFC2893 IPv6-over-IPv4 configured tunnel. Note that

    RFC2893 packets will not be able to go through a NAT router (if your tunnel endpoint itself -

    a NetBSD box - is a NAT router, it should not be a problem).

    See also:

    6bone

    Freenet6.net

    6to4 Explained

    Getting Connected with 6to4 by Hubert Feyrer

    net/hf6to4

    Typical IPv6 network setup - with /48 prefix from upstream

    Suppose you have obtained your address prefix, 2001:db8:1234::/48 from your upstream for

    your home network. You have two ethernet segments in your home, like below. Both

    myrouter A and myrouter B run IPv6-capable NetBSD. IPv4 addresses are assigned like

    11

    http://www.6bone.net/http://www.freenet6.net/http://www.feyrer.de/NetBSD/6to4.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/hf6to4/README.htmlhttp://www.6bone.net/http://www.freenet6.net/http://www.feyrer.de/NetBSD/6to4.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/hf6to4/README.html
  • 8/3/2019 The Guide IPv6

    12/21

    below. You wish to connect to the upstream via IPv6-over-IPv4 tunnel, from myrouter A at

    x.x.0.1/24 to upstream router at y.y.y.10.

    myrouter A

    | IPv4 x.x.0.1/24|

    ==+=== ethernet 0

    |

    | IPv4 x.x.0.2/24

    myrouter B

    | IPv4 x.x.1.2/24

    |

    ==+=== ethernet 1

    1. First, you need to configure your tunnel to the upstream from myrouter A. On

    myrouter A, configure the tunnel by using ifconfig(8), and then confirm the

    reachability by using ping6(8). "ff02::1" is referred to as an all-node multicast

    address, which should reach all nodes on the tunnel - in this case, myrouter A and

    upstream router. If you get answers from two nodes, the tunnel is working fine. If you

    get answer from only one node (myrouter A itself), something is bad between you

    and the upstream. It could be IPv4 filtering, it could be misconfiguration on either

    side, or something else. Track the problem down before proceeding.

    2. # ifconfig gif0 create (only needed on post-1.5)

    3. # ifconfig gif0 tunnel x.x.0.1 y.y.y.10

    4. # ping6 -I gif0 -n ff02::1

    5. PING6(56=40+8+8 bytes) fe80::a00:5aff:fe38:6f86 --> ff02::1

    6. 16 bytes from fe80::a00:5aff:fe38:6f86%lo0, icmp_seq=0 hlim=64

    time=0.334 ms

    7. 16 bytes from fe80::240:5ff:fea7:f092%gif0, icmp_seq=0 hlim=64

    time=3.416 ms(DUP!)

    8. Next, you need to assign a subnet address from your address block,

    2001:db8:1234::/48, to two of your ethernet segments. Since the prefix length for

    IPv6 subnet is always /64, you have 65536 subnets available for you! Let's just assign2001:db8:1234:0::/64 to ethernet 0, and 2001:db8:1234:1::/64 to ethernet 1.

    9. myrouter A ---- tunnel ------->upstream

    10. | IPv4 x.x.0.1/24 IPv4 y.y.y.10

    11. |

    12.==+=== ethernet 0: x.x.0.0/24, 2001:db8:1234:0::/64

    12

    http://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    13/21

    13. |

    14. | IPv4 x.x.0.2/24

    15.myrouter B

    16. | IPv4 x.x.1.2/24

    17. |

    18.==+=== ethernet 1: x.x.1.0/24, 2001:db8:1234:1::/64

    19. Let us assign IPv6 global address to your routers. Since routers MUST be manually

    configured, you need to perform the "ifconfig" as described in manual configuration

    section. For myrouter A, lookup link-local IPv6 address (it starts with "fe80"), take the

    lower 64 bits, attach upper 64 bits from the subnet address, and configure it. To

    preserve configuration across reboot, you may wish to append the setting to

    /etc/ifconfig.ne2.

    20.# ifconfig ne2

    21.ne2: flags=8863 mtu

    1500

    22. address: 08:00:5a:38:6f:86

    23. media: Ethernet manual

    24. inet x.x.0.1 netmask 0xffffff00 broadcast x.x.0.255

    25. inet6 fe80::a00:5aff:fe38:6f86%ne2 prefixlen 64 scopeid 0x1

    26.# ifconfig ne2 inet6 2001:db8:1234:0:a00:5aff:fe38:6f86 prefixlen 64

    alias

    27.# echo 'inet6 2001:db8:1234:0:a00:5aff:fe38:6f86 prefixlen 64 alias'

    >> /etc/ifconfig.ne2

    For myrouter B, do the similar thing.

    # ifconfig tlp0 inet6 2001:db8:1234:0:a00:5aff:fe38:8765 prefixlen 64

    alias

    (ethernet 0 side)

    # ifconfig tlp1 inet6 2001:db8:1234:1:a00:5aff:fe38:9710 prefixlen 64

    alias

    (ethernet 1 side)

    28.To exchange routing information, run route6d(8) on both routers. If the upstream

    asks you to aggregate route announcements, please consult the manual page for

    command line options. Now that connectivity to your upstream should be okay, try to

    ping external IPv6 nodes. Do not forget to specify "-n" to ping6(8); IPv6 reverse

    address lookup can take a very long time and should be avoided when you do tests.

    13

    http://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    14/21

    29.# route6d (on both routers)

    30.# ping6 -n www.6bone.net

    31.If you have end hosts (non-router nodes) on your network, you may want your router

    to advertise subnet information to end hosts. By doing this, your end hosts will beable to autoconfigure themselves. You will need to prepare /etc/rtadvd.conf, and run

    rtadvd(8). Note that you should advertise subnet information from the upstream

    router. In the picture, myrouter A should advertise to ethernet 0, and myrouter B

    should advertise to ethernet 0 and 1. You may want to disable advertisement from

    myrouter B to ethernet 0, because B is on the downstream and is not optimal as the

    default router (but if you disable it, machines on ethernet 0 will not be able to talk

    with machines on ethernet 1 when myrouter A is dead).

    32.# rtadvd ne2 (from myrouter A to ethernet 0)

    33.# rtadvd tlp0 tlp1 (from myrouter B to ethernet 0 and 1)

    Then, you need to run rtsol(8) or rtsold(8) on your end nodes so that they can be

    autoconfigured.

    In some cases, your upstream may ask you to configure differently from the above scenario.

    Typical IPv6 network setup - with 6to4 /48 prefix

    If you have more than one static global IPv4 address, you can use 6to4 mechanism(RFC3056) for your own /48 IPv6 prefix.

    There are routers called "public 6to4 relay router" out there, which will behave as the other

    side of tunnel for you. You will need to configure one of your machines to behave as 6to4

    gateway, which will encapsulate IPv6 packets into IPv4 and throw them to public 6to4 relay

    router (and vice versa). If your IPv4 address is x.y.z.u, your IPv6 prefix will be

    2002:xxyy:zzuu::/48 (xx, yy, zz and uu is hexadecimal notation for x, y, z and u,

    respectively).

    If your ISP gave you a private IPv4 address (like 10.x.x.x), unfortunately you cannot use this

    mechanism. The mechanism does not work across NAT devices.

    Let us assume the following topology, and machine myrouter A has an IPv4 address x.y.z.u.

    IPv4 address for myrouter B does not matter.

    14

    http://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    15/21

  • 8/3/2019 The Guide IPv6

    16/21

    16.You can now go back to the previous section and setup myrouter B, RIPng routing, as

    well as router advertisement.

    See also:

    6to4 Explained

    6to4 information at www.6bone.net

    Getting Connected with 6to4 by Hubert Feyrer

    Resolve DNS names over IPv6 cloud

    To go to a totally IPv6 environment (without IPv4), you'd need to contact name servers using

    IPv6 cloud. It's easy: you just need to put IPv6 addresses into resolv.conf(5). If you would like

    to run an IPv6 transport ready DNS server, try running net/bind9. Example configuration

    would be like this:

    nameserver 2001:200:0:1::f

    There's a working IPv6-ready DNS server running on the above address, so feel free to try it

    out.

    Using FAITH TCP relay translator

    We cannot connect directly from an IPv6-only client to an IPv4-only server, or vice versa. We

    need a device called a "translator" to do this.

    NetBSD is shipped with the faithd(8) TCP relay translator, which can be used to enable an

    IPv6-only (or IPv4/v6) client to contact IPv4-only servers by using IPv6 TCP. By using it with

    net/totd DNS proxy server, you can install an IPv6-to-IPv4 translator environment, like this:

    +--IPv6 only cloud------+

    | |

    |IPv6 only | IPv4 only

    |client == IPv6 ===> translator ----- IPv4 --> servers| tcp runs faithd(8) tcp

    | |

    +-----------------------+

    For actual setup, please refer to the following documents.

    16

    http://www.feyrer.de/NetBSD/6to4.htmlhttp://www.6bone.net/6bone_6to4.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?resolv.conf+5+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/bind9/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/totd/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://www.feyrer.de/NetBSD/6to4.htmlhttp://www.6bone.net/6bone_6to4.htmlhttp://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?resolv.conf+5+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/bind9/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/totd/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-current
  • 8/3/2019 The Guide IPv6

    17/21

    See also:

    IETF ngtrans working group

    RFC3142: "An IPv6-to-IPv4 transport relay translator", internet-draft describes how

    faithd(8) works

    src/usr.sbin/faithd/README

    net/totd

    IPv6 across IPv4-only routers, or NAT routers

    If your organization has IPv4-only routers, IPv4 NAT routers, or other things that may

    become obstacles to direct IPv6 networking, you can overcome these hurdles by following

    ways. Pick the most suitable one for your network configuration:

    It is possible to place two routers, one for IPv4, and one for IPv6, between twoethernet segments. You can place IPv6-only routers between two segments, enabling

    IPv6 routing only. This way, you can keep IPv4 network untouched.

    outgoing router

    |

    ==+=======================+=== IPv4/v6 subnet A

    | |

    IPv4-only router IPv6-only router

    | forward | forward

    | IPv4 only | IPv6 only

    ==+=======================+=== IPv4/v6 subnet B

    Usage of private/global address in IPv4 has nothing to do with IPv6 network. If it is

    allowed under your network management policy, you can configure global IPv6

    reachability, while splitting IPv4 network into private address segment and global

    address segment by NAT box/ firewalls.

    outgoing router

    |

    ==+=======================+=== subnet A: IPv4 global, IPv6 global

    | |

    IPv4-only NAT router IPv6-only router

    | |

    ==+=======================+=== subnet B: IPv4 private, IPv6 global

    In some cases, you can bridge IPv6 traffic across segments by using normal IPv4

    router. If you can configure your IPv4 router to bridge ethernet protocol type 0x86dd,

    17

    http://www.ietf.org/html.charters/ngtrans-charter.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/faithd/README?rev=HEAD&content-type=text/x-cvsweb-markuphttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/totd/README.htmlhttp://www.ietf.org/html.charters/ngtrans-charter.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/faithd/README?rev=HEAD&content-type=text/x-cvsweb-markuphttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/totd/README.html
  • 8/3/2019 The Guide IPv6

    18/21

    you can bridge IPv6 traffic only. In this case, subnet allocation will become different

    between IPv4 and IPv6 - this may become headache if you do this too much...

    outgoing router

    |

    ==+======== ether segment 1: IPv4 subnet A, IPv6 subnet X

    |

    IPv4-only router (bridge ether type 0x86dd)

    |

    ==+======== ether segment 2: IPv4 subnet B, IPv6 subnet X (same as

    above)

    If you have IPv4 reachability between two distant location in your organization, you

    can use IPv6-over-IPv4 tunnel to go across IPv4-only network in between.

    +--- IPv4-only cloud -------------------+

    | | ++

    | | | |

    | +---------------------------------------+ |

    | |

    IPv4/v6 router IPv4/v6 router

    | |

    ==+======= IPv4/v6 segment 1 ==+=======

    IPv4/v6 segment 2

    Twists

    Because IPv6 is still in its infancy, there are several non-standard items or specification

    holes. The KAME IPv6 implementation tries to address those.

    IPv6 specifies "scoped", or not-worldwide-unique, addresses in the specification. To

    disambiguate a scoped address, we need to explicitly specify the scope of the

    address. For example, the specification specifies a "link-local address" which is

    unique on a single link only. You need to specify the outgoing "link" with the address

    to disambiguate the address.

    KAME IPv6 code embeds a scope identifier into the 3rd and 4th byte of a scoped

    address in the in-kernel structures. Because of this, you sometimes see embedded

    form, like "fe80:1::abcd:1234:abcd:1234" to mean

    "fe80:0000:0000:0000:abcd:1234:abcd:1234 on scope 1". You should not specify the

    embedded form whenever possible.

    To disambiguate a scoped address, you have two options:

    18

  • 8/3/2019 The Guide IPv6

    19/21

    Use a special command line option, like -I option for ping6(8).

    Use the extended scoped address syntax, like fe80::1%de0 for specifying the

    address. Note that the syntax is available only for certain set of applications

    (applications that use getaddrinfo(3) can handle this).

    When you perform some experiments in your local network, do not use site-local

    unicast addresses. The way the specification is written is too vague. If you wish to run

    partitioned networks (which does not connect to the outside), it is advisable to use

    unique-local addresses. Unique-local addressing is specified in RFC2893.

    Other implementation details can be found in KAME implementation document.

    Not about the specification, but there are some things worth mentioning:

    Not all the tools are IPv6 transport ready. Though yp(8) can contain IPv6 address in

    their database, it does not support IPv6 transport (it cannot resolve names over the

    IPv6 cloud).

    Some of pkgsrc directories have been changed to use USE_INET6 to switch between

    IPv4/v6 builds and IPv4-only builds. USE_INET6 will automatically be turned on for

    IPv6-ready NetBSD systems.

    The implementation does not support automatic tunnels (RFC2893) nor 6over4

    (RFC2529), as these standards are not widely in use and considered obsolete in IPv6

    community.

    AF_INET6 wildcard listening sockets will grab IPv4 connection only with certain

    configurations (RFC2553 documents this behavior). This is for plugging security holein specification. Consult inet6(4) and ip6(4) for more details.

    IPv6 requires network interfaces to have multicast support. If your driver has any

    problem in multicast support (like lack of support, bug in multicast filter

    configuration, etc), then IPv6 does not work at all. If you see this kind of problem,

    please do send a bug report.

    NetBSD does not ship with getipnodebyname(3); nor getipnodebyaddr(3), as they are

    practically deprecated in the IPv6 basic API specification. They also lack support for

    the scoped nature of IPv6 address. Use getaddrinfo(3) and getnameinfo(3) instead.

    Where to ask questions

    If you have any questions, do not hesitate to ask on the tech-net mailing list, or

    [email protected]. When you ask about your configuration, be VERY sure to attach a network

    diagram for your site. Without a network diagram, nobody can guess your network

    configuration.

    19

    http://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?getaddrinfo+3+NetBSD-currenthttp://orange.kame.net/dev/cvsweb.cgi/kame/IMPLEMENTATIONhttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?inet6+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ip6+4+NetBSD-currenthttp://www.netbsd.org/support/send-pr.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?getaddrinfo+3+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?getnameinfo+3+NetBSD-currenthttp://www.ipv6.org/http://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?getaddrinfo+3+NetBSD-currenthttp://orange.kame.net/dev/cvsweb.cgi/kame/IMPLEMENTATIONhttp://netbsd.gw.com/cgi-bin/man-cgi?yp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?inet6+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ip6+4+NetBSD-currenthttp://www.netbsd.org/support/send-pr.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?getaddrinfo+3+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?getnameinfo+3+NetBSD-currenthttp://www.ipv6.org/
  • 8/3/2019 The Guide IPv6

    20/21

    Maintenance

    Monitoring activity - useful tools

    ifconfig(8) - configure and display network interface parameters

    route(8) - manipulate the routing tables

    ping6(8) - send ICMPv6 ECHO_REQUEST packets to network nodes

    traceroute6(8) - print the route that packets take to reach a network node

    net/tcpdump - selectively view traffic on a network interface

    netstat(1) - show network status

    ndp(8) - arp(8) lookalike for IPv6

    ifmcstat(8) - check kernel multicast group configuration

    systat(1) 'systat netstat' - dynamically display network connections

    IPv6 autoconfiguration

    rtadvd(8) - transmit router advertisements from router

    rtsold(8) - periodically send router solicitation, for use on hosts(5)

    rtsol(8) - send single router solicitation; for use on hosts

    Routing daemons

    route6d(8) - RIPng routing daemon, just like routed(8)

    net/pim6dd - PIMv6 dense mode multicast routing daemon

    net/pim6sd - PIMv6 sparse mode multicast routing daemon

    net/zebra - zebra routing daemon, supports RIPng, BGP4+, and OSPFv6

    IPv6-related pseudo interfaces

    faith(4) - IPv6-to-IPv4 TCP relay capturing interface, helps faithd(8)

    gif(4) - generic tunnel interface, which does IPv[46] over IPv[46]

    ifconfig(8) - configures gif(4) with "tunnel" subcommand

    stf(4) - 6to4 tunnel interface (RFC3056)

    See also:

    KAME project

    Userland applications

    The following programs in the base system are known to be IPv6-enabled: dig(1),

    finger(1), fstat(1), ftp(1), host(1), netstat(1), rlogin(1), rsh(1),

    20

    http://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?traceroute6+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/tcpdump/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?netstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?arp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifmcstat+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?systat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?routed+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/pim6dd/README.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/pim6sd/README.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/zebra/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faith+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?stf+4+NetBSD-currenthttp://www.kame.net/http://netbsd.gw.com/cgi-bin/man-cgi?dig+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?finger+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?fstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?host+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?netstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rlogin+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rsh+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?traceroute6+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/tcpdump/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?netstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?arp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifmcstat+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?systat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtadvd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsold+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?hosts+5+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rtsol+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?routed+8+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/pim6dd/README.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/pim6sd/README.htmlhttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/zebra/README.htmlhttp://netbsd.gw.com/cgi-bin/man-cgi?faith+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?gif+4+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?stf+4+NetBSD-currenthttp://www.kame.net/http://netbsd.gw.com/cgi-bin/man-cgi?dig+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?finger+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?fstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?host+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?netstat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rlogin+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rsh+1+NetBSD-current
  • 8/3/2019 The Guide IPv6

    21/21

    systat(1), telnet(1), tftp(1), whois(1), faithd(8), fingerd(8), ftpd(8),

    ifconfig(8), inetd(8), lpd(8) (and friends), mld6query(8), named(8), ndp(8),

    ping6(8), pppd(8), rdate(8), rip6query(8), rlogind(8), route6d(8), rshd(8),

    sendmail(8), syslogd(8), tcpdchk(8) (and friends), telnetd(8), tftpd(8),

    traceroute6(8), trpt(8), X(7) (X server and libraries) .

    RPC and NFS now support IPv6. An increasing number ofpackages are also ready for IPv6. If

    you want IPv6-ready third-party software, you may need to get an IPv6 patch for the

    software. There are collections of IPv6 patches on the net.

    See also:

    ftp://ftp.kame.net/pub/kame/misc/

    ipv6.org - This IPv6 Configuration Help site is owned byThe NetBSD Project.

    [ Previous | Next | Random Site | List Sites ]

    21

    http://netbsd.gw.com/cgi-bin/man-cgi?systat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?telnet+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tftp+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?whois+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?fingerd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ftpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?inetd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?lpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?mld6query+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?named+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?pppd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rdate+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rip6query+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rlogind+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rshd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?sendmail+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?syslogd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tcpdchk+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?telnetd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tftpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?traceroute6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?trpt+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?X+7+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/README-IPv6.htmlhttp://tmp/sv11f.tmp/ftp://ftp.kame.net/pub/kame/misc/http://www.ipv6.org/http://www.ipv6.euronet.be/webring/http://www.netbsd.org/http://go.webring.yahoo.com/go?ring=ipv6&id=3&prevhttp://go.webring.yahoo.com/go?ring=ipv6&id=3&nexthttp://go.webring.yahoo.com/go?ring=ipv6&id=3&randomhttp://nav.webring.yahoo.com/hub?ring=ipv6&listhttp://netbsd.gw.com/cgi-bin/man-cgi?systat+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?telnet+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tftp+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?whois+1+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?faithd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?fingerd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ftpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ifconfig+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?inetd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?lpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?mld6query+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?named+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ndp+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?ping6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?pppd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rdate+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rip6query+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rlogind+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?route6d+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?rshd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?sendmail+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?syslogd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tcpdchk+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?telnetd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?tftpd+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?traceroute6+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?trpt+8+NetBSD-currenthttp://netbsd.gw.com/cgi-bin/man-cgi?X+7+NetBSD-currenthttp://tmp/sv11f.tmp/ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/README-IPv6.htmlhttp://tmp/sv11f.tmp/ftp://ftp.kame.net/pub/kame/misc/http://www.ipv6.org/http://www.ipv6.euronet.be/webring/http://www.netbsd.org/http://go.webring.yahoo.com/go?ring=ipv6&id=3&prevhttp://go.webring.yahoo.com/go?ring=ipv6&id=3&nexthttp://go.webring.yahoo.com/go?ring=ipv6&id=3&randomhttp://nav.webring.yahoo.com/hub?ring=ipv6&list