This commit is contained in:
gferg 2004-02-04 13:46:24 +00:00
parent 9a13880bb1
commit f26ad22677
6 changed files with 471 additions and 142 deletions

View File

@ -2805,7 +2805,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: Dec 2003</CiteTitle>.
<CiteTitle>Updated: Feb 2004</CiteTitle>.
Describes the software and procedures to set up and use
mobile IPv6 for Linux. </Para>
</ListItem>

View File

@ -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: Dec 2003</CiteTitle>.
<CiteTitle>Updated: Feb 2004</CiteTitle>.
Describes the software and procedures to set up and use
mobile IPv6 for Linux. </Para>
</ListItem>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
<!-- "DTD/docbookx.dtd" []> -->
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
<!-- "DTD/docbookx.dtd" []> -->
<article>
<articleinfo>
@ -22,10 +22,17 @@
<authorinitials>LKS</authorinitials>
<!-- All dates specified in ISO "YYYY-MM-DD" format -->
<pubdate>2003-12-07</pubdate>
<pubdate>2004-02-04</pubdate>
<!-- Most recent revision goes at the top; list in descending order -->
<revhistory>
<revision>
<revnumber>1.1</revnumber>
<date>2004-02-04</date>
<authorinitials>LKS</authorinitials>
<revremark>Added "Travelling through several foregin LAN's"
and "Returning home". Some cleanup and restructuring.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>2003-12-02</date>
@ -33,14 +40,14 @@
<revremark>Reviewed by LDP</revremark>
</revision>
<revision>
<revnumber>0.7.2</revnumber>
<revnumber>0.5.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>
<revnumber>0.5.1</revnumber>
<date>2003-11-22</date>
<authorinitials>LKS</authorinitials>
<revremark>Changed the license from <ulink
@ -51,26 +58,26 @@
problems.</ulink></revremark>
</revision>
<revision>
<revnumber>0.7</revnumber>
<revnumber>0.5</revnumber>
<date>2003-11-18</date>
<authorinitials>LKS</authorinitials>
<revremark>Converted to XML Docbook. Some cleanup.</revremark>
</revision>
<revision>
<revnumber>0.6</revnumber>
<revnumber>0.4</revnumber>
<date>2002-11-07</date>
<authorinitials>LKS</authorinitials>
<revremark>Fixed some errors + update. Thanks to Henrik Petander
petander (at) tcs hut fi.</revremark>
</revision>
<revision>
<revnumber>0.5.1</revnumber>
<revnumber>0.3.1</revnumber>
<date>2003-11-03</date>
<authorinitials>LKS</authorinitials>
<revremark>Updated to MIPL relase 1.0 (kernel 2.4.22).</revremark>
</revision>
<revision>
<revnumber>0.5</revnumber>
<revnumber>0.3</revnumber>
<date>2003-08-05</date>
<authorinitials>LKS</authorinitials>
<revremark>Initial release.</revremark>
@ -154,7 +161,8 @@
<mediaobject id="mobileIP">
<imageobject>
<imagedata fileref="images/Mobile-IP.png" format="PNG" align="center" scalefit="0"/>
<imagedata fileref="images/Mobile-IP.png" format="PNG"
width="520" align="center" scalefit="1"/>
</imageobject>
<textobject>
<phrase>Mobile IP</phrase>
@ -260,9 +268,10 @@ updated since 1998, so it is considered obsolete. </para>
<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/">
kernel (see the FAQ). 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>
<!-- ################## -->
@ -362,7 +371,7 @@ browse the mail archive. </para>
<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>
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
@ -373,9 +382,9 @@ browse the mail archive. </para>
<para> Next you should compile and install your kernel.</para>
<para> Hint: To easily distinguish this kernel from other
kernels, you can change the <quote>EXTRAVERSION</quote> value in the
<userinput>/usr/src/linux/Makefile</userinput> to
for example <quote>-MIPv6-1</quote>.</para>
kernels, you can change the <quote>EXTRAVERSION</quote> variable
in the <userinput>/usr/src/linux/Makefile</userinput> to for
example <quote>-MIPv6-1</quote>.</para>
</listitem>
@ -470,6 +479,10 @@ browse the mail archive. </para>
<screen>
# echo '/etc/rc.d/mobile-ip6 start' >> /etc/rc.d/rc.local
</screen>
<para>If you don't hack the Makefile, the
<filename>mobile-ip6</filename> script is installed at '/' (you
may then move it to /etc/rc.d/).</para>
</listitem>
</orderedlist>
@ -490,8 +503,9 @@ browse the mail archive. </para>
<sect2 id="testcase">
<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
site-local. You may as well use global addresses, but do
<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>
<orderedlist>
@ -518,17 +532,19 @@ browse the mail archive. </para>
<listitem>
<para><emphasis>AR - Access Router:</emphasis> The link
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>
between AR and R is our <quote>internet</quote> - but in this
testcase only a cross-cable (can be any network). 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>
<mediaobject id="mipv6testbed">
<imageobject>
<imagedata fileref="images/mipv6-testbed.png" format="PNG" align="center" scalefit="0"/>
<imagedata fileref="images/mipv6-testbed.png" format="PNG"
width="550px" align="center" scalefit="1"/>
</imageobject>
<textobject>
<phrase>Mobile IPv6 testbed</phrase>
@ -541,15 +557,16 @@ browse the mail archive. </para>
<!-- ################## -->
<sect2 id="stepbystep">
<title>Step-by-step</title>
<title>Step-by-step configuration</title>
<!-- ############ -->
<sect3 id="fullyipv6">
<title>Fully functional IPv6 network</title>
<title>Setting up a 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>
each other. <emphasis>This is a crucial part.</emphasis> 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 an IPv6 network,
@ -577,8 +594,7 @@ browse the mail archive. </para>
# echo "1" > /proc/sys/net/ipv6/conf/eth0/autoconf
# echo "1" > /proc/sys/net/ipv6/conf/eth0/accept_ra
# echo "1" > /proc/sys/net/ipv6/conf/eth0/accept_redirects
# /etc/init.d/mobile-ipv6 start
# ip route add ::/0 via fec0:106:2700::1
# /etc/init.d/mobile-ip6 start
</screen>
</listitem>
@ -589,8 +605,9 @@ browse the mail archive. </para>
because it uses normal routing to deliver packets captured
from a physical interface to the virtual tunnel
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>
HA will have problem contacting the MN on visited LAN's. One
possible solution is to use HA as the default router of the
home network.</emphasis></para>
<screen>
# iwconfig eth0 mode ad-hoc essid homenet enc off
@ -600,14 +617,14 @@ browse the mail archive. </para>
# echo "0" > /proc/sys/net/ipv6/conf/eth0/accept_ra
# echo "0" > /proc/sys/net/ipv6/conf/eth0/accept_redirects
# ip route add ::/0 via fec0:106:2700::1
# /etc/init.d/mobile-ipv6 start
# /etc/init.d/mobile-ip6 start
</screen>
</listitem>
<listitem>
<para><emphasis>R:</emphasis> The (home) Router has two
interfaces, one wireless and one line. The Router must have
forwarding turned on.</para>
interfaces; one wireless and one line. The Router must have
forwarding turned on. </para>
<screen>
# ifconfig eth0 inet6 add fec0:106:2300::2/64
@ -623,7 +640,7 @@ browse the mail archive. </para>
<listitem>
<para><emphasis>AR:</emphasis> The Access Router (on a foreign
network) also has two interfaces, one wireless and one
network) also has two interfaces; one wireless and one
line. Forwarding must be turned on.</para>
<screen>
@ -646,6 +663,122 @@ browse the mail archive. </para>
should now be able to ping all the hosts from every host.</para>
</sect3>
<!-- ############ -->
<sect3 id="confmipv6">
<title>Configuring Mobile IPv6</title>
<para>The last configuration is MIPv6 settings in
<filename>network-mip6.conf</filename>. In Debian/Slackware the
file is found under <filename>/etc/</filename>. (RedHat the file
is found under <filename>/etc/sysconfig/</filename>.) The file
should be pretty self-explanatory. </para>
<orderedlist>
<listitem>
<para><emphasis>HA:</emphasis> The HA config file should
contain these settings:</para>
<screen>
# cat /etc/network-mip6.conf
# Home Agent configuration file
FUNCTIONALITY=ha
DEBUGLEVEL=1
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=5
TUNNEL_SITELOCAL=yes
</screen>
</listitem>
<listitem>
<para><emphasis>MN:</emphasis> The MN config file should
look like this:</para>
<screen>
# cat /etc/network-mip6.conf
# Mobile Node configuration file
FUNCTIONALITY=mn
DEBUGLEVEL=1
TUNNEL_SITELOCAL=yes
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=3
HOMEDEV=mip6mnha1
HOMEADDRESS=fec0:106:2700::4/64 # MN's home adress
HOMEAGENT=fec0:106:2700::2/64 # HA's address
</screen>
</listitem>
<listitem>
<para>Next, start mobile-IP:</para>
<screen>
# /etc/init.d/mobile-ip6 start
Starting Mobile IPv6: OK
</screen>
</listitem>
</orderedlist>
<para>You can verify that it started by doing a
<userinput>ifconfig</userinput> on HA. If the tunnel(s) comes up,
<varname>ip6tnl1</varname>, mobile-ip6 is started:</para>
<screen>
# ifconfig
eth1 Link encap:Ethernet HWaddr 00:02:2D:2D:DE:79
inet6 addr: fec0:106:2700::2/64 Scope:Site
inet6 addr: fe80::202:2dff:fe2d:de79/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:618 errors:6 dropped:6 overruns:0 frame:6
TX packets:1485 errors:22 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:87914 (85.8 KiB) TX bytes:252596 (246.6 KiB)
Interrupt:3 Base address:0x100
ip6tnl1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 <co id="tunnel1"/>
UP POINTOPOINT RUNNING NOARP MTU:1460 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:576 (576.0 b) TX bytes:624 (624.0 b)
ip6tnl2 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 <co id="tunnel2"/>
UP RUNNING NOARP MTU:1460 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
</screen>
<calloutlist>
<callout arearefs="tunnel1">
<para>The tunnel is up and ready for connections.</para>
</callout>
<callout arearefs="tunnel2">
<para>Another tunnel ready.</para>
</callout>
</calloutlist>
<para>You will also see the mipv6 kernel modules are loaded (MN):</para>
<screen>
# lsmod
Module Size Used by Not tainted
mip6_mn 59888 0 (unused)
ipv6_tunnel 11448 1 [mip6_mn]
mip6_base 40728 0 [mip6_mn]
ipv6 179764 -1 [mip6_mn ipv6_tunnel mip6_base]
...
</screen>
</sect3>
<!-- ############ -->
<sect3 id="ARradvd">
<title>Configuring radvd on AR</title>
@ -671,7 +804,8 @@ browse the mail archive. </para>
obtain an advertisement quickly, a host sends one or more Router
Solicitations to the all-routers multicast group.</quote> --- page 8</para>
<para>This is where we use RADVD.</para>
<para>This is where we use
<ulink url="http://v6web.litech.org/radvd/">RADVD</ulink>.</para>
<para>Read <ulink
url="http://www.ietf.org/rfc/rfc2462.txt">[RFC2462]</ulink>
@ -683,23 +817,24 @@ browse the mail archive. </para>
<screen>
# cat /etc/radvd.conf
interface eth1
{
interface eth1
{
AdvSendAdvert on;
AdvIntervalOpt on;
AdvIntervalOpt on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
prefix fec0:106:1100::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
prefix fec0:106:1100::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
</screen>
<para>We then start it:</para>
<screen>
@ -729,8 +864,14 @@ browse the mail archive. </para>
AdvSourceLLAddress: 00 02 2D 54 D1 B2
</screen>
<para><emphasis>Note! When using radvd on HA and enabling
<quote>autoconf</quote> (in proc), you will also get an
autogenerated IPv6 address on MN (which is superfluous) in
addition to your static address:</emphasis></para>
</sect3>
<!-- ############ -->
<sect3 id="radvdar">
<title>Configuring radvd on HA</title>
@ -742,11 +883,11 @@ browse the mail archive. </para>
<screen>
# cat /etc/radvd.conf
interface eth1
interface eth0
{
AdvSendAdvert on;
MaxRtrAdvInterval 3;
MinRtrAdvInterval 1;
MinRtrAdvInterval 1;
AdvIntervalOpt off;
AdvHomeAgentFlag on;
HomeAgentLifetime 10000;
@ -763,57 +904,64 @@ browse the mail archive. </para>
};
</screen>
<para><emphasis>To be completed</emphasis>.</para>
<para>Also do a <userinput>radvdump</userinput> on HA to check
whether radvd messages are beeing sent:</para>
<screen>
# radvdump
Router advertisement from fe80::202:2dff:fe54:d11e (hoplimit 255)
Received by interface eth0
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvCurHopLimit: 64
AdvManagedFlag: off
AdvOtherConfigFlag: off
AdvHomeAgentFlag: on
AdvReachableTime: 0
AdvRetransTimer: 0
Prefix fec0:106:2700::2/64
AdvValidLifetime: 12000
AdvPreferredLifetime: 10000
AdvOnLink: on
AdvAutonomous: on
AdvRouterAddr: on
AdvSourceLLAddress: 00 02 2D 54 D1 1E
AdvHomeAgentInfo:
HomeAgentPreference: 20
HomeAgentLifetime: 1000
</screen>
<screen>
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:90:7D:F3:03:1A
inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site <co id="newaddress"/>
inet6 addr: fec0:106:2700::4/64 Scope:Site <co id="staticadr"/>
inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link <co id="linkaddrs"/>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:513 errors:89 dropped:89 overruns:0 frame:85
TX packets:140 errors:41 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:56084 (54.7 Kb) TX bytes:19212 (18.7 Kb)
Interrupt:3 Base address:0x100
</screen>
<calloutlist>
<callout arearefs="newaddress">
<para>A new (superfluous) autogenerated address. Since we are
setting <userinput>autoconf</userinput> in
<userinput>/proc/sys/net/ipv6/conf/eth0/autoconf</userinput>
to <userinput>1</userinput>, MN will generate a new adress
combined with HA's prefix and it's own MAC address. I do not
think is it possible to avoid having this address generated.</para>
</callout>
<callout arearefs="staticadr">
<para>Our original static IPv6 address</para>
</callout>
<callout arearefs="linkaddrs">
<para>The link-local address generated at boot.</para>
</callout>
</calloutlist>
</sect3>
<!-- ############ -->
<sect3 id="confmipv6">
<title>Configuring MIPv6</title>
<para>The last configuration is MIPv6 settings in
<filename>network-mip6.conf</filename>. In RedHat the file is
found under
<filename>/etc/sysconfig/network-mip6.conf</filename>. The file
should be pretty self-explanatory. </para>
<screen>
# cat /etc/sysconfig/network-mip6.conf
# Home Agent configuration file
FUNCTIONALITY=ha
DEBUGLEVEL=1
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=5
TUNNEL_SITELOCAL=yes
# cat /etc/sysconfig/network-mip6.conf
# Mobile Node configuration file
FUNCTIONALITY=mn
DEBUGLEVEL=1
TUNNEL_SITELOCAL=yes
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=3
HOMEDEV=mip6mnha1
HOMEADDRESS=fec0:106:2700::4/64 # MN home adress
HOMEAGENT=fec0:106:2700::2/64 # HA's address
</screen>
<para>Next, start mobile-IP:</para>
<screen>
# /etc/init.d/mobile-ip6 start
</screen>
<para>You can verify that it started by doing:</para>
<screen>
# ifconfig
</screen>
<para>If a tunnel comes up <varname>ip6tnl1</varname>, mobile-ip6 is started.</para>
</sect3>
</sect2>
</sect1>
@ -865,13 +1013,14 @@ browse the mail archive. </para>
# tcpdump -i eth0 -vv ip6 or proto ipv6
</screen>
<para>To travel to another net, you can issue the command on MN:</para>
<para>To <quote>travel</quote> to another net, you can issue the
command on MN:</para>
<screen>
# iwconfig eth1 essid visitnet
</screen>
<para>The MN is the on the other wireless network, and since it is
<para>The MN is then on the other wireless network, and since it is
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
@ -879,30 +1028,36 @@ browse the mail archive. </para>
address:</para>
<screen>
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:02:A5:6F:A0:8A
inet addr:192.168.100.134 Bcast:255.255.255.255 Mask:255.255.255.255
inet6 addr: fe80::202:a5ff:fe6f:a08a/10 Scope:Link <co id="linkaddr"/>
inet6 addr: fec0:106:1100:0:202:a5ff:fe6f:a08a/64 Scope:Site <co id="newaddr"/>
inet6 addr: fec0:106:2700::4/64 Scope:Site <co id="oldaddr"/>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:65 errors:44 dropped:0 overruns:0 frame:44
TX packets:134 errors:5 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:5528 (5.3 Kb) TX bytes:21272 (20.7 Kb)
Interrupt:3 Base address:0x100
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:90:7D:F3:03:1A
inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Site <co id="newaddr"/>
inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site <co id="superadr"/>
inet6 addr: fec0:106:2700::4/64 Scope:Site <co id="oldaddr"/>
inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link <co id="linkaddr"/>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:854 errors:154 dropped:154 overruns:0 frame:148
TX packets:293 errors:58 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:96536 (94.2 Kb) TX bytes:44664 (43.6 Kb)
Interrupt:3 Base address:0x100
</screen>
<calloutlist>
<callout arearefs="newaddr">
<para>The new <quote>foreign</quote> address, generated by
combining AR's prefix and MAC-address</para>
</callout>
<callout arearefs="superadr">
<para>The superfluous home network address (because of HA
radvd messages and MN autoconf set to
<quote>true</quote>).</para>
</callout>
<callout arearefs="oldaddr">
<para>The <quote>original</quote> (home) address</para>
</callout>
<callout arearefs="linkaddr">
<para>The link-local address generated at boot</para>
</callout>
<callout arearefs="newaddr">
<para>The new <quote>foriegn</quote> address, generated by combining AR's
prefix and MAC-address</para>
</callout>
<callout arearefs="oldaddr">
<para>The <quote>old</quote> (home) address</para>
</callout>
</calloutlist>
<para>Almost at the same time, the MN will perform a binding update
@ -949,19 +1104,19 @@ browse the mail archive. </para>
# mipdiag -l
Mobile IPv6 Binding update list
Recipient CN: fec0:106:2700::2
BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1100:0:202:a5ff:fe6f:a08a
expires: 115 sequence: 0 state: 1
delay: 3 max delay 256 callback time: 68
BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1100:0:290:7dff:fef3:31a
expires: 936 sequence: 0 state: 1
delay: 3 max delay 32 callback time: 736
</screen>
<para>You can also verify it on HA with the statistics option
(-s) and with the:</para>
(-s) and with the <quote>binding cache</quote> (-c) option:</para>
<screen>
# mipdiag -c
Mobile IPv6 Binding cache
Home Address Care-of Address Lifetime Type
fec0:106:2700::4 fec0:106:1100:0:202:a5ff:fe6f:a08a 104 2
Home Address Care-of Address Lifetime Type
fec0:106:2700::4 fec0:106:1100:0:290:7dff:fef3:31a 971 2
</screen>
</sect2>
@ -1007,7 +1162,7 @@ browse the mail archive. </para>
</callout>
</calloutlist>
<para>You can now see the statistics have been updated:</para>
<para>You can now see the statistics have been updated (on MN):</para>
<screen>
# mipdiag -s
@ -1032,6 +1187,12 @@ browse the mail archive. </para>
::/0 :: UD 64 0 0 ip6tnl1
....
</screen>
<para>If it doesn't add a default route, you may add it manually:</para>
<screen>
# ip route ::/0 via dev ip6tnl
</screen>
</sect2>
<!-- ################## -->
@ -1039,7 +1200,108 @@ browse the mail archive. </para>
<sect2 id="movement">
<title>Travelling through several foregin LAN's</title>
<para>To be completed.</para>
<para>To travel to several visited networks, is no different than
travel to <emphasis>one</emphasis> network. The only thing you
must have in mind is that you will generate a new address for each
visited network.
</para>
<mediaobject id="LANvisits">
<imageobject>
<imagedata fileref="images/lanvisits.png" format="PNG"
width="550px" align="center" scalefit="1"/>
</imageobject>
<textobject>
<phrase></phrase>
</textobject>
<caption>
<para>MN travelling through severeal different LANs.</para>
</caption>
</mediaobject>
<orderedlist>
<listitem>
<para>MN first visits 'visitnet', as we have been through above.</para>
</listitem>
<listitem>
<para>MN is then travelling from 'visitnet' to
'visitnet2'.</para>
</listitem>
<listitem>
<para>When at 'visitnet2', MN generates a new IPv6 address and
do a new binding update to HA.</para>
</listitem>
<listitem>
<para>MN then travels back home. (Se next section.)</para>
</listitem>
</orderedlist>
<para>The AR at <quote>visitnet2</quote>, is configured exactly
as the other AR (at <quote>visitnet</quote>), except using address
<userinput>fec0:106:1000::/64</userinput> instead of
<userinput>fec0:106:1100::/64</userinput>.</para>
<para>To make the mobile node travel from 'visitnet' to
'visitnet2', issue the command (on MN):</para>
<screen>
# iwconfig eth0 essid visitnet2
</screen>
<para>You will then see the MN configures itself to the new network:</para>
<screen>
# ifconfig eth0
eth1 Link encap:Ethernet HWaddr 00:90:7D:F3:03:1A
inet6 addr: fec0:106:1000:0:290:7dff:fef3:31a/64 Scope:Site <co id="net2"/>
inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Site
inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site
inet6 addr: fec0:106:2700::4/64 Scope:Site
inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1073 errors:212 dropped:212 overruns:0 frame:204
TX packets:371 errors:72 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:120340 (117.5 Kb) TX bytes:56912 (55.5 Kb)
Interrupt:3 Base address:0x100
</screen>
<calloutlist>
<callout arearefs="net2">
<para>The new autoconfigured address at 'visitnet2'.</para>
</callout>
</calloutlist>
<para><emphasis>Note! You may have to restart mobile-ipv6 on MN
when coming to a new network!</emphasis></para>
<screen>
# /etc/init.d/mobile-ip6 restart
Stopping Mobile IPv6: OK
Starting Mobile IPv6: OK
</screen>
<para>The MN will then perform a new binding update to HA. Notice
the new <quote>care-of address</quote>:</para>
<screen>
# mipdiag -l
Mobile IPv6 Binding update list
Recipient CN: fec0:106:2700::2
BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1000:0:290:7dff:fef3:31a
expires: 973 sequence: 14 state: 1
delay: 3 max delay 32 callback time: 773
</screen>
<para>You can also see the <quote>binding cache</quote> on HA has
been updated:</para>
<screen>
# mipdiag -c
Mobile IPv6 Binding cache
Home Address Care-of Address Lifetime Type
fec0:106:2700::4 fec0:106:1000:0:290:7dff:fef3:31a 943 2
</screen>
</sect2>
<!-- ################## -->
@ -1047,7 +1309,25 @@ browse the mail archive. </para>
<sect2 id="home">
<title>Returning home</title>
<para>To be completed.</para>
<para>To make the MN return home, you can just issue the
command:</para>
<screen>
# iwconfig eth0 essid homenet
</screen>
<para>The MN will know it is back home, since HA is sending out
radvd messages with the HA-bit set (AdvHomeAgentFlag), see <xref
linkend="radvdar"/></para>
<para>You can see the MN <quote>is back home</quote>, since the
binding cache information at HA is flushed (empty):</para>
<screen>
Mobile IPv6 Binding cache
Home Address Care-of Address Lifetime Type
</screen>
</sect2>
<!-- ################## -->
@ -1061,7 +1341,8 @@ browse the mail archive. </para>
<mediaobject id="gnomemeeting">
<imageobject>
<imagedata fileref="images/gnomemeeting1.png" format="PNG" align="center" scalefit="0"/>
<imagedata fileref="images/gnomemeeting1.png" format="PNG"
width="250px" align="center" scalefit="1"/>
</imageobject>
<textobject>
<phrase>GnomeMeeting</phrase>
@ -1092,6 +1373,31 @@ browse the mail archive. </para>
module.</para>
</listitem>
<listitem>
<para><emphasis>Q: Is there any support for kernel 2.6.x?</emphasis></para>
<para>A: Here is the <ulink
url="http://www.mipl.mediapoli.com/pipermail/mipl/2003-December/001871.html">answer
from Henrik Petander</ulink> on the MIPL mailinglist:</para>
<para><quote>Here is a short overview of the status of MIPL for
2.6 kernel series:</quote></para>
<para><quote>We have finished the kernel infrastructure for
Mobile IPv6 in cooperation with the USAGI project. The
infrastructure does route optimization, tunneling and policy
routing.</quote></para>
<para><quote>We are now working on the userspace daemon which
handles the MIPv6 signaling and controls the operation of the
kernel part. The userspace part is also progressing
nicely. However, the protocol logic is still missing, so there
isn't really anything for users to test yet. We should have a
well working and tested prototype ready and by the end of
March.</quote></para>
</listitem>
<listitem>
<para><emphasis>Q: Does MIPL support
IPSec?</emphasis></para>
@ -1132,6 +1438,21 @@ browse the mail archive. </para>
network. MIPv6 from MIPL can't do this automatically.</para>
</listitem>
<listitem>
<para><emphasis>Q: If MN has travelled through several visited
LAN, and then returning home; the interface still has all the
autogenerated IPv6 addresses from all the visited networks! Is
there any way to <quote>flush/delete</quote> these
addresses?</emphasis></para>
<para>A: No, I do not know of any automatic way these adresses
can be removed, but you can delete them manually:</para>
<para><userinput>
# ifconfig eth0 inet6 del &lt;ipv6-address>
</userinput></para>
</listitem>
<listitem>
<para><emphasis>Q: Host B has two interfaces with two
different subnets assigned. When I ping B from host A, it does
@ -1157,12 +1478,16 @@ browse the mail archive. </para>
<para><emphasis>Q: How do I set a default gateway in
IPv6?</emphasis></para>
<para>A: You do that using the traditional <quote>route</quote> or the newer
<quote>IP</quote> command:</para>
<para>A: You do that using the traditional <quote>route</quote>:</para>
<para><userinput>
# route -A inet6 add default gw &lt;ipv6-host>
</userinput></para>
<para>or the newer <quote>ip</quote> command:</para>
<para><userinput>
# ip route ::/0 via &lt;ipv6-host>
# route -A inet6 add default gw &lt;ipv6-host>
# ip route ::/0 via &lt;ipv6-host>
</userinput></para>
</listitem>
@ -1274,7 +1599,7 @@ browse the mail archive. </para>
<sect2 id="copyright">
<title>Copyright and License</title>
<para>
Copyright &copy; 2003 by Lars Strand. This material may
Copyright &copy; 2003,2004 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
@ -1319,8 +1644,8 @@ browse the mail archive. </para>
<para>An up-to-date version of this document can be found at:</para>
<para> HTML: <ulink url="http://www.gnist.org/~lars/work/insc/mipv6/">
http://www.gnist.org/~lars/work/insc/mipv6/</ulink> </para>
<para> HTML: <ulink url="http://www.tldp.org/HOWTO/Mobile-IPv6-HOWTO/">
http://www.tldp.org/HOWTO/Mobile-IPv6-HOWTO/</ulink> </para>
</sect2>
<!-- ################## -->
@ -1330,7 +1655,11 @@ browse the mail archive. </para>
<para>Suggestions, corrections, additions wanted. Contributors
wanted and acknowledged. Flames not wanted.</para>
<para>I can always be reached at <email>lars at unik no</email></para>
<para>I can always be reached at <email>lars at unik
no</email></para>
<para>Homepage: <ulink url="http://www.gnist.org/~lars">
http://www.gnist.org/~lars</ulink></para>
</sect2>
<!-- ################## -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 54 KiB