您的位置:首页 > 运维架构 > Linux

linux下向dhcp服务器获取不同的ip

2011-11-20 09:43 225 查看
在使用dhcp自动获取ip时发现,经常好多天服务器都给自己分配的是同一个ip, 这跟自己预想的会随分配ip有很大的不同。
有一篇文章是如下解释的
DHCP服务器优先分发尚未出租的最前IP地址,以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。(如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。)另外,DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

简而言之就是,客户机会向服务器申请上一次自己使用的ip,如果该ip没有被分配出去,那么服务器就把它给你使用。
所以地址池较大而客户机较少的情况下很容易出现自己n天都使用同一个ip的情况

问题是有时候自己想换个ip用用 又不好办了 dhclient -r , dhclient 后拿到的还是上一个ip。

在我的gentoo中的/var/lib/dhcp目录下有个dhclient.leases文件
这里面就是用户租约所记录的信息
gentoo dhcp # cat dhclient.leases
lease {
interface "eth0";
fixed-address 10.16.121.109;
option subnet-mask 255.255.255.192;
option routers 10.16.121.126;
option dhcp-lease-time 7200;
option dhcp-message-type 5;
option domain-name-servers 8.8.8.8;
option dhcp-server-identifier 10.16.121.124;
option broadcast-address 10.16.121.127;
option domain-name "dns";
renew 0 2011/11/20 01:08:58;
rebind 0 2011/11/20 01:08:58;
expire 0 2011/11/20 01:08:58;
}
找到它后,后明白了,dhclient会向服务器申请这里面的ip。所以要想换个ip可以把该文件清空,或者直接修改为自己想要ip。

至于windows下该怎么处理,我暂时没找到方法。顺便求教
本文出自 “厚积薄发” 博客,请务必保留此出处http://ceyes.blog.51cto.com/2377614/719585
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: