一起学DHCP系列(三)理解、APIPA

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162407

     这是《一起学DHCP》系列的第三节。

     上节中,我们提到了APIPA,这节里我们将详细讲解有关APIPA的相关知识点。当我们将网卡属性设置为自动获取后,如果客户端在一定时间内无法找到并从DHCP服务器或PPP协议获取到IP地址,那么系统就自动启用一种备选方案,也就是使用APIPA给客户端临时分配一个169.254.X.X的IP地址,具体范围是169.254.0.1—169.254.255.254,子网掩码均为255.255.0.0。这里的APIPA为Automatic Private IP Addressing的缩写,即为自动专用IP寻址, 当系统接入网络后,且长时间无法获取到IP地址,系统为了减少性能消耗(尽管这种消耗微乎其微),就会采取这种措施来避免永不休止的查找。这是一种应急的机制,作用并不是简单的分配一个IP,请注意这个名称最后的单词,IP Addressing,而并非IP Address。那这又有什么区别呢?稍后就会讲到。

我们先来看一个例子这里我模拟了一个客户端无法联系到DHCP服务器的场景,此时客户端获取到了一个169.254.X.X的IP地址。如下图:

1.jpg

这里请注意两个地方:

1、我使用的查询命令是ipconfig /all。大家都知道用这个命令可以把所有的重要参数都查询出来,包括IP地址、掩码、网关、DNS、MAC等等。但在上图中只有IP地址、掩码和MAC,并没有网关、DNS。原因是因为APIPA分配的网络信息只包含IP地址和子网掩码,比武其他。

2、请注意IP地址前的名称是“Autoconfiguration IP Address”,而不是正常情况下的“IP Address” 。从这点上我们也可以区别IP地址的来源。

还记得刚才那个问题吗?为什么DNS可以独立配置呢?其实也是出于这个的考虑。我们可以为APIPA手工设置一个DNS地址。还是刚才的环境,我们为这个地址

169.254.155.85配置一个DNS,1.1.1.1 。如下图:

 2.jpg

通过 ipconfig /all 查询。如下图:

3.jpg

可以看到,我们为这个地址设置的DNS生效了。那我们是否可以自己定义在这个IP呢?当然可以。在【备用配置】选项卡里,我们还可以手工设置IP地址。如下图:

4.jpg

别的信息我没有填写,其实都是一样的。通过这样的设置,其目的在于当DHCP服务器不可用,系统会将此地址分配给该网卡,而不会使用169.254这样的地址。

其实这个功能非常好用。如何使用?先来看一个场景,大家也一定都遇到过。

    有这么一个客户,在家时笔记本连接路由器并通过ADSL上网,为网卡设置了一个固定IP地址192.168.1.1。在公司,内网部署了DHCP,此时会从DHCP服务器获取一个10.0.0.10的IP,这样有两套不同的网络配置,如何做到两边都能顺利使用呢?通常的解决办法,或是手动修改地址,或是通过第三方软件辅助切换。但如果将192.168.1.1的IP设置在上图的选项中,那么在家的时候由于没有DHCP,则会自动使用这个地址,在公司,这个地址会被忽略掉,因为存在可用的DHCP服务器,客户端可以直接获取IP地址。这样一来用户就不用来回切换了,也不必使用第三方软件,基本可以做到无缝连接。有机会的话,还是希望大家可以试一下这个方法。

   我们再回到APIPA上来。对于默认分配的169.254这样的IP,和我们手工设置的有什么区别呢?大家千万不要看到网卡连接图标上有一个感叹号就觉得网络肯定有什么问题。其实不然,我们来做个测试就知道了。这样有两台主机,主机名分别是win2k3和XP2,都接在一个交换机上。由于网内没有DHCP服务器,自然都是通过APIPA获取IP地址。分别查看一下两台主机上的IP地址。如下图:

Win2k3:

5.jpg

XP2:

6.jpg

在XP2上PING一下Win2k3。如下图:

7.jpg

网络访问测试。如下图:

8.jpg

访问Win2k3的C盘。如下图:

9.jpg

