【问题现象】
客户机启动后获取DHCP界面卡住,DHCP信息中缺少网关,如下图:
【原因说明】
无盘服务端设置的网关地址错误。
【解决方案】
修改为正确的网关地址。
【问题分析】
1.按照过去的经验,出现这种问题一般都是arp绑定错误导致,或者tftp69端口占用之类的原因。
2.但是用户是新做的网吧,用的也是我们的专供服务器(服务器带2008R2操作系统),因此第一条排除。
3.后来用户在解决问题过程中有提到有2个网关,突然想起大叔曾遇到过客户机的网关地址写错导致卡tftp问题,于是检查客户机信息发现用户把客户机的网关地址写成了255.255.255.0了,改成正确的192.168.0.254后问题解决。
为什么网关地址写错,会导致tftp卡在那里呢?看一下抓包数据。
192.168.30.100是客户机的IP地址,子网掩码是255.255.255.0,我故意将网关地址由正确的192.168.30.1改成了192.168.40.1结果通过抓包看到神奇的现象,客户机(mac地址:00-0C-29-4D-ED-30)一直在向网络中请求192.168.40.1这个地址对应的mac地址,但是请求不到,于是就卡在这里,tftp都出不来。
原因就在这里了,当tftp通讯时,tftp客户端默认就会向网关地址发送arp请求包,此时会出现几种情况。
1.例如这个案例中的错误——网关地址填写错误,且这个网关地址与客户端IP地址不在同一网段。在这种情况下,tftp客户端就会向网关地址发送arp请求以获得网关的mac地址,如果请求不到就会出现在dhcp界面不显示GATEWAY地址的现象。(这是很弱智的情况)
当然解决这种问题有2种做法:
做法A:将子网掩码设置更大一些,此时客户机就可以正常启动,但是要知道,客户机启动后发现网关地址是错的,就上不了网了。
做法B:将网关地址修改正确,这才是王道,例如下图,下图中的192.168.30.1即为正确的网关地址,客户机可无故障启动。
2.如果客户机的IP地址和网关在同一个IP地址段时,而网关地址又ping不通,比如网关服务器(通常就是路由器)关机时,是否会出现问题呢?
答:不会,如果是客户机IP地址段和网关在同一个网络时,无论网关地址是否能够ping通,都不影响tftp工作。
3.如果网吧有arp欺骗时,会怎么样呢?
答:如果网吧有arp欺骗,且欺骗的是网关地址,客户机启动时很可能会因为接收到错误的网关mac地址信息,导致客户机启动tftp time out错误,这也就是为什么我们平时路由上将客户机的ip与mac地址绑定错误后,会出现无盘客户机无法正常开机的原因。