zoukankan      html  css  js  c++  java
  • IPv6 Radvd+Dibbler环境搭建以及使用指南

    申明:本笔记仅适用于嵌入式平台路由器的IPV6环境搭建,介绍WAN口的有状态和无状态获取以及LAN侧的DHCPv6环境如何搭建

    一、运行环境

    操作系统平台:Windows7 + Linux,Linux内核要求要支持IPv6功能,2.6版本以上均可本

    环境版本:Windows7 + Fedora20

    开发板:XXX

    PC:联想笔记本

    二、背景介绍

    IPv6 的地址获取方式与 IPv4 有所不同。在 IPv4 中,主机 IP 地址的自动配置必须由 DHCP 服务器来支持,这被称为有状态的自动配(Stateful Auto configuration);而在IPv6中,除了 DHCP的v6版本,还引入了无状态的自动配置(Stateless Auto configuration)。这项新技术无需 DHCP 服务器支持,所有支持 IPv6 的路由器都监听各主机发送的自动配置请求包(RS包), IPv6 路由器对这类请求包的回复数据包(RA)里面包含IPv6 地址的前缀(prefix)等信息,主机在收到这样的包以后,可以根据自己的一些已有信息(比如 MAC 地址,或者随机数),生成自己的 IPv6 地址。

    除了IPv6路由器具有上述无状态分配功能,本文还另外介绍一种适合开发人员的无状态分配的环境搭建----RADVD模拟IPv6服务器完成IPv6地址自动配置。

    说明:测试部人员测试WAN口IPv6功能可直接在WAN口上接一个支持IPv6的路由器进行测试,开发人员建议自己安装radvd和dhcpv6 server(wide-dhcpv6,dibbler,dhcp6s等)联合调试。本文主以radvd+dibbler为例进行介绍。

    三、搭建自测试WAN IPv6环境

    (一)安装radvd(测试WAN无状态自动获取功能)

      1、 网上下载一个radvd的最新安装包,放入linux的/home/tools目录下,下载网址:http://www.litech.org/radvd/

      2、 在linux中安装radvd。  

      cd /home/tools

      tar –zxvf radvd-2.17.tar.gz

      cd radvd-2.17

      ./configure –prefix=/usr/local –sysconfdir=/etc –mandir=/usr/share/man

      make

      make install

    3、 修改配置文件(/etc/radvd.conf)。

      interface eno33554960

      {

        AdvSendAdvert on;

        AdvManagedFlag on;

        AdvOtherConfigFlag on;

        MinRtrAdvInterval 198;

        MaxRtrAdvInterval 600; 

        MinDelayBetweenRAs 3;

        AdvDefaultLifetime 1800;

        AdvLinkMTU 0;

        AdvDefaultPreference high;

     

        prefix 2008:08:08::/64

        {

          AdvOnLink on;

          AdvAutonomous on;

          AdvRouterAddr off;

          AdvValidLifetime 2592000;

          AdvPreferredLifetime 604800;

        };

        route ::/0

        {

          AdvRouteLifetime 1800;

          AdvRoutePreference high;

        };

      };

    4、 修改linux网卡的IPv6设置(网卡ipv6地址必须与radvd中配置的前缀一致),如下图:

     

    5、 打开linux ipv6路由转发功能,并启动radvd。

      echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

      radvd –C /etc/radvd.conf

    6、 设置linux网卡桥接到windows的测试网卡(在此将windows测试网卡命名为“TEST”)。

    7、 路由器WAN口连接到windows的“TEST”网卡,设置WAN口IPv6地址获取方式为无状态自动获取。

     

     

    8、 设置成功后,查看WAN口是否获取到上述radvd配置的前缀为2008:8:8::/64的global address,获取到的地址后64位是通过EUI64算法得出或者随机数生成。

    9、 获取到地址后,在串口执行ping命令,ping radvd所在系统的网卡地址(2008:8:8::1),若能ping通,说明WAN口IPv6无状态自动配置功能已实现。

     

     

     

    (二)安装Dibbler(测试WAN有状态自动获取功能)

    1、 安装完成之后默认安装在C:dibbler,安装文件:dibbler-1.0.0-win32.exe。

    2、 安装完成之后,修改配置文件,修改方法:

      开始->所有程序->Dibbler->Server Edit Config File->修改server.conf。

    3、 修改配置文件,server.conf。

     

     server.conf:

       log-level 7

      log-mode short

      iface "TEST"

      {

        # clients should renew every half an hour

        T1 1800

        T2 2000

        class

        {

             pool 2008:08:08::1000-2008:08:08::2000

        }

        option dns-server 2008:08:08::2

        option domain example.com, test1.example.com

       }

    4、 修改dibbler所在系统的IPv6设置(网卡ipv6地址必须与server.conf的DNS一致),如下图:

     

    5、 启动dibbler-server,启动方法如下:

    开始->所有程序->Dibbler->Server Run in console

    6、 启动dibbler-server成功,如下截图所示:

     

    7、WAN口连接到windows的“TEST”网卡,设置WAN口IPv6地址获取方式为有状态自动获取。

     

    8、 设置成功后,查看WAN口是否获取到上述dibbler配置的2008:08:08::1000-2008:08:08::2000/64的global address,是否获取到网关地址,DNS地址等,查看设备路由表是否有IPv6的路由信息。

     

     

    9、 获取到地址后,在串口执行ping命令,ping dibbler所在系统的网卡地址(2008:8:8::2),若能ping通,说明WAN口IPv6有状态自动配置功能已实现。

     

    四、 搭建自测试LAN IPv6的环境

    (一) 启动LAN IPv6相关服务

    1、 打开IPv6功能(默认是打开的)。

    2、 设置LAN IPv6地址。

    LAN IPv6地址必须是与开发板中RADVD设置的前缀(前64位)保持一致(3000:db8:1::1/64),RADVD参数可通过flash命令获取,

    后续路由器页面会优化让用户不能修改LAN IPv6的前缀,只能修改后面的主机位。

    3、 设置DHCPv6。

    打开DHCPv6开关;

    设置DHCPv6地址池:地址池前缀必须与LAN IPv6前缀一致;

    设置DNS地址:DNS地址必须为LAN口的Link Local地址。

    (二)测试DHCPv6功能

    PC接到路由器的LAN口,PC网口IPv6设置成自动获取。若PC能获取到路由器分配的IPv6地址、 网关、DNS。

    且PC能ping通 路由器 LAN IPv6地址、路由器WAN IPv6地址。则功能OK 。

     

     

    五、 数据包

     

     

     

  • 相关阅读:
    C语言中scanf函数的实现
    Express中设置cookie,session,token
    ajax2.0提供的FormData
    将json字符串解析为对象的三种方式
    ajax中的跨域问题
    html5中的图片预览
    jQuery中的ajax
    jQuery中的表单序列化
    实现一个瀑布流
    ajax
  • 原文地址:https://www.cnblogs.com/luoluo1619/p/13924906.html
Copyright © 2011-2022 走看看