Почему мой IP-адрес меняется каждый раз, когда я прошиваю новый rootfs?

awk 'NR == FNR { # First file
    split($0,a,/;/)
    #print "change " a[1] "to " a[2]
    change[a[1]]=a[2]
}
NR != FNR {
    for (i=1;i<NF;i++) {
            if ($i in change) {
                    $i=change[$i]
            }
    }
    print
}' file2 file1

Используйте идиому awk NR! = FNR, чтобы определить, первый это файл или второй. Если это первый файл, разделите строку на ; и сохраните отображение в массиве изменений. Если это второй, то переберите поле ввода, если есть совпадения, замените правильным изменением. В конце выведите результат.

2
14.09.2018, 20:06
2 ответа

Маловероятно, что маршрутизатор надолго запомнит связь между MAC-адресом и IP-адресом. MAC-адресов гораздо больше, чем IP-адресов, поэтому сервер DHCP должен быть готов последовательно выдавать один и тот же IP-адрес разным клиентам. Обычный сервер забудет об ассоциации MAC-IP, как только истечет срок аренды.

Однако клиент может помнить об этой ассоциации в течение длительного времени. Клиент DHCP может запросить определенный IP-адрес. Сервер может проигнорировать этот запрос; обычно он удовлетворяет запрос, если IP-адрес находится в нужном диапазоне и в настоящее время не назначен. Я подозреваю, что ваш клиент сохраняет информацию об аренде где-то (/var/lib/dhcp будет хорошим местом для поиска) и что ваш маршрутизатор обычно удовлетворяет запрос. Когда вы прошиваете новый rootfs, у него нет этой сохраненной аренды, поэтому маршрутизатор выбирает любой IP-адрес, который он предпочитает в эту минуту.

1
27.01.2020, 22:18

Вероятнее всего, вы найдете ответ, просмотрев свой маршрутизатор, а не систему. Просмотрев веб-интерфейс вашего маршрутизатора, вы сможете узнать:

  • Каково время аренды DHCP. Вы можете подтвердить, что срок действия вашей аренды DHCP просто истекает, что способствует назначению новых IP-адресов.
  • Посмотрите MAC-адрес вашего Raspberry Pi так, как его видит маршрутизатор. Вы можете подтвердить, что для вашего Pi отображается только один MAC-адрес или маршрутизатор каждый раз видит другой MAC-адрес, и поэтому назначается новый IP-адрес.
0
27.01.2020, 22:18

Теги

Похожие вопросы