mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
e2258f58fc
commit
c020963e88
|
@ -2816,7 +2816,7 @@ Describes how to set up MMBase on a Debian GNU/Linux (Woody) system. </Para>
|
|||
Mobile-IPv6-HOWTO</ULink>,
|
||||
<CiteTitle>Linux Mobile IPv6 HOWTO</CiteTitle>
|
||||
</Para><Para>
|
||||
<CiteTitle>Updated: Nov 2003</CiteTitle>.
|
||||
<CiteTitle>Updated: Dec 2003</CiteTitle>.
|
||||
Describes the software and procedures to set up and use
|
||||
mobile IPv6 for Linux. </Para>
|
||||
</ListItem>
|
||||
|
|
|
@ -512,7 +512,7 @@ applications to make them LDAP-aware. </Para>
|
|||
Mobile-IPv6-HOWTO</ULink>,
|
||||
<CiteTitle>Linux Mobile IPv6 HOWTO</CiteTitle>
|
||||
</Para><Para>
|
||||
<CiteTitle>Updated: Nov 2003</CiteTitle>.
|
||||
<CiteTitle>Updated: Dec 2003</CiteTitle>.
|
||||
Describes the software and procedures to set up and use
|
||||
mobile IPv6 for Linux. </Para>
|
||||
</ListItem>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://docbook.org/xml/4.2/docbookx.dtd" []>
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
|
||||
<!-- "DTD/docbookx.dtd" []> -->
|
||||
|
||||
<article>
|
||||
|
@ -22,10 +22,23 @@
|
|||
<authorinitials>LKS</authorinitials>
|
||||
|
||||
<!-- All dates specified in ISO "YYYY-MM-DD" format -->
|
||||
<pubdate>2003-11-22</pubdate>
|
||||
<pubdate>2003-12-07</pubdate>
|
||||
|
||||
<!-- Most recent revision goes at the top; list in descending order -->
|
||||
<revhistory>
|
||||
<revision>
|
||||
<revnumber>1.0</revnumber>
|
||||
<date>2003-12-02</date>
|
||||
<authorinitials>TMM</authorinitials>
|
||||
<revremark>Reviewed by LDP</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>0.7.2</revnumber>
|
||||
<date>2003-11-26</date>
|
||||
<authorinitials>LKS</authorinitials>
|
||||
<revremark>A lot of cleanup. Thanks to John Levon levon [at]
|
||||
movementarian.org</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>0.7.1</revnumber>
|
||||
<date>2003-11-22</date>
|
||||
|
@ -83,8 +96,8 @@
|
|||
This document describes the software and procedures to set up and
|
||||
use mobile IPv6 for Linux. The <ulink
|
||||
url="http://www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-24.txt">
|
||||
"draft-ietf-mipv6-ipv6-24"</ulink> answer the
|
||||
<emphasis>what</emphasis> and <emphasis>why</emphasis> mobile ip:
|
||||
"Mobility Support in IPv6" draft </ulink> answers the
|
||||
<emphasis>what</emphasis> and <emphasis>why</emphasis> of mobile IP:
|
||||
</para>
|
||||
|
||||
<!-- ################## -->
|
||||
|
@ -101,7 +114,7 @@
|
|||
to a mobile node's home address are transparently routed to its
|
||||
care-of address via the mobile nodes Home Agent (HA). The
|
||||
protocol enables IPv6 nodes to cache the binding of a mobile
|
||||
node's home address with its care-of address, and to then send any
|
||||
node's home address with its care-of address, and then to send any
|
||||
packets destined for the mobile node directly to it at this
|
||||
care-of address.</quote> --- draft-ietf-mipv6-24, page 1-2.
|
||||
</para>
|
||||
|
@ -129,7 +142,7 @@
|
|||
<para>
|
||||
For all the details, read the <ulink
|
||||
url="http://www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-24.txt">
|
||||
"draft-ietf-mipv6-ipv6-24"</ulink>
|
||||
"Mobility Support in IPv6" draft</ulink>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -154,32 +167,33 @@
|
|||
<para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para> The Mobile Node (MN) travel to a foreign network and gets a
|
||||
<para> The Mobile Node (MN) travels to a foreign network and gets a
|
||||
new care-of-address.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> MN performs a binding update to it's Home Agent (HA) (the
|
||||
new care-of-address gets registrated at HA). HA sends a binding
|
||||
acknowledge to MN.</para>
|
||||
<para> The MN performs a binding update to its Home Agent (HA) (the
|
||||
new care-of-address gets registered at HA). HA sends a binding
|
||||
acknowledgement to MN.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>A Correspondent Node (CN) want to contact MN. HA intercepts
|
||||
packets destined to MN.</para>
|
||||
<para>A Correspondent Node (CN) wants to contact the MN. The HA
|
||||
intercepts packets destined to the MN.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>HA then tunnels all packets to MN from CN using MN's
|
||||
care-of-address.</para>
|
||||
<para>The HA then tunnels all packets to the MN from the CN using
|
||||
MN's care-of-address.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>When MN answers CN, it may use it current care-of-address
|
||||
(and perform a binding to CN) and communicate with CN directly
|
||||
(optimized routing) or it can tunnel all it's packets through HA.</para>
|
||||
<para>When the MN answers the CN, it may use its current
|
||||
care-of-address (and perform a binding to the CN) and communicate
|
||||
with the CN directly (optimized routing) or it can tunnel all its
|
||||
packets through the HA.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
|
||||
<para>See figure <link linkend="mobileIP">"Mobile IP"</link> for
|
||||
explanation.
|
||||
an explanation.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -216,16 +230,16 @@ categories:
|
|||
</itemizedlist>
|
||||
|
||||
<para><emphasis>You should have basic knowledge of IPv6 stateless
|
||||
auto-configuring to fully understand how MIPv6 works. You can read
|
||||
up on IPv6 Stateless Address Autoconfiguration in
|
||||
<ulink
|
||||
auto-configuring to fully understand how 'mobile IPv6' (MIPv6)
|
||||
works. You can read up on IPv6 Stateless Address Autoconfiguration
|
||||
in <ulink
|
||||
url="http://www.ietf.org/rfc/rfc2462.txt">[RFC2462]</ulink>.
|
||||
</emphasis>
|
||||
</para>
|
||||
|
||||
<para>For more information on IPv6 in general, visit the the <ulink
|
||||
url="http://www.ietf.org/html.charters/ipv6-charter.html">IPv6
|
||||
Working Group (IETF)</ulink>.
|
||||
<para>For more information on IPv6 in general, visit the <ulink
|
||||
url="http://www.ietf.org/html.charters/ipv6-charter.html">IETF's IPv6
|
||||
Working Group</ulink>.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -235,37 +249,37 @@ Working Group (IETF)</ulink>.
|
|||
<sect1 id="MIPv6">
|
||||
<title>Mobile IPv6 for Linux</title>
|
||||
|
||||
<para>There are currently two Mobile IPv6 Linux implementation
|
||||
available. The Lancaster University in UK has the oldest(?)
|
||||
<para>There are currently two Mobile IPv6 Linux implementations
|
||||
available. The Lancaster University in the UK has the oldest(?)
|
||||
implementation (<ulink url="http://www.cs-ipv6.lancs.ac.uk/MobileIP/">
|
||||
http://www.cs-ipv6.lancs.ac.uk/MobileIP/</ulink>). The latest kernel
|
||||
supported is 2.1.90, and is compatible with IETF mobile IPv6 draft-v5
|
||||
(current is v24). The code and website has not been updated since
|
||||
1998, so it is considered obsolete. </para>
|
||||
(the current revision is v24). The code and website has not been
|
||||
updated since 1998, so it is considered obsolete. </para>
|
||||
|
||||
|
||||
<para>The other, and up-to-date, implementation is MIPL HUT (Helsinki
|
||||
University of Technology). The latest supported kernel is 2.4.22, and
|
||||
they have patches for the upcoming 2.6 kernel. Visit <ulink
|
||||
url="http://www.mipl.mediapoli.com/">
|
||||
<para>The other implementation, which is up-to-date, is Helsinki
|
||||
University of Technology's MIPL project. The latest supported
|
||||
kernel is 2.4.22, and they have patches for the upcoming 2.6
|
||||
kernel. Visit <ulink url="http://www.mipl.mediapoli.com/">
|
||||
http://www.mipl.mediapoli.com/</ulink> for papers, software or to
|
||||
browse the mail-archive. </para>
|
||||
browse the mail archive. </para>
|
||||
|
||||
<!-- ################## -->
|
||||
|
||||
<sect2 id="patch">
|
||||
<title>Patching the kernel</title>
|
||||
|
||||
<para>The MIPL MIPv6 require a kernel patch. The implementation
|
||||
modifies the IPv6 kernel stack, so a kernel recompile is
|
||||
necessary. The install process is well documented, but I will give a
|
||||
brief step-by-step howto. </para>
|
||||
<para>The MIPL MIPv6 implementation requires a kernel patch. The
|
||||
implementation modifies the IPv6 kernel stack, so a kernel recompile
|
||||
is necessary. The installation process is well documented, but I
|
||||
will give a brief step-by-step howto. </para>
|
||||
|
||||
<para><emphasis>NB! The need for two different kernels, one for Mobile
|
||||
Node (MN) and one for Home Agent (HA), is obsolete. Just compile
|
||||
support for MN and HA in the same kernel. The decision of
|
||||
functionality is made at the time of module loading, so you may not
|
||||
load both the modules at the same time.</emphasis></para>
|
||||
<para><emphasis>Please note! The need for two different kernels, one for MN and
|
||||
one for HA, is obsolete. Just compile support for MN and HA in the
|
||||
same kernel. It is not possible to run as both an MN and an HA at
|
||||
the same time; which mode is chosen depends on which of the modules
|
||||
are loaded.</emphasis>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<orderedlist>
|
||||
|
@ -275,7 +289,7 @@ browse the mail-archive. </para>
|
|||
<ulink url="http://www.mipl.mediapoli.com/">
|
||||
http://www.mipl.mediapoli.com</ulink>. The latest release today is:
|
||||
<emphasis>mipv6-1.0-v2.4.22</emphasis>. The last four numbers
|
||||
corresponds to the linux kernel the patch should be applied to:
|
||||
corresponds to the Linux kernel the patch should be applied to:
|
||||
</para>
|
||||
|
||||
<screen>
|
||||
|
@ -287,7 +301,8 @@ browse the mail-archive. </para>
|
|||
|
||||
<listitem>
|
||||
<para> Download and unpack the correspondent Linux kernel version
|
||||
from ftp.kernel.org: </para>
|
||||
from <ulink url="ftp://ftp.kernel.org">ftp.kernel.org</ulink>:
|
||||
</para>
|
||||
|
||||
<screen>
|
||||
# cd /usr/src
|
||||
|
@ -305,9 +320,10 @@ browse the mail-archive. </para>
|
|||
# patch -p1 --dry-run < /usr/local/src/mipv6-1.0-v2.4.22/mipv6-1.0-v2.4.22.patch
|
||||
</screen>
|
||||
|
||||
<para>This does not actually do anything but display errors if any. If you
|
||||
get any failed hunks, you should NOT proceed. If everything went fine
|
||||
do:</para>
|
||||
<para>The --dry-run option checks that the patch will apply
|
||||
correctly. If you get any failed hunks, you should
|
||||
<emphasis>not</emphasis> proceed. If everything went fine do:
|
||||
</para>
|
||||
|
||||
<screen>
|
||||
# patch -p1 < /usr/local/src/mipv6-1.0-v2.4.22/mipv6-1.0-v2.4.22.patch
|
||||
|
@ -316,9 +332,9 @@ browse the mail-archive. </para>
|
|||
|
||||
<listitem>
|
||||
<para> Now your kernel tree is ready for configuration. Run your
|
||||
favorite 'make *config'. The MIPv6 options are under "Networking
|
||||
Options". The following options should be present in
|
||||
<emphasis>".config"</emphasis>:</para>
|
||||
favorite <command>make *config</command>. The MIPv6 options are under
|
||||
<quote>Networking Options</quote>. The following options should be present in
|
||||
<emphasis><quote>.config</quote></emphasis>:</para>
|
||||
|
||||
<screen>
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
|
@ -337,27 +353,29 @@ browse the mail-archive. </para>
|
|||
CONFIG_IPV6_MOBILITY_HA=m
|
||||
</screen>
|
||||
|
||||
<para> Since MIPL is still work-in-progress you might want to
|
||||
enable this. With debug messages it is easier to figure out what
|
||||
happened when something goes wrong. Also when reporting a bug
|
||||
debug messages are very helpful:</para>
|
||||
<para> Since MIPL is still a work-in-progress you might want to
|
||||
enable:</para>
|
||||
|
||||
<screen>
|
||||
CONFIG_IPV6_MOBILITY_DEBUG=y
|
||||
</screen>
|
||||
|
||||
<para> With debug messages it is easier to figure out what
|
||||
happened when something goes wrong. Also, when reporting a bug,
|
||||
debug messages are very helpful:</para>
|
||||
|
||||
<para>To be sure you have all the correct options, you can run
|
||||
<userinput>chkconf_kernel.sh</userinput> which is a small shell
|
||||
script included in the MIPL.</para>
|
||||
<userinput>chkconf_kernel.sh</userinput>, which is a small shell
|
||||
script included in the MIPL tarball.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Next you should compile and install your kernel.</para>
|
||||
|
||||
<para> Hint: To easily distinguish this kernel from other
|
||||
kernels, you can change the "EXTRAVERSION" value in the
|
||||
kernels, you can change the <quote>EXTRAVERSION</quote> value in the
|
||||
<userinput>/usr/src/linux/Makefile</userinput> to
|
||||
f.ex. "-MIPv6-1".</para>
|
||||
for example <quote>-MIPv6-1</quote>.</para>
|
||||
|
||||
</listitem>
|
||||
|
||||
|
@ -390,9 +408,9 @@ browse the mail-archive. </para>
|
|||
<!-- ################## -->
|
||||
|
||||
<sect2 id="dev">
|
||||
<title>MIPv6 dev entry</title>
|
||||
<para>The MIPv6 module also need a new dev entry. Issue the
|
||||
command:</para>
|
||||
<title>MIPv6 device node</title>
|
||||
<para>The MIPv6 module also needs a new device node entry. Issue
|
||||
the command:</para>
|
||||
|
||||
<screen>
|
||||
# mknod /dev/mipv6_dev c 0xf9 0
|
||||
|
@ -406,28 +424,29 @@ browse the mail-archive. </para>
|
|||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para><emphasis>Redhat:</emphasis></para>
|
||||
<para>All init scripts are located in /etc/init.d/, which are
|
||||
symlinked to the correct runlevel (/etc/rcX.d/). You can issue
|
||||
the command:</para>
|
||||
<para><emphasis>Red Hat:</emphasis></para>
|
||||
<para>All init scripts are located in <filename>/etc/init.d/</filename>,
|
||||
which are sym-linked to the correct runlevel
|
||||
(<filename>/etc/rcX.d/</filename>). You can issue the command:</para>
|
||||
|
||||
<screen>
|
||||
# chkconfig --add mobile-ip6
|
||||
</screen>
|
||||
|
||||
<para>to enable at startup, or</para>
|
||||
<para>to enable MIPv6 at startup, or</para>
|
||||
|
||||
<screen>
|
||||
# chkconfig --del mobile-ip6
|
||||
</screen>
|
||||
|
||||
<para>to remove from startup.</para>
|
||||
<para>to remove MIPv6 from startup.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>Debian:</emphasis></para>
|
||||
|
||||
<para>If you are so lucky to be running Debian, you can issue the command:</para>
|
||||
<para>If you are so lucky to be running Debian, you can issue
|
||||
the command:</para>
|
||||
|
||||
<screen>
|
||||
# update-rc.d -n mobile-ip6 start 75 3 4 5 . stop 05 1 2 6 .
|
||||
|
@ -440,7 +459,8 @@ browse the mail-archive. </para>
|
|||
<para><emphasis>Slackware:</emphasis></para>
|
||||
|
||||
<para>Slackware users have all their startup/runlevel scripts in
|
||||
"/etc/rc.d". Since 'configure' doesn't check for "/etc/rc.d",
|
||||
<filename>/etc/rc.d</filename>. Since 'configure' doesn't check for
|
||||
<quote>/etc/rc.d</quote>,
|
||||
you can add <emphasis>INIT_SLACK="/etc/rc.d"</emphasis>, and then
|
||||
INIT_SLACK to INITDIRS in 'configure' (search for INITDIR in
|
||||
configure). Since you are running Slackware, you probably know
|
||||
|
@ -460,49 +480,48 @@ browse the mail-archive. </para>
|
|||
<!-- ##################################################### -->
|
||||
|
||||
<sect1 id="testbed">
|
||||
<title>Test-bed</title>
|
||||
<para>Now you should have a working mobile-kernel, installed userlevel tools
|
||||
and enabled automatic startup at boot. If anything went wrong, go
|
||||
through the above step carefully.</para>
|
||||
<title>Test bed</title>
|
||||
<para>Now you should have a working MIPL patched kernel, installed
|
||||
userlevel tools and enabled automatic startup at boot. If anything
|
||||
went wrong, go through the above sections carefully.</para>
|
||||
|
||||
<!-- ################## -->
|
||||
|
||||
<sect2 id="testcase">
|
||||
<title>Test-case</title>
|
||||
<para>The addresses we are using in our test-bed is site-local. <emphasis>Note
|
||||
that link local addresses won't work!</emphasis> Our test-bed consist of four
|
||||
nodes, see figure <link linkend="mipv6testbed">"Mobile IPv6
|
||||
testbed"</link>.</para>
|
||||
<title>Testcase</title>
|
||||
<para>The addresses we are using in our test-bed are
|
||||
site-local. <emphasis>Note that linking local addresses won't
|
||||
work!</emphasis> Our test-bed consist of four nodes; see figure
|
||||
<link linkend="mipv6testbed">"Mobile IPv6 testbed"</link>.</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para><emphasis>HA - Home Agent:</emphasis> The HA is located at the home
|
||||
network with address <userinput>fec0:106:2700::2</userinput>
|
||||
network with address <userinput>fec0:106:2700::2</userinput>,
|
||||
with one wireless interface.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>MN - Mobile Node:</emphasis> When MN is on the
|
||||
"home network", it has address
|
||||
<userinput>fec0:106:2700::4</userinput>. When MN travel to
|
||||
another network, it generates a new "care-of-address".</para>
|
||||
<quote>home network</quote>, it has address
|
||||
<userinput>fec0:106:2700::4</userinput>. When MN travels to
|
||||
another network, it generates a new <quote>care-of</quote> address.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>R - Router:</emphasis> This is the router from
|
||||
the home network to the internet. One wireless interface with
|
||||
the home network to the internet. It has one wireless interface with
|
||||
address <userinput>fec0:106:2700::1</userinput> and a wired
|
||||
interface with address
|
||||
<userinput>fec0:106:2300::2</userinput></para>
|
||||
interface with address <userinput>fec0:106:2300::2</userinput>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>AR - Access Router:</emphasis> The link
|
||||
between AR and R is our "internet" (but is actually only a
|
||||
cross-cable). The AR has two interface; the wired connected to
|
||||
R has address <userinput>fec0:106:2300::1</userinput>, the
|
||||
wireless has address
|
||||
<userinput>fec0:106:1100::1</userinput>.</para>
|
||||
between AR and R is our <quote>internet</quote> (but is actually only a
|
||||
cross-cable). The AR has two interfaces; the wired interface
|
||||
to R has address <userinput>fec0:106:2300::1</userinput>, the
|
||||
wireless has address <userinput>fec0:106:1100::1</userinput>.</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
@ -527,13 +546,13 @@ browse the mail-archive. </para>
|
|||
<!-- ############ -->
|
||||
<sect3 id="fullyipv6">
|
||||
<title>Fully functional IPv6 network</title>
|
||||
<para>Before we can start testing mobile ip, we need a fully
|
||||
functional ipv6 network. All the nodes should be able to ping
|
||||
each other! This is a crucial part. If for example AR is not
|
||||
able to ping HA, then there will be no binding update!</para>
|
||||
<para>Before we can start testing mobile IP, we need a fully
|
||||
functional IPv6 network. All the nodes should be able to ping
|
||||
each other. This is a crucial part. If, for example, AR is not
|
||||
able to ping HA, then there will be no binding update.</para>
|
||||
|
||||
<para>I will give a brief instruction to get our network up and
|
||||
running using IPv6. For more info on setting up a IPv6 network,
|
||||
running using IPv6. For more info on setting up an IPv6 network,
|
||||
you can read Peter Bieringer's excellent <ulink
|
||||
url="http://ldp.linux.no/HOWTO/Linux+IPv6-HOWTO/">Linux IPv6
|
||||
HOWTO</ulink>.</para>
|
||||
|
@ -542,8 +561,8 @@ browse the mail-archive. </para>
|
|||
should ALWAYS use encryption when dealing with wireless
|
||||
networks!</emphasis></para>
|
||||
|
||||
<para><emphasis>Also note that the different wireless network
|
||||
have different ESSID's!</emphasis></para>
|
||||
<para><emphasis>Also note that the different wireless networks
|
||||
have different ESSIDs!</emphasis></para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -569,7 +588,7 @@ browse the mail-archive. </para>
|
|||
wireless interface. It should have forwarding turned on
|
||||
because it uses normal routing to deliver packets captured
|
||||
from a physical interface to the virtual tunnel
|
||||
interface. <emphasis>NB! You must add a default route or else
|
||||
interface. <emphasis>Note: You must add a default route or else
|
||||
HA will have problem contacting the MN. One possible solution
|
||||
is to have HA as the default router of the home network.</emphasis></para>
|
||||
|
||||
|
@ -603,7 +622,7 @@ browse the mail-archive. </para>
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>AR:</emphasis> The Access Router (on foregin
|
||||
<para><emphasis>AR:</emphasis> The Access Router (on a foreign
|
||||
network) also has two interfaces, one wireless and one
|
||||
line. Forwarding must be turned on.</para>
|
||||
|
||||
|
@ -632,11 +651,11 @@ browse the mail-archive. </para>
|
|||
<title>Configuring radvd on AR</title>
|
||||
|
||||
<para>When MN comes to a new network, it does a link-local address
|
||||
configuration, if that succeeds it goes to next phase. I'll let
|
||||
configuration, going to the next phase if that succeeds. I'll let
|
||||
<ulink
|
||||
url="http://www.ietf.org/rfc/rfc2462.txt">[RFC2462]</ulink>
|
||||
(IPv6 Stateless Address Autoconfiguration) describe the next
|
||||
fase:</para>
|
||||
phase:</para>
|
||||
|
||||
<para>
|
||||
<quote>The next phase of autoconfiguration involves obtaining a Router
|
||||
|
@ -660,7 +679,7 @@ browse the mail-archive. </para>
|
|||
Autoconfiguration.</para>
|
||||
|
||||
<para>We'll configure RADVD on AR's wireless interface. The
|
||||
radvd.conf file should contain this:</para>
|
||||
<filename>radvd.conf</filename> file should contain this:</para>
|
||||
|
||||
<screen>
|
||||
# cat /etc/radvd.conf
|
||||
|
@ -718,7 +737,7 @@ browse the mail-archive. </para>
|
|||
<para>
|
||||
To enable the MN to know when it's home, HA should also be sending
|
||||
out RAs. We should therefore enable RADVD on the HA as well. The
|
||||
<emphasis>/etc/radvd.conf</emphasis> should contain:
|
||||
<filename>/etc/radvd.conf</filename> file should contain:
|
||||
</para>
|
||||
|
||||
<screen>
|
||||
|
@ -744,7 +763,7 @@ browse the mail-archive. </para>
|
|||
};
|
||||
</screen>
|
||||
|
||||
<para><emphasis>To be completed</emphasis></para>
|
||||
<para><emphasis>To be completed</emphasis>.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
|
@ -752,9 +771,9 @@ browse the mail-archive. </para>
|
|||
<sect3 id="confmipv6">
|
||||
<title>Configuring MIPv6</title>
|
||||
<para>The last configuration is MIPv6 settings in
|
||||
<emphasis>network-mip6.conf</emphasis>. In RedHat the file is
|
||||
<filename>network-mip6.conf</filename>. In RedHat the file is
|
||||
found under
|
||||
<emphasis>/etc/sysconfig/network-mip6.conf</emphasis>. The file
|
||||
<filename>/etc/sysconfig/network-mip6.conf</filename>. The file
|
||||
should be pretty self-explanatory. </para>
|
||||
|
||||
<screen>
|
||||
|
@ -786,13 +805,13 @@ browse the mail-archive. </para>
|
|||
# /etc/init.d/mobile-ip6 start
|
||||
</screen>
|
||||
|
||||
<para>You can verify that it started by doing a:</para>
|
||||
<para>You can verify that it started by doing:</para>
|
||||
|
||||
<screen>
|
||||
# ifconfig
|
||||
</screen>
|
||||
|
||||
<para>If a tunnel get up, 'ip6tnl1'; mobile-ip6 is started.</para>
|
||||
<para>If a tunnel comes up <varname>ip6tnl1</varname>, mobile-ip6 is started.</para>
|
||||
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
@ -805,10 +824,10 @@ browse the mail-archive. </para>
|
|||
|
||||
<sect2 id="pretest">
|
||||
<title>Pre-test</title>
|
||||
<para>Do every configuration as shown above, especially important is
|
||||
to have different ESSID on the home net and visited network. </para>
|
||||
<para>Do every configuration as shown above; it's especially important
|
||||
to have a different ESSID on the home net and visited network. </para>
|
||||
|
||||
<para>When you start mobile-ipv6 on MN, you will see it
|
||||
<para>When you start mobile-IPv6 on MN, you will see
|
||||
multicasting router solicitations messages:</para>
|
||||
|
||||
<screen>
|
||||
|
@ -838,7 +857,7 @@ browse the mail-archive. </para>
|
|||
discover a new default router (usually on a new link).</para>
|
||||
|
||||
<para> To easily see whats going on, you should have one xterm
|
||||
window for each of this commands: </para>
|
||||
window for each of these commands: </para>
|
||||
|
||||
<screen>
|
||||
# watch ifconfig eth0
|
||||
|
@ -853,10 +872,11 @@ browse the mail-archive. </para>
|
|||
</screen>
|
||||
|
||||
<para>The MN is the on the other wireless network, and since it is
|
||||
sending out "router solicitation" (multicast), our AR will
|
||||
sending out <quote>router solicitation</quote> (multicast), our AR will
|
||||
respond with it's prefix. MN will then configure itself with at new
|
||||
IPv6 address with the received prefix and it's own MAC address. If
|
||||
you do a 'ifconfig eth0' you will see the new ipv6 address:</para>
|
||||
you type <command>ifconfig eth0</command> you will see the new IPv6
|
||||
address:</para>
|
||||
|
||||
<screen>
|
||||
# ifconfig eth0
|
||||
|
@ -877,18 +897,18 @@ browse the mail-archive. </para>
|
|||
<para>The link-local address generated at boot</para>
|
||||
</callout>
|
||||
<callout arearefs="newaddr">
|
||||
<para>The new 'foregin' address, generated by combining AR's
|
||||
<para>The new <quote>foriegn</quote> address, generated by combining AR's
|
||||
prefix and MAC-address</para>
|
||||
</callout>
|
||||
<callout arearefs="oldaddr">
|
||||
<para>The 'old' (home) address</para>
|
||||
<para>The <quote>old</quote> (home) address</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
|
||||
<para>Almost at the same time, the MN will perform a binding update
|
||||
to HA. In your tcpdump window, you will see several packets
|
||||
destined to HA. To verify that the binding update has been sent and
|
||||
acknowledged from MN. Do a:</para>
|
||||
acknowledged from MN:</para>
|
||||
|
||||
<screen>
|
||||
# mipdiag -s
|
||||
|
@ -951,7 +971,7 @@ browse the mail-archive. </para>
|
|||
<title>ping6</title>
|
||||
|
||||
<para>From the MN, you can try to ping AR's eth1
|
||||
(fec0:106:1100::1)</para>
|
||||
(fec0:106:1100::1):</para>
|
||||
|
||||
<screen>
|
||||
# ping6 fec0:106:1100::1
|
||||
|
@ -975,7 +995,7 @@ browse the mail-archive. </para>
|
|||
|
||||
<calloutlist>
|
||||
<callout arearefs="mntoha">
|
||||
<para>The packet goes first from MN to the HA using MN new
|
||||
<para>The packet first goes from MN to the HA using MN new
|
||||
IPv6 address.</para>
|
||||
</callout>
|
||||
<callout arearefs="hatocr">
|
||||
|
@ -1002,8 +1022,8 @@ browse the mail-archive. </para>
|
|||
|
||||
<sect2 id="routeTable">
|
||||
<title>Kernel IP routing table</title>
|
||||
<para>One interesting thing the mipv6 do, is change the default route to
|
||||
a tunnel. The new default route become:</para>
|
||||
<para>One interesting thing MIPv6 does is change the default route to
|
||||
a tunnel. The new default route becomes:</para>
|
||||
|
||||
<screen>
|
||||
# route -A inet6
|
||||
|
@ -1034,20 +1054,20 @@ browse the mail-archive. </para>
|
|||
|
||||
<sect2 id="realLife">
|
||||
<title>Real life testing - smooth handover</title>
|
||||
<para>To really get the feel on how mobile IP works, fire up gnomemeeting
|
||||
(See figure gnomemeeting and start a netmeeting. NB! You must use
|
||||
the latest gnomemeeting to get support for IPv6! The do a "travel"
|
||||
and you can see a (almost) smooth handover.</para>
|
||||
<para>To really get the feel on how mobile IP works, fire up GnomeMeeting
|
||||
(See the figure GnomeMeeting and start a netmeeting. Note! You must use
|
||||
the latest GnomeMeeting to get support for IPv6! Then do a <quote>travel</quote>
|
||||
and you can see an almost smooth handover.</para>
|
||||
|
||||
<mediaobject id="gnomemeeting">
|
||||
<imageobject>
|
||||
<imagedata fileref="images/gnomemeeting1.png" format="PNG" align="center" scalefit="0"/>
|
||||
</imageobject>
|
||||
<textobject>
|
||||
<phrase>Gnomemeeting</phrase>
|
||||
<phrase>GnomeMeeting</phrase>
|
||||
</textobject>
|
||||
<caption>
|
||||
<para>Using gnomemeeting with IPv6 to test roaming between two
|
||||
<para>Using GnomeMeeting with IPv6 to test roaming between two
|
||||
wireless networks</para>
|
||||
</caption>
|
||||
</mediaobject>
|
||||
|
@ -1063,11 +1083,11 @@ browse the mail-archive. </para>
|
|||
<orderedlist>
|
||||
<listitem>
|
||||
<para><emphasis>Q: Why do we have to create the
|
||||
/dev/mipv6_dev entry?</emphasis></para>
|
||||
<filename>/dev/mipv6_dev</filename> entry?</emphasis></para>
|
||||
|
||||
<para>A: The dev file is mainly so that the userspace tool,
|
||||
mipdiag, can make modifications to the kernel parameters using
|
||||
ioctl calls through the device file. 'mknod' creates the special
|
||||
ioctl calls through the device file. <command>mknod</command> creates the special
|
||||
device file with paramters recognizable by the mobile-ip6
|
||||
module.</para>
|
||||
</listitem>
|
||||
|
@ -1077,7 +1097,7 @@ browse the mail-archive. </para>
|
|||
IPSec?</emphasis></para>
|
||||
|
||||
<para>A: There is no support IPSec on 2.4.x. MIPL for 2.6 series will
|
||||
have IPSec support from the start. You may use a 3rd. party IPSec
|
||||
have IPSec support from the start. You may use a third-party IPSec
|
||||
implementation.</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -1092,21 +1112,21 @@ browse the mail-archive. </para>
|
|||
<userinput>/proc/sys/conf/net/ipv6/mobility/accept_return_routability</userinput>
|
||||
</para>
|
||||
|
||||
<para>Set it to 0 with</para>
|
||||
<para>If you do not want to use return routability and route optimization,
|
||||
set it to 0 with:</para>
|
||||
|
||||
<para>
|
||||
<userinput># echo 0 >
|
||||
/proc/sys/..../accept_return_routability</userinput>
|
||||
</para>
|
||||
|
||||
<para>if you do not want to use return routability and route
|
||||
optimization. Then MN will communicate with CNs only through the
|
||||
<para> Then MN will communicate with CNs only through the
|
||||
home tunnel.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>Q: Can different wireless network
|
||||
have different ESSIDs / WEP keys?</emphasis></para>
|
||||
<para><emphasis>Q: Can different wireless networks
|
||||
have different ESSIDs/WEP keys?</emphasis></para>
|
||||
|
||||
<para>A: Yes, but you must change this upon arrival to the new
|
||||
network. MIPv6 from MIPL can't do this automatically.</para>
|
||||
|
@ -1114,11 +1134,11 @@ browse the mail-archive. </para>
|
|||
|
||||
<listitem>
|
||||
<para><emphasis>Q: Host B has two interfaces with two
|
||||
different subnet assigned. When I ping B from host A, it does
|
||||
not answer! Why doesn't it do that? Host A know where host B
|
||||
(subnet) are!</emphasis></para>
|
||||
different subnets assigned. When I ping B from host A, it does
|
||||
not answer! Why not? Host A knows where host B
|
||||
(subnets) are!</emphasis></para>
|
||||
|
||||
<para>A: The host B doesn't know where host A are (B doesn't
|
||||
<para>A: The host B doesn't know where host A is (B doesn't
|
||||
know where A's net is), so you must add a route
|
||||
entry:</para>
|
||||
|
||||
|
@ -1134,11 +1154,11 @@ browse the mail-archive. </para>
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>Q: How do I set default gateway in
|
||||
ipv6?</emphasis></para>
|
||||
<para><emphasis>Q: How do I set a default gateway in
|
||||
IPv6?</emphasis></para>
|
||||
|
||||
<para>A: You do that using the traditional ``route'' or the newer ``ip''
|
||||
command:</para>
|
||||
<para>A: You do that using the traditional <quote>route</quote> or the newer
|
||||
<quote>IP</quote> command:</para>
|
||||
|
||||
<para><userinput>
|
||||
# ip route ::/0 via <ipv6-host>
|
||||
|
@ -1151,21 +1171,22 @@ browse the mail-archive. </para>
|
|||
address rather than an anycast address, requesting for router
|
||||
solicitation?</emphasis></para>
|
||||
|
||||
<para>A: Because the host wants an answer from every routers, not from any
|
||||
router. The idea is to be able to get all parameters and to choice
|
||||
the "best" default router.</para>
|
||||
<para>A: Because the host wants an answer from every router, not from just any
|
||||
router. The idea is to be able to get all parameters and to choose
|
||||
the <quote>best</quote> default router.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>Q: Why doesn't MN notice that it has
|
||||
moved?</emphasis></para>
|
||||
|
||||
<para>A: It thinks that its previous router is still reachable. This may
|
||||
<para>A: It thinks that it's previous router is still reachable. This may
|
||||
result from very large lifetimes in router advertisements. Check the
|
||||
configuration of the program sending router advertisements in the
|
||||
routers. If the program supports router advertisement interval, you
|
||||
can use it to help MN in movement detection by setting the use of
|
||||
interval to on. See man radvd.conf for details.</para>
|
||||
router. If the program supports router advertisement intervals, you
|
||||
can use this to help MN in movement detection by setting the use of
|
||||
interval to <option>on</option>. See <command>man radvd.conf</command> for
|
||||
details.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
|
@ -1253,7 +1274,7 @@ browse the mail-archive. </para>
|
|||
<sect2 id="copyright">
|
||||
<title>Copyright and License</title>
|
||||
<para>
|
||||
Copyright (c) 2003 by Lars Strand. This material may
|
||||
Copyright © 2003 by Lars Strand. This material may
|
||||
be distributed only subject to the terms and conditions set forth
|
||||
in the Open Publication License, v1.0 or later (the latest version
|
||||
is presently available at <ulink
|
||||
|
@ -1338,3 +1359,4 @@ browse the mail-archive. </para>
|
|||
|
||||
</article>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue