Описания кейсов решения проблем DHCP.
Плавающая проблема когда абонент не может получить IP-адрес (SUP-647377)
Плавающая проблема когда абонент не может получить IP-адрес, описание задачи такое:
Перестал работать dhcpd сервер. Приходится каждый день перезапускать командой chroot /app/collector/ /etc/init.d/dhcpd restart
Чуть после дополнили (задача от 9 июня):
Когда перезапускаем dhcp он уже запущен, но не работает. Проблема наблюдается постоянно, сейчас она тоже есть. Адреса не выдаются, прописываем вручную.
При вводе команды для просмотра логов tail -f /app/collector/var/log/messages | grep DHCP
выводятся последние записи за 22 мая
Проблема палавающая и отловить в тестовой среде не получилось - поэтому сделали скрипт, которым можно получить основную вервичную диагностику.
К сожалению, проверить не удалось, так как проблема перестала появляться.
Как диагностировать
Если Вы столкнулись с какой-то проблемой DHCP, которая то появляется, то пропадает - можете начать с того что в момент когда проблема наблюдается, собрать такую диагностику:
- Выполните набор команд, они создадут нужные папку и файл с правильными правами
Предварительные дейсвтия
mkdir -p /root/dhcp_analysis/ chmod a+x /root/dhcp_analysis/get_info.sh
- В файл /root/dhcp_analysis/get_info.sh запишите следующее содержимое:
Содержимое скрипта /root/dhcp_analysis/get_info.sh
#!/bin/bash -x WORKING_DIR=/root/dhcp_analysis/ mkdir -p $WORKING_DIR NAMES_DATE=$(date "+%Y-%m-%d_%H%M%S") date "+%Y-%m-%d %H:%M:%S" ps aux | grep -E 'dhcpd|PID' cat /app/collector/var/run/dhcpd.pid cat /app/collector/etc/dhcp/dhcpd.conf | wc -l grep DHCPACK /app/collector/var/log/messages | tail grep -i dhcp /app/collector/var/log/messages | tail -n 1 netstat -nlp | grep dhcp ls -l /app/collector/etc/dhcp/dhcpd.conf DHCP_PID=`cat /app/collector/var/run/dhcpd.pid` ls -l /proc/$DHCP_PID/fd lsof -p $DHCP_PID 2>/dev/null ls /app/collector/mnt/var/lib/dhcpd/dhcpd.leases -l cat /app/collector/mnt/var/lib/dhcpd/dhcpd.leases | wc -l cp /app/collector/mnt/var/lib/dhcpd/dhcpd.leases $WORKING_DIR/dhcpd.leases_$NAMES_DATE cp /app/collector/etc/dhcp/dhcpd.conf $WORKING_DIR/dhcpd.conf_$NAMES_DATE
- В момент когда происходит проблема, выполните команду:
/root/dhcp_analysis/get_info.sh &> /root/dhcp_analysis/get_info.log
Файл соберёт лог выполнения в файл /root/dhcp_analysis/get_info.log и скопирует БД активных dhcp-лиз и конфигурационный файл. Вы можете проанализировать их самостоятельно и попробовать найти проблему. Если не получится разобраться, передайте полученные файлы в техподдержку.