查看: 38397|回复: 10

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

满天星 发表于 2010-12-12 09:42:23 | 显示全部楼层 |阅读模式
Dibbler是目前支持DHCPv6功能最全的软件,它支持DHCPv6的无状态地址自动配置、有状态地址自动配置,支持Linux 2.4/2.6, Windows NT/2000/XP/2003/Vista/Win7 与 Mac OS等各种操作系统,支持Client、Relay、Server各种工作模式。


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的配置,应该可以直接运行的,或者找到client.conf,将里面的网卡名称eth0改为windows下你需要使用的网卡名称(例如:本地连接),记得还有配置文件叫client-windows.conf(好像是这个名字,里面写的网卡名称是本地连接的英文local area network)
coke2007 发表于 2011-11-2 13:26:24 | 显示全部楼层


 楼主| 满天星 发表于 2011-11-2 19:33:50 | 显示全部楼层
参考安装完毕以后自带的帮助文件么!同时也提供了很多server端的sample config文件,以不同的配置文件名保存在安装目录下面了,自己摸索一下吧!
coke2007 发表于 2011-11-3 10:09:23 | 显示全部楼层
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

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 | 显示全部楼层
coke2007 发表于 2011-11-6 21:13:01 | 显示全部楼层
hongwang777 发表于 2015-1-21 13:31:52 | 显示全部楼层
运行了dibbler 但是运行至.....1386 之后一段时间,却搜索不到电信的240e开头的地址。这可能是什么原因呢?微软防火墙关闭,6to4隧道无论开启或关闭都不行。
虽然校园网与电信个人双栈服务有所不同,但原理是一样的呀! 请经验者指教,谢谢。
您需要登录后才可以回帖 登录 | 注册


Archiver|手机版|小黑屋|IPv6BBS ( 京ICP备13024693号 | 京公网安备11010802012238 )

GMT+8, 2022-12-7 07:26 , Processed in 0.025432 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表