Во-первых, парсить файлы конфигурации некорректно. И не совсем независимый от дистрибутива.
Моя первая идея заключалась в том, чтобы искать запущенные процессы dhclient, но в каждом дистрибутиве используется другая эзотерическая командная строка. Даже само двоичное имя меняется. В Fedora это dhclient. В Ubuntu это dhclient3.
Есть ли что-то в / proc или / sys, указывающее на то, что IP-адрес является динамическим?
Вы жадно ходили /var/lib/dhcp*/dh*lease*
?
В моей системе Ubuntu, например, /var/lib/dhcp3/dhclient-eth0.lease
содержит информацию о текущих и недавних договорах аренды.
Проверьте DHCP-сервер на предмет аренды, который соответствует MAC-адресу сетевой карты.