满天星 发表于 2010-12-12 09:42:23

Dibbler:IPv6下的DHCPv6 Client、Relay、Server软件

Dibbler是目前支持DHCPv6功能最全的软件,它支持DHCPv6的无状态地址自动配置、有状态地址自动配置,支持Linux 2.4/2.6, Windows NT/2000/XP/2003/Vista/Win7 与 Mac OS等各种操作系统,支持Client、Relay、Server各种工作模式。
官方网站:http://klub.com.pl/dhcpv6/
SourceForge地址:http://sourceforge.net/projects/dibbler/
请通过以上网站下载源代码或各操作系统下的安装程序。

(以下功能列表为2010.12.12日发布的功能,最新的详细支持信息请以官方网站为准,仅供参考)

操作系统支持说明:
Windows XP, x86
Windows 2003, x86
Windows 2000, x86 (experimental)
Windows NT4, x86 (experimental)
Linux, x86
Linux, IA-64
Linux, HPPA
Linux, AMD64
Linux, Sparc
Linux, PowerPC
Linux, MIPS
Linux, IBM S390
Linux, Motorola m68k

支持的功能列表:
Feature List

Server discovery and address assignment (SOLICIT, ADVERTISE, REQUEST and REPLY messages) - This is a most common case: client discovers servers available in the local network, then asks for an address (and possibly additional options like DNS configuration), which is granted by a server.
Best server selection - when client detects more than one server available (by receiving more than one ADVERTISE message), it chooses the best one and remembers remaining ones as a backup.
Multiple servers support - Client is capable of discovering and maintaning communication with several servers. For example, client would like to have 5 addresses configured. Prefered server can only grant 3, so client send request for remaining 2 addresses to one of the remaining servers.
Relay support - In a larger network, which contains several Ethernet segments and/or wireless areas, sometimes centrally located DHCPv6 server might not be directly reachable. In such cace, additional proxies, so called relays, might be deployed to relay communication between clients and a remote server. Dibbler server supports indirect communication with clients via relays. Standalone, lightweight relay implementation is also available. Clients are capable of talking to the server directly or via relays.
Leasequery - From the sysadmin's perspective, it is often beneficial to check which address has been assigned to a specific client or who got a specific address. To do so, it is possible to query server for such information. There is a special type of DHCPv6 entity called requestor that performs such queries and parses server's answers.
Address renewal - After receiving address from a server, client might be instructed to renew its address at regular intervals. Client periodically sends RENEW messege to a server, which granted its address. In case of communication failure, client is also able to attempt emergency address renewal (i.e. it sends REBIND message to any server).
Unicast communication - if specific conditions are met, client could send messages directly to a server's unicast address, so additional servers does not need to process those messages. It also improves effciency, as all nodes present in LAN segment receive multicast packets.
Duplicate address detection - Client is able to detect and properly handle faulty situation, when server grants an address which is illegaly used by some other host. It will inform server of such circumstances (using DECLINE message), and request another address. Server will mark this address as used by unknown host, and will assign another address to a client.
Power failure/crash support - After client recovers from a crash or a power failure, it still can have valid addresses assigned. In such circumstances, client uses CONFIRM message, to config if those addresses are still valid.
Normal and temporary addresses - Depending on its purpose, client can be configured to ask for normal (IA NA option) or temporary (IA TA option). Although use of temporary addresses is rather uncommon, both dibbler server and client support it.
Hint system - Client can be configured to send various parameters and addresses in the REQUEST message. It will be treated as a hint by the server. If such hint is valid, it will be granted for this client.
Server caching - Server can cache granted addresses, so the same client will receive the same address each time it asks. Size of this cache can be configured.
Stateless mode - Client can be configured to not ask for any addresses, but the configuration options only. In such case, when no addresses are granted, such configuration is called stateless (INFORMATION-REQUEST message is used instead of normal REQUEST).
Rapid Commit - Sometimes it is desirable to quicken configuration process. If both client and server are configured to use rapid commit, address assignment procedure can be shortened to 2 messages, instead of usual 4. Major advantage is lesser network usage and quicker client startup time.



Also following extensions are supported:
DNS Servers - During normal operation, almost all hosts require constant use of the DNS servers. It is necessary for event basic operations, like web surfing. DHCPv6 client can ask for information about DNS servers and DHCPv6 server will provide necessary information.
Domain Name - Client might be interested in obtaining information about its domain. Properly configured domain allow reference to a different hosts in the same domain using hostname only, not the full domain name, e.g. alice.example.com with properly configured domain can refer to another host in the same domain by using 'bob' only, instead of full name bob.example.com.
NTP Servers - To prevent clock misconfiguration and drift, NTP protocol can be used to synchronize clocks. However, to successful use it, location of near NTP servers must be known. Dibbler is able to configure this information.
Time Zone - To avoid time-related ambiguation, each host should have timezone set properly. Dibbler is able to pass this parameter to all clients, who request it.
SIP Servers - Session Initiation Protocol (SIP) is commonly used in VoIP solutions. One of the necessary information is SIP server addresses. This information can be passed to the clients.
SIP Domain Name - SIP domain name is another important parameter of the VoIP capable nodes. This parameter can be passed to all clients, who ask for it.
NIS, NIS+ Server - Network Information Service is a protocol for sharing authentication parameters between multiple Unix or Linux nodes. Both NIS and NIS+ server adresses can be passed to the clients.
NIS, NIS+ Domain Name - NIS or NIS+ domain name is another necessary parameter for NIS or NIS+. It can be obtained from the DHCPv6 server to all clients, who require it.
Option Renewal Mechanism (Lifetime option) - All of the options mentioned on this list can be refreshed periodically. This might be handy if one of those parameters change.
Dynamic DNS Updates - Server can assign a fully qualified domain name for a client. To make such name useful, DNS servers must be informed that such name is bound to a specific IPv6 address. This procedure is called DNS Update. There are two kinds of the DNS Updates: forward and reverse. First is used to translate domain name to an address. The second one is used to obtain full domain name of a known address.
Prefix Delegation - Server can delegate a prefix to a client. That feature is intended to be used mainly by routers, which obtain prefixes from an upper level router. Client after receiving prefix, will generate smaller prefixes for each available interface.

zhongr130 发表于 2011-6-9 10:01:08

好东西啊~~~试试 试试

wuhanqing 发表于 2011-7-1 21:33:46

下了不会用

满天星 发表于 2011-7-23 10:30:22

这个很简单的,装完直接运行client就行了,server或relay就自己看参数或手册!
也就一个配置文件就可以运行了!
例如client的配置,应该可以直接运行的,或者找到client.conf,将里面的网卡名称eth0改为windows下你需要使用的网卡名称(例如:本地连接),记得还有配置文件叫client-windows.conf(好像是这个名字,里面写的网卡名称是本地连接的英文local area network)
程序可以使用服务运行(在后台运行),也可以使用console运行(打开一个dos窗口,会显示各种地址获取及调试信息、错误信息,关闭了就停止运行了)

coke2007 发表于 2011-11-2 13:26:24

这个软件的server端如如何配置啊?

client端可以发送solicit了,但是server不回复?

坐等高手……

满天星 发表于 2011-11-2 19:33:50

参考安装完毕以后自带的帮助文件么!同时也提供了很多server端的sample config文件,以不同的配置文件名保存在安装目录下面了,自己摸索一下吧!
里面写的很清楚了,基本和client类似么

coke2007 发表于 2011-11-3 10:09:23

我做的是支持relay的server,配置文件是这样的:
iface relay1 {

// also ranges can be defines, instead of exact values
relay LAB
interface-id 5020
prefered-lifetime 3600
valid-lifetime 7200

# assign addresses from this pool
class {
   pool 2000::/64
}

但是,client获取不了地址,server可以收到client的请求,但是不回复,log日志里报错信息如下:
09:34 Srv Info      RELAY_FORW was decapsulated: link=2000:3::, peer=fe80::219:5bff:fe2e:e331, interfaceID=892351024
09:34 Srv Warning   No relay interface defined on the LAB/5
09:34 Srv Error   Unable to find relay interface with interfaceID=892351024 defined on the LAB/5 interface.

坐等高手……

满天星 发表于 2011-11-3 22:31:12

第一次听说还有支持relay的server啊……您老玩的太高级了,有这样玩的吗?
relay就配置一个iface?
请自己参考安装文件自带的relay.conf文件吧,不解释了。

coke2007 发表于 2011-11-6 21:13:01

已经搞定,配置没有问题,主要是没有重启服务,重启服务一下就好了。

hongwang777 发表于 2015-1-21 13:31:52

部分城市已经开通ipv6双栈服务。我的XP-sp2却无法上ipv6网络。根据网上的有关说明做了相应的设置:http://nic.seu.edu.cn/20/27/c8864a73767/page.htm
运行了dibbler 但是运行至.....1386 之后一段时间,却搜索不到电信的240e开头的地址。这可能是什么原因呢?微软防火墙关闭,6to4隧道无论开启或关闭都不行。
虽然校园网与电信个人双栈服务有所不同,但原理是一样的呀! 请经验者指教,谢谢。
页: [1] 2
查看完整版本: Dibbler:IPv6下的DHCPv6 Client、Relay、Server软件