解决 IPv6 路由发现协议得到错误地址的问题

2010/01/15 | 23:59 | 分类:Windows应用 | 标签: | 855次阅读

  IPv6 环境一般使用 DHCPv6ICMPv6 协议自动配置网络参数,网关配置错误或多个网关的存在会导致客户端得到错误或冲突的配置参数。最近在我使用的 IPv6 环境中,就出现了网关同时给一个客户端分配多组 IPv6 地址、两个 IPv6 路由的问题,这使得路由发生混乱,IPv6 网络无法连通。由于种种原因,网管一直未能解决此问题,我们只好试图在客户端动动脑筋。
  按照 IPv4 的经验,如果 DHCP 有问题,直接手工配置静态地址即可。但我们的环境中,即使手工配置了静态的 IPv6 地址和路由,发现没过多久又会恢复原状。看来还是有一定的自动配置机制在作祟。经搜索得知,这是 ICMPv6 的路由发现(Router Discovery)特性,系统会根据其收到的 ICMPv6 包自动修改 IPv6 配置。下面要做的就是过滤与路由发现相关的包。
  在 Linux 下,可以使用 ip6tables(即 iptables 的 IPv6 版本)过滤相应的 ICMPv6 包:

  1. /sbin/ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -j DROP

  可以将上述命令加入 /etc/rc.local。或使用 ip6tables-save 导出到文件,在启动网络前使用 ip6tables-restore 恢复。
  在 Windows Vista/7 或 Windows Server 2008 以后的版本,可以使用这条命令:

  1. netsh interface ipv6 set interface "[你的网卡名称,比如 Local Area Connection]" routerdiscovery=disable

  执行一次之后持久生效,重启后不用再次执行。
  而在 Windows XP 下,目前还没有发现很好的办法。XP 对 IPv6 的支持仅仅是一个“预发行版”,实现并不完善。手工配置 IPv6 地址和路由只能使用“ipv6 adu”、“ipv6 rtu”命令,而没有图形界面支持;虽然 XP SP2 以后 Windows 防火墙加入了 IPv6 支持,但仍不支持 ICMPv6。我没有查到 XP 下屏蔽路由发现协议的标准方法,目前可行的办法是使用支持 ICMPv6 的第三方防火墙软件,比如 ZONEALARM Internet Security 8 以上版本。

认证你的IPv6能力

2009/04/03 | 23:20 | 分类:Web与移动平台 | 标签: | 891次阅读

  今天玩了玩Hurricane ElectricIPv6 Certification服务。这是一项针对IPv6网络环境和网管人员能力的双重测试与认证服务,用以证明IPv6网络及其管理人员的实力。当然,此认证不具有权威性,但作为了解和学习IPv6的配置与管理的途径之一,还是很有寓教于乐意义的。

IPv6 Certification Badge for sswv

  这项服务感觉就像一个闯关游戏。它给你提出若干个IPv6网络配置任务,要求你在自己的IPv6环境中实现。完成特定的任务,经其服务器验证通过,就可以晋升特定的等级(Newbie、Explorer、Enthusiast、Administrator、Professional、Guru、Sage),同时得到一定的积分。任务中间也穿插着一些IPv6知识问答或调查问卷,让你巩固理论基础。
  完成不同等级认证所需的软硬件环境也略有不同,但IPv6网络(或基于隧道的IPv6)是必须的,同时你需要有一个域名,可以设置AAAA记录的。机器最好安装Linux或Windows Server,有管理员权限,可以自主配置Web、Mail、DNS等服务。确保你的主机和Hurricane Electric之间没有防火墙拦截相关端口。
  我达到了Administrator一级,这一级需要配置一个SMTP服务器。我用Sendmail和IceWarp配置了半天硬是没搞定IPv6下的,后来灵机一动,使用nc6手工模拟了SMTP通过!下一级Professional需要设置RDNS,这就得麻烦ISP了,我无能为力。
  最后切记,不要在生产环境中做这些实验!