5.9.2 实验场景
本实验床实验的目的是测试和验证移动IPv6的基本工作原理和主要实现细节,所以建立了比较简单的实验环境,包括两台路由器和两台主机,网络拓扑结构如图5.16所示。
· HA-家乡代理:HA位于家乡网络,地址为2001:250:f006:5020::1,有一个无线网络网卡。MN(移动节点):当MN在“家乡网络”时,其地址为2001:250:f006:5020::100。当MN移动到另一个网络时,它获得一个新的“转交”地址。
· R-Router:这是位于家乡网络和Internet之间的路由器。它有一个无线网卡,地址为2001:250:f006:5020::1和一个有线网卡,地址为2001:250:f006:5021::1。
· AR-Access Router:AR和R之间的链路。AR有两个网卡;有线网卡地址为2001:250:f006:5021::2,无线网卡地址为2001:250:f006:5022::200。
图5.16 移动IPv6实验床网络拓扑图
(1)MN:移动节点有一个无线网卡。应禁用转发功能,但应接受自动配置与路由广播:
# iwconfig eth0 m ode ad-hoc essid homenet enc off
# ifconfig eth0 inet6 add 2001:250:f006:5021::1/64
# echo "0" > /proc/sys/net/ipv6/conf/eth0/forwarding
# 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-ip6 start
(2)R(家乡)路由器有两个网卡;一个无线与一个有线。路由器必须启用转发功能。
# ifconfig eth0 inet6 add 2001:250:f006:5021::1/64
# iwconfig eth1 mode ad-hoc essid homenet enc off
# ifconfig eth1 inet6 add fec 2001:250:f006:5020::1/64
# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding
# echo "0" > /proc/sys/net/ipv6/conf/all/autoconf
# echo "0" > /proc/sys/net/ipv6/conf/all/accept_ra
# echo "0" > /proc/sys/net/ipv6/conf/all/accept_redirects
# ip route add 2001:250:f006:5022:: /64 via 2001:250:f006:5021::2
(3)AR:接入路由器(位于外地链路上)也有两个网卡;一个无线和一个有线。必须启用转发功能。
# ifconfig eth0 inet6 add 2001:250:f006:5021::2/64
# iwconfig eth1 mode ad-hoc essid visitnet enc off
# ifconfig eth1 inet6 add 2001:250:f006:5022::1/64
# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding
# echo "0" > /proc/sys/net/ipv6/conf/all/autoconf
# echo "0" > /proc/sys/net/ipv6/conf/all/accept_ra
# echo "0" > /proc/sys/net/ipv6/conf/all/accept_redirects
# ip route add 2001:250:f006:5020::/64 via 2001:250:f006:5021::1
(4)配置移动IPv6。MIPv6设置中最后要在network-mip6.conf中进行配置,RedHat系统中,该文件位于/etc/sysconfig/。该文件内容应非常容易理解。
1)HA:HA配置文件应包含以下设置:
# cat /etc/network-mip6.conf
# Home Agent configuration file
FUNCTIONALITY=ha
DEBUGLEVEL=1
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=5
TUNNEL_S ITELOCAL=yes
2)MN:MN配置文件为:
# cat /etc/network-mip6.conf
# Mobile Node configuration file
FUNCTIONALITY=mn
DEBUGLEVEL=1
TUNNEL_S ITELOCAL=yes
MIN_TUNNEL_NR=1
MAX_TUNNEL_NR=3
HOMEDEV=mip6mnha1
HOMEADDRES S=2001:250:f006:5020::100/64 # MN's home adress
HOMEAGENT=2001:250:f006:5020::1/64 # HA's address
3)接着,启动移动IP:
# /etc/init.d/mobile-ip6 start
Starting Mobile IP v6: OK
(5)在AR上配置radvd(Router ADVertisement Daemon)
当MN来到一个新网络时,它进行链路本地地址配置,若成功则进入下一阶段。[RFC 2462](IPv6无状态地址自动配置)描述了下一阶段:
“自动配置的下一阶段包括获得一条路由广播或确定没有路由器的存在。若存在路由器,则它们会发送具体规定主机应进行何种自动配置的路由器广播。若路由器不存在,则应当触发有状态自动配置。”
“路由器定期发送路由器广播,但连续广播之间的延迟通常比执行自动配置的主机愿意等待的时间更长。为快速获得一条广播,主机向全路由器组播组发送一条或多条路由器请求”。
在AR的无线网卡上配置RADVD。radvd.conf文件应包含以下内容:
# cat /etc/radvd.conf
interface eth1
{
AdvS endAdvert on;
AdvIntervalOpt on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
prefix 2001:250:f006:5022::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
然后启动它:
# /etc/init.d/radvd start
您现在应可使用radvdump命令来确定所有radvd报文都正确的定期发送。
(6)在HA上配置radvd(Router ADVertisement Daemon)。为使MN能知道其位于家乡网络,HA也应发出RA。因此,应该也在HA上启用RADVD。/etc/radvd.conf文件应包含以下内容:
# cat /etc/radvd.conf
interface eth0
{
AdvS endAdvert on;
MaxRtrAdvInterval 3;
MinRtrAdvInterval 1;
AdvIntervalOpt off;
AdvHomeAgentFlag on;
HomeAgentLifetime 10000;
HomeAgentP reference 20;
AdvHomeAgentInfo on;
prefix 2001:250:f006:5020::1/64
{
AdvRouterAddr on;
AdvOnLink on;
AdvAutonomous on;
AdvP referredLifetime 10000;
AdvValidLifetime 12000;
};
};