可见,尽管是169.254之类的IP,但其实和我们手动设置的没有什么区别,只是似乎在一个局域网内这样的客户端的最大数量有一个限制,好像是要少于25台,这个我没有测试过,还没有这样的环境,所以无法得知这个限制是否存在。

我们也可以在注册表中将APIPA这个功能禁止掉,可以针对某个网卡,也可以针对全部的网卡。打开注册表后,请定位到以下位置:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\这个下面会对应当前网卡的标识符,在相应的标记符下新增一个名为 IPAutoconfigurationEnabled 

的DWORD值,并将其值设为十六进制的0即可。修改完成后重启才能生效。如果想禁用全部网卡的这个功能,则在interfaces下增加相同的键值。关于禁用APIPA的方法算是个补充知识,稍作了解即可。

还记得之前提到过有关IP Addressing的问题吗?为什么这里是addressing 而不是address呢? 当默认使用APIPA获取一个169.254的地址后,系统并非就这样一直使用这个地址,而是会每隔一段时间就会向网内发送DHCP DISCOVER数据包,这个间隔时间大约是5分钟。在此期间,系统还会随机进行DHCP服务器的查询,如果查询到DHCP并获得了一个IP,那么就会将169.254的IP释放掉。从这里我们可以看到,APIPA提供的是一套冗余IP配置和寻址的结合方案,显然这里使用addressingaddress意义更广泛。我们从协议层面来加深一下理解:

主机启动后,就会发送DHCP Discover包查询DHCP。如下图:

10.jpg

很显然,由于没有找到DHCP服务器,所以就会得到169.254的IP,但并不表示以后都不在搜索DHCP了,默认情况下会每隔5分钟进行一次集中的查询,其余时间也会进程查询,但由于还有别的程序或者协议在运行,所以就显得不那么集中。如下图:

11.jpg

到此为止,有关APIPA相关的一些知识点就说完了,下一节会讲到DHCP服务器的安装和配置。

谢谢!

转自:http://jeffyyko.blog.51cto.com/28563/162407

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/1559

(1)
s19930811s19930811
上一篇 2015-03-25
下一篇 2015-03-25

相关推荐

  • N25-Bazinga-第三周作业

    N25-Bazinga-第三周作业 1.列出当前系统上登录的所有用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# w | cut -d' ' -f1 | uniq -c |&nbs…

    Linux干货 2016-12-21
  • Linux基础知识(二)

     本文的主要内容是:  1.Linux上的基本文件管理命令  2bash的特性及其命令状态返回值  3.bash的花括号展开机制  4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息  5如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?  &nb…

    Linux干货 2016-09-25
  • quota AND raid

    1.磁盘配额 将home目录独立出来单独的分区,限制用户的使用。 (1)先创建分区,如下图的分区sda6 (2)命令同步系统的新增加分区:partx –a /dev/sda (3)命令格式化新分区:     (4)把创建的设备挂载到/mnt/home下    (5)迁移数据,移动之前要确保home分区没有使用。权限是保…

    Linux干货 2016-09-19
  • linux文件基本权限、默认权限、隐藏权限和ACL权限

    基本权限    文件属性rwx     每个文件当用ls -l查看时,都会显示文件的详细属性信息,其中在排在首位的共有10位字符信息     例如 -rw-r–rw-. 1 root root …….. 共有10位,第一位代表的是文件的类型,后边9位表示的是文件的…

    Linux干货 2016-08-04
  • 一. DHCP,TFTP, DNS 配置

    练习在CentOS6上配置DHCP, TFTP, DNS服务 1. 首先按下图所示搭建网络拓扑图 2017-07-11 151425-001.png Server1 服务器IP: 192.168.20.101/24GATEWAY: 192.168.20.2DNS: 192.168.20.2 Server2 服务器IP: 192.168.20.102/24GA…

    Linux干货 2017-07-11
  • N28第五周

    1、简述rpm与yum命令的常见选项,并举例
    2、自建yum仓库,分别为网络源和本地源
    3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
    4、简述sed常用操作命令,并举例

    Linux干货 2018-01-03