参考http://www.netbsd.org/docs/network/ipv6/

我的NetBSD机器信息如下:

netbsd-cook# uname -a
NetBSD netbsd-cook.com 6.1.2 NetBSD 6.1.2 (MYKERNEL) #0: Sat Jan  4 21:18:44 CST 2014  root@netbsd-cook.com:/usr/src/sys/arch/i386/compile/MYKERNEL i386

1. 设置为自动配置主机,也就是通过本地的Router来自动配置

修改/etc/rc.conf,添加或修改如下语句

ip6mode="autohost"
    ifconfig_{IFNAME}_ipv6="inet6 accept_rtadv"

2. 简单设置NetBSD作为路由器

1)修改/etc/rc.conf,添加如下语句

ip6mode="router"
     rtsol="NO"
     rtadvd="YES"            rtadvd_flags="wm0 wm1"  # wm0, wm1是我NetBSD电脑两个网卡的名字

2)修改/etc/sysctrl.conf,添加如下语句

net.inet6.ip6.forwarding=1

3)根据电脑实际网卡的名字,修改/etc/ifconfig.{IFNAME}

对于我的电脑,我需要修改/etc/ifconfig.wm0, /etc/ifconfig.wm1

在这两个文件中可以设置ip地址等相关信息,例如我在ifconfig.wm0和ifconfig.wm1中设置了IPv6地址:

inet6 2001:0db8:ffff:0001::e prefixlen 64     # wm0

inet6 2001:0db8:ffff:0002::e prefixlen 64     # wm1

4)修改/etc/rtadvd.conf,添加如下语句

wm0:\
        :addr="2001:0db8:ffff:0001::":prefixlen#64:
    wm1:\
        :addr="2001:0db8:ffff:0002::":prefixlen#64:

5)根据实际情况添加路由规则
     NetBSD添加一条IPv6路由的命令一般格式如下

route add -inet6 <Destination Network> <NextHot>%<IFNAME> -ifp <IFNAME>

3. 设置NetBSD网卡IPv6地址高4字节为2001:db8的问题

在公司内部IPv6的的测试中,把FreeBSD和NetBSD与Cisco的路由器两个端口相连,地址分配如下:

因为FreeBSD和NetBSD都是设置的通过router获得IPv6地址,所以FreeBSD和NetBSD在收到Cisco Router发送的RA包后,会设置自己的IPv6地址和默认路由。

按理说,FreeBSD和NetBSD是可以ping通的,但实际情况却相反。

使用netstat -r -n -f inet6查看路由,默认路由都设置了,没什么问题,很是疑惑。

经过仔细查看,发现NetBSD有这么一条路由规则,注意标为红色的路由:

Destination        Gateway            Flags    Refs      Use    Mtu Interface

Internet6:
        Destination                        Gateway                        Flags    Refs      Use    Mtu Interface
            ::/104                             ::1                            UGRS        0        0      -  lo0 =>
            ::/96                              ::1                            UGRS        0        0      -  lo0
            ::1                                ::1                            UH         12        0  33192  lo0
            ::127.0.0.0/104                    ::1                            UGRS        0        0      -  lo0
            ::224.0.0.0/100                    ::1                            UGRS        0        0      -  lo0
            ::255.0.0.0/104                    ::1                            UGRS        0        0      -  lo0
            ::ffff:0.0.0.0/96                  ::1                            UGRS        0        0      -  lo0
            2001:db8::/32                      ::1                            UGRS        0        0      -  lo0

这条路由会匹配目的地址前32位是2001:db8的地址,然后发送到lo0,也就是丢弃了

因为FreeBSD IPv6的地址前32为正好是2001:db8,所以NetBSD和FreeBSD之间是无法ping通的。

后来发现这条路由是在/etc/rc.d/network中配置的,解释如下:

# disallow the use of the RFC3849 documentation address
                #
                /sbin/route -q add -inet6 2001:db8:: -prefixlen 32 ::1 -reject

FreeBSD, Fedora默认应该都不会设置这样一条路由,NetBSD却这样做了,呵呵!

大家可以把这条语句注释掉,可以省掉一些麻烦了.

NetBSD IPv6环境建立相关推荐

  1. 如何通过路由器部署IPv6环境(上篇)

    本文详细描述如何利用家用路由器,结合6Plat公共IPv6接入平台,为家庭网络接入IPv6环境,实现家庭全终端(PC.Pad.Phone等)进入IPv6世界. 本文分为上下两篇,分别针对"具 ...

  2. Linux配置ipv6环境

    Linux配置ipv6环境 一.检查linux是否开启了ipv6:ifconfig 如果有ipv6字样,则是开启了,如果没有的话看下一步 二.开启ipv6 1.b编辑sysctl.conf 文件,路径 ...

  3. Linux 上 NetBSD 交叉编译环境搭建

    Linux 上 NetBSD 交叉编译环境搭建 NetBSD 以高移植性著称,支持众多的处理器架构,并且它的代码和工具稳定性非常高,包括各种接口,工具等.并且由于 BSD 授权的宽松条件,对于构建商业 ...

  4. Qt-4.6.3移植与Qt creator开发环境建立

    最近把Qt到开发环境建立了起来,以后打算多点时间在学习Qt上面,下面是我的移植与搭建过程,现在贴出来希望能对大家有点帮助..... 作者:顾文彪 博客:http://blog.chinaunix.ne ...

  5. android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码

    /** 版本:1.0 日期:2009-04-01 作者:HKjinzhao 备注: 转自:http://blog.csdn.net/hkjinzhao/article/details/4043997 ...

  6. 【MySQL】在centos7 纯IPv6环境下,安装mysql5.7

    参考链接:https://mirrors6.tuna.tsinghua.edu.cn/help/mysql/ 服务器环境: Centos7 纯IPv6环境(不能与IPv4互通) 按照 https:// ...

  7. s3c2410开发环境建立

    首先介绍的整体的环境是ubuntu 9.04 gcc的版本是4.1.下面是具体的环境建立 (1)arm-linux-gcc安装 在下面的网址上http://www.handhelds.org/down ...

  8. 纯IPv6环境App适配的坑

    来源:伯乐在线专栏作者 - MrPeak 链接:http://ios.jobbole.com/86580/ 苹果从2016年6月1号开始,强制所有app必须支持纯IPv6的网络环境.这项举措将对IPv ...

  9. 本地如何搭建IPv6环境测试你的APP

    IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索). PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦 ...

最新文章

  1. 【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】
  2. 将简历挂到云服务器网站上记
  3. 10.24T3 解方程 取模意义下运算+秦九韶算法
  4. android实现背景音乐播放
  5. java线程唤醒线程_Java中如何唤醒“指定的“某个线程
  6. POJ - 2826 An Easy Problem?!(计算几何,好题)
  7. CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别-Windows绘图基础知识
  8. 动态规划之力扣股票类问题
  9. 什么是python自动化测试_python已经自动化了,大家一般用什么测试框架?
  10. 2010上半年网络工程师上午试题分析与解答
  11. (转)C#开发微信门户及应用(6)--微信门户菜单的管理操作
  12. 【回顾】如何搭建一套个性化推荐系统?
  13. ~~双链表(数据结构)
  14. tensorflow一维卷积输入_深度学习中的反卷积(Transposed Convolution)
  15. 关系传递闭包Warshall算法之思想的一种解说
  16. 天正计算机命令大全,新手必看-史上最全CAD快捷键大全
  17. easyexcle 设置列宽_在excel中,如何让excel的列宽自动调整
  18. python练习-跳跃游戏
  19. 如何在 SAP 轻松访问屏幕上以不同的布局创建不同的启动板
  20. CAKEPHP3.7安装

热门文章

  1. 调节e18-d80nk的测量距离_水准仪、经纬仪、全站仪以及GPS测量使用教程,操作就是这么简单...
  2. 【Matlab学习】凯撒密码Caesar‘s cypher
  3. 数据中台咋就从“小甜甜”变成了“牛夫人”?
  4. python五大算法_一文洞悉Python必备50种算法!资深大牛至少得掌握25种!
  5. 专为懒人设计!一款功能强大的 Docker 管理工具
  6. (一)MATLAB基础知识
  7. K最近邻算法(KNN)
  8. 一分钟了解英语表达:某方法是基于什么假设
  9. 在百度AI快车道的技术大佬“偷师学艺”,南京的“手艺人”都报名了!
  10. OpenProcessToken令牌函数用法