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
有一篇文章是如下解释的
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
相关文章推荐
- 【实验】通过DHCP服务器来实现不同VLAN间PC的IP自动获取
- LinuxDHCP中继,DHCP服务IP自动获取
- 如果客户机器无法从DHCP服务器中获取IP地址那么Windows Server 2003客户机器将会如何处理自己的TCP/IP设置
- 修改linux设置客户端连接,一般设置Ip以区别不同服务器。
- Linux查看dhcp服务器所出租过的IP信息
- linux dhcp(能获取ip,但ping不通)
- [2016-06-28]dhclient命令的进程没杀死,导致不断在向DHCP服务器获取IP
- linux 下dhcp 重新获取ip
- cetos配置DHCP服务器并使另一台虚拟机自动获取ip
- linux 环境下 用gethostbyname函数获取 DNS的服务器列表 名称 IP
- Linux下获取服务器出口IP
- Linux的shell脚本中获取当前服务器内网ip
- linux C++ 获取服务器外网IP地址(使用系统调用system)
- windows 2003 dhcp服务器,主机移动vlan获取原理ip
- DHCP服务器问题导致部分电脑无法自动获取到IP
- DHCP服务器提供IP及客户端获取IP地址过程的诊断信息
- linux php cli模式下获取服务器ip
- linux dhcp(能获取ip,但ping不通)
- 获取Linux和Window本机服务器IP的方法
- Linux下建立DHCP服务器和DHCP中继,为不同网段的客户端电脑分配不同网段的地址