Chinaunix首页 | 论坛 | 博客
  • 博客访问: 897254
  • 博文数量: 148
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3920
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-30 18:17
文章分类

全部博文(148)

文章存档

2008年(148)

我的朋友

分类: 系统运维

2008-04-26 09:36:08

1。新开通纯IPv6接入方式
目前全校办公区已可以使用纯IPv6方式访问全球IPv6站点,其方法是去掉IPv4地址的设置
,安装IPv6后,将自动获取IPv6地址,并执行下面两条命令:
netsh interface ipv6 add route ::/0 接口的名字 nexthop=fe80::211:11ff:fe61:f63
9
netsh interface ipv6 add dns 接口的名字 fe80::211:11ff:fe61:f639
其中,第一条命令为设置默认网关,第二条命令为设置DNS服务器地址。
由于学生宿舍192.168.*.*地址段攻击包太多,为了保证现有有限设备的正常运行,暂不对
此段地址开通IPv6接入服务,10.7.*.*段地址可以接入

 

2。信息中心开通全校范围内IPv6的ISATAP隧道测试

ISATAP是一种地址分配和主机到主机、主机到路由器和路由器到主机的自动隧道技术,它
为IPv6主机之间提供了跨越IPv4内部网络的单播IPv6连通性。ISATAP主机不需要手工配置
地址,它使用标准地址自动配置机制来创建ISATAP地址。  
信息中心现已开始全校范围内IPv6的ISATAP隧道测试,欢迎大家试用IPv6!
ISATAP隧道点IP地址是202.207.177.160
用户设置isatap隧道的终结点router为202.207.177.160  
 
xp/win2003下设置如下  
C:\Documents and Settings\Administrator>netsh  
netsh>int  
netsh interface>ipv6  
netsh interface>ipv6>install
netsh interface ipv6>isatap  
netsh interface ipv6 isatap>set router 202.207.177.160
netsh interface ipv6 isatap>exit
 
然后 ipconfig后应该看到一个2001:250:c00:4为前缀的v6地址,hostid为5efe:x.x.x.x,  
其中x.x.x.x为你的真实的IPV4地址。以上是对ISATAP隧道设置所需要的,对于纯IPv6方式不需要。  
然后在命令行下执行
netsh interface ipv6 add route ::/0 接口的名字 nexthop=fe80::211:11ff:fe61:f639
(此步骤必需)之后可以ping 2001:250:c00:1::1或者ping
注:在XP下用ping6命令.XP的有一些版本不支持此隧道.接口的名字对于中文操作系统一般是“本地链接”,请大家根据实际情况更改。对XP SP2的用户,请先关闭防火墙,

 

3。IPv6曝安全漏洞 可遭受拒绝服务攻击

IPv6曝安全漏洞 可遭受拒绝服务攻击
作者:友亚 发布时间:2007.05.13 09:24:03 来源:赛迪网
 
赛迪网讯】5月13日消息,据国外媒体报道,研究人员日前在下一代互联网协议IPv6中发现了一处安全漏洞,可能导致用户遭受拒绝服务攻击。
 
据悉,该漏洞存在于IPv6的type 0路由头(RH0)特征中。OpenBSD和Cisco IOS系统在处理某些IPv6 type 0路由头时均存在拒绝服务漏洞,如果向运行上述系统的设备发送了特定的IPv6报文就可能导致设备崩溃。
 
本周,业内专家已经向互联网工程任务小组(IETF)提交了两份草案,对解决该问题提出了两项措施,即删除RH0功能,或至少默认禁用该功能。
 
据悉,该漏洞最初是由研究人员Philippe Biondi和Arnaud Ebalard发现的。二人表示,RH0漏洞至少使IPv6设备遭受拒绝服务攻击的可能性增加80倍。
 
而Internet Systems Consortium总裁Paul Vixie称:“该漏洞使事情变得很糟糕,一个十几岁的少年只要通过一部300美元的Linux PC就可以发动攻击。”  
 

4。标  题: 开通IPv6视频测试服务器 
现开通IPv6视频测试服务器:
注:只能用IPv6地址访问

5。标  题: 讲座通知
定于2005年3月29日(星期二)下午4:30,在11108H教室举办题为"IPv6技术"的讲座,欢迎大家
互相转告并到时光临:)。

6。标  题: IPv6实验将在我校扩大实验范围
近日,我校IPv6实验室已完成了6over4自动隧道的初步配置工作,IPv6实验将在我校扩大
实验范围。
6over4,也称为IPv4多播隧道,是一个主机到主机、主机到路由器和路由器到主机的自动
隧道技术,它为IPv6节点之间提供了跨越IPv4内部网络的单播和多播IPv6连通性。使用这
种隧道,将大大简化用户的配置工作,并且能最大限度的扩大我校进行IPv6实验的范围,
等完成6over4隧道部署计划,到时全校范围都可以使用IPv6进行通信。
--

7。标  题: 关于隧道使用的重要说明
由于设备有限,目前只能同时支持80 STANDALONE个隧道,16个ROUTER隧道,每个隧道的周
期是三天(你自己可以申请延长),如果你不使用了,请把它删除掉,以节约资源,谢谢
大家的合作。
--
在学习中等待,在等待中学习

发信人: BTang (BTang), 信区: IPv6
标  题: 隧道使用注意事项
发信站: BBS 寒泉站 (Fri Nov  5 11:55:29 2004)
 
8。隧道使用注意事项
1、首先确认你的的平台支持IPv6,如果没有,请安装。对于Windows2000,需下载相应的补
丁包,对XP,需执行命令:ipv6 install。
2、申请时请把用户名和口令用笔记下来。
3、目前只写了客户端Windows2000,XP,2003的IPv6隧道自动配置脚本,其中,删除隧道
的脚本只有Windows2000和XP的,其它的没有。
3、如果你使用的操作系统是*NIX,请参看相关资料,自己进行手动配置。在申请注册时,
把相应的地址信息记录下来。
4、对于下载下来的自动配置脚本,如果执行结果不正确,请在命令行下注意输出信息,注
意相应的隧道号,默认情况下,2000的隧道接口号是2,XP,2003的是5。
5、如果配置成功,访问时会显示你的IPv6地址,你也可以PING相
关的IPv6网址,具体方法见后。
6、如有问题,请在论坛中发帖。
 
附PING命令:
Win2000/XP平台:ping6
Win2003平台:ping -6
*NIX平台:ping6
--
在学习中等待,在等待中学习

 

9。欢迎访问中北大学IPV6网站
地址:
其地址为2001:250:c00:3::1

10。标  题: IPv6基础篇7-WINDOWS上使用隧道
发信站: BBS 寒泉站 (Sat May  8 18:05:10 2004)
 
下面要说的配置就只简单写命令及注释,具体的,要自己实验了^_^
WIN2000上定义配置隧道
WIN2000操作系统分配给配置隧道接口的默认伪接口是伪接口2,如有不同,可用命令ipv6
 if查看。
定配置隧道的命令如下:
ipv6 adu 2/2001:250:c00:3::1  分配配置隧道的源IPV6地址为2001:250:c00:3::1,2/代
表伪接口2
ipv6 rtu ::/0 2/::202.207.178.82 pub  添加一条默认路由到IPV6路由选择表中,表示
配置默认IPV6路由::/0为从伪接口2通过隧道到达下一跳地址::202.207.178.82
 
WIN XP上定义配置隧道
ipv6 ifcr v6v4 源IPV4地址 目的IPV4地址   定义一个伪接口,假定此伪接口为5(具体的
可以用命令ipv6 rt 查看)
ipv6 adu 5/IPV6源地址
ipv6 rtu ::/0 5/路由IPV6地址
 
WIN2000上启用6TO4
ipv6 rtu 2002::/16 2  在IPV6路由选择表中添加一条到目的网络2002::/16的指向伪接口
2的路由条目。当一个IPV6数据包的目的IPV6地址匹配前缀2002::/16时,路由器就在IPV4
中封装IPV6数据包并通过6TO4隧道接口(伪接口2)转发数据包
ipv6 adu 2/2002:IPV4地址::1(这个数据随便了)  分配伪接口2的IPV6源地址
 
WIN XP上启用6TO4
ipv6 rtu 2002::/16 3  XP分配给6TO4机制的伪接口是3
ipv6 rtu adu 3/2002:IPV4地址::1
 
WIN2000上使用6TO4中继
ipv6 rtu 2002::/16 2
ipv6 adu 2/2002:IPV4地址:1::1
ipv6 rtu ::/0 2/::路由IPV4地址     例 ipv6 rtu ::/0 2/::202.207.178.83
 
WIN XP上使用6TO4中继
ipv6 rtu 2002::/16 3
ipv6 adu 3/2002:IPV4地址::1
ipv6 rtu ::/0 3/2002:路由IPV4地址:1::1    例 ipv6 rtu ::/0 3/2002:c37b:1fc8:1:
:1

 

12。各种IPV6地址
本地链路地址:FE80::/64
本地站点地址:FEC0::/48
全球可聚合单播地址:2000::/3
未指定地址:::
回环地址:::1
兼容IPV4的地址:0:0:0:0:0:0:w.x.y.z或::w.x.y.z(w.x.y.z是IPV4公共地址的十进制点
号表示法)
IPV4映射地址:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z
6over4地址:[64 bit prefix]:0:0:WWXX:YYZZ,其中WWXX:YYZZ是w.x.y.z的冒号十六进制
表示法
6to4地址:2002:WWXX:YYZZ:[SLA ID]:[接口ID]
ISATAP地址:[64 bit prefix]:0:5EFE:w.x.y.z
本地节点范围内所有节点多播地址:FF01::1
本地链路范围内所有节点多播地址:FF02::1
本地节点范围内所有路由器多播地址:FF01::2
本地链路范围内所有路由器多播地址:FF02::2
本地站点范围内所有路由器多播地址:FF05::2
被请求节点地址:FF02::1:FF00:0/104 低24位为单播IPV6地址最后24位构成
子网-路由器泛播地址:[prefix]::
多播地址到以太网地址的映射:33-33-[单播地址低32位]
 
可聚合全球单播地址结构:
001+TLA ID+Res+NLA ID+SLA ID+接口ID
其中,TLA ID为顶级集聚标识符,13位
RES为保留,8位
NLA ID:下一级集聚级标识符,24位
SLA ID:站点级集聚标识符,16位
接口ID:指定子网上的接口,64位

 

13。支持IPV6的WINDOWS套接字变化
1、增加的常量
IPV6的地址族名和协议族名常为:AF_INET6  PF_INET6
 
2、地址数据结构
struct in6_addr {
     uint8_t  s6_addr[16];      /* IPv6 address */
};
sockadd_in6用于包含一个IPV6地址
struct sockaddr_in6 {
      short             sin6_family;     /* AF_INET6 */
      u_short           sin6_port;       /* Transport level port number */
      u_long            sin6_flowinfo;    /* IPv6 flow information */
      struct in_addr6   sin6_addr; /* IPv6 address */
};
    除了族、端口和地址信息,此结构中还包含sin6_flowinfo和sin6_scope_id数据成员
。在数据成员sin6_flowinfo中将包含IPV6报头中的通信流类别字段和流标签字段。在XP和
SERVER2003系统中不支持sin6_flowinfo数据成员。在数据成员sin6_scope_id中包含了范
围ID,它用于标识一系列的接口,这些接口与地址字段中的地址相对应
 
    由于IPV4中sockaddr和IPV6中sockaddr_in6具有不同的长度,因此,不能使用struct
 sockaddr来分配存储空间,然后将其强制转换为一个sockaddr_in6指针。如果需要为soc
kaddr_in6结构静态分配存储空间,则应该使用struct sockaddr_storage,例如:
struct sockaddr_storage newaddr;
......
msgsock=accept(listen_socket,(struct sockaddr *)&newaddr,&newaddrlen);
 
3、通配地址
    为了在具体的实现方案中为使用IPV4的连接或数据报选择一个源地址,在bind()函数
调用中将常量INADDR_ANY用作地址。
 
    IPV6地址类型(in6_addr)是一个结构变量,不能用常量为结构变量赋值,但常量可以
用于初始化这个结构,全球变量in6addr_any可以在赋值中使用,如
sin6.sin6_addr=in6addr_any;
    或者常量IN6ADDR_ANY_INIT也可用于初始化地址结构(只在声明的时候),如
struct in6_addr anyaddr=IN6ADDR_ANY_INIT;
     
    在IPV4中的connect(),send()和sendmsg()函数调用中,使用常量INADDR_LOOPBACK来
和本地节点中的服务进行通信。对于IPV6的回环,全局变量(in6addr_loopback)在赋值中
使用,常量(IN6ADDR_LOOPBACK_INIT)用于在声明时的初始化。注意,IPV4的INADDR_XXX常
量以主机字节顺序定义,而IPV6的以网络字节顺序定义
 
4、核心套接字函数
    在核心套接字函数中所进行的地址传递实际上是传递一个不透明的地址指针和长度,
因此,IPV6的核心套接字函数不需要对原来的进行改变。我们只需要简单地提供适当的IP
V6地址结构和族常量。接受地址参数的套接字函数有:
bind()
connect()
sendmsg()
sendto()
返回地址的套接字函数有:
accept()
recvfrom()
recvmsg()
getpeername()
getsockname()
 
5、名称到地址的转换
    在IPV4中,应用程序使用gethostbyname()函数来将主机名解析为一个或多个IP地址,
但它不允许调用者指定所需地址类型的任何信息,因此IPV6中引入一个名字getaddrinfo(
)的新API,此API与协议无关,此调用的返回值是addrinfo的结构指针,以后可用它来打开
和使用套接字,getaddrinfo()原型如下:
int getaddrinfo(
    IN const char FAR *nodename,
    IN const char FAR *servname,
    IN const struct addrinfo FAR *hints,
    OUT struct adrinfo FAR *FAR *res
    );
  struct addrinfo {
    int     ai_flags;     /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
    int     ai_family;    /* PF_xxx */
    int     ai_socktype;  /* SOCK_xxx */
    int     ai_protocol;  /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
    size_t  ai_addrlen;   /* length of ai_addr */
    char   *ai_canonname; /* canonical name for nodename */
    struct sockaddr  *ai_addr; /* binary address */
    struct addrinfo  *ai_next; /* next structure in linked list */
  };
 
6、地址到名称的转换
    反向查找可以通过使用另一个新的套接字函数getnameinfo()来进行,为使用此API,
调用者需要提供一个套接字地址结构。getnameinfo()原型如下:
int getnameinfo(
    IN const struct sockaddr FAR *sa,
    IN socklen_t salen,
    OUT char FAR *host,
    IN size_t hostlen,
    OUT char FAR *serv,
    IN size_t servlen,
    IN int flags
    );
    我们在编程时可以这样使用getaddrinfo()函数:
......
if (getaddrinfo(service_name,port,NULL,&ai)!=0)
{
    /*error handling */
}
conn_socket=socket(ai->ai_family,ai->ai_socktype,ai->ai_protocol);
if(conn_socket<0)
{
    /*eror handling*/
}
if(connect(conn_socket,ai->ai_addr,ai->ai_addrlen)==SOCKET_ERROR)
{
    /*error handling*/
}
freeaddrinfo(ai);
 
7、地址转换函数
    IPV4中使用inet_addr()和inet_ntoa()函数在IPV4地址的二进制格式和文本格式之间
进行转换,IETF也定了相似的函数inet_pton()和inet_ntop(),这两个函数是与协议无关
的,但XP和SERVER2003不支持这两个函数,而用getaddrinfo()和getnameinfo()来代替
 
8、套接字选项
    在IPV6专用的套接字选项中,定义了一个新的套接字选项级别——IPPROTO_IPV6。新
的套接字选项如下:
IPV6_MULTICAST_IF:将自内向外的多播通信流所使用的默认接口设置为由参数所指定的索
引所表示的接口(0表示由系统选择接口)
IPV6_MULTICAST_HOPS:根据参数来设置自内向外的多播数据包的跳限制。有效值在-1~255
之间,其中-1表示使用系统的默认值
IPV6_MULTICAST_LOOP:用于控制目标为一个多播组的自内向外的多播数据包是否被环回。
 
    对于多揪播通信流的接收,IPV6定义了新的选项来加入或离开一个多播组。这些选项
使用ipv6_mreq结构作为参数。
struct ipv6_mreq{
    struct in6_addr ipv6mr_multiaddr;
    unsigned int ipv6mr_interface;
  };
    新的多播套接字选项有:
IPV6_JOIN_GROUP:用于加入指定接口上的指定多播组(0表示由系统来选择接口)
IPV6_LEAVE_GROUP:用于离开指定接口上的指定多播组。
    另外,还有一个套接字选IPV6_UNICAST_HOPS来控制自内向外的单播数据包的跳限制。
 
9、新的宏
    为支持IPV6而新加入到WINDOWS套接字中的还有以下的宏集合,这些宏用于测试地址,
并确定它们是否为特殊的IPV6地址:
IN6_IS_ADDR_UNSPECIFIED
IN6_IS_ADDR_LOOPBACK
IN6_IS_ADDR_MULTICAST
IN6_IS_ADDR_LINKLOCAL
IN6_IS_ADDR_SITELOCAL
IN6_IS_ADDR_V4MAPPED
IN6_IS_ADDR_V4COMPAT
IN6_IS_ADDR_MC_NODELOCAL
IN6_IS_ADDR_MC_LINKLOCAL
IN6_IS_ADDR_MC_SITELOCAL
IN6_IS_ADDR_MC_ORGLOCAL
IN6_IS_ADDR_MC_GLOBAL
    如果地址是指定的类型,则前7个宏返回值为真。后5个宏用于测试多播地址的范围,
如果地址是指定范围的多播地址,则返回值为真;如果地址不是多播地址,或者不在指定
的范围之内,则返回值为假。
   IN6_IS_ADDR_V4MAPPED宏可用于确定套接字的目标地址是否是一个IPV4节点。XP和SER
VER2003系列的IPV6地址不支持IPV4映射地址。
 
10、不受支持的API
    XP和SERVER2003系列的IPV6协议不支持的API包括:
getipnodebyname(),getipnodebyaddr(),inet_pton(),inet_ntop()
有一系列的名称/接口索引转换不被支持,但可能以后支持。
 
更多信息请参考:RFC2553,RFC2292 
 


 



 

阅读(1409) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~