узнать, когда изменился публичный IP-адрес (контроль сетевых настроек)

узнать, когда изменился публичный IP-адрес (контроль сетевых настроек)

Я хочу создать простой скрипт, который информирует меня (отправляя электронное письмо) об изменении моего публичного IP-адреса. (Что-то похожее на то, что делает dyn-dns-services).

Хорошо, я мог бы создать задание cron, которое каждую минуту проверяет мой публичный IP-адрес, и если он отличается от предыдущей минуты, я отправляю сообщение.

Но мой шлюз (которому назначен IP) — это машина Debian, поэтому я думаю, что должны быть решения получше. Есть ли известная папка, содержащая скрипты, которые выполняются каждый раз при изменении конфигурации сети? Или файл конфигурации, куда я могу добавить свой скрипт?

Есть идеи?

решение1

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

Пакет isc-dhcp-client, который, вероятно, вы используете, обеспечивает выполнение перехватов событий DHCP. По сути, вы можете поместить скрипт в /etc/dhcp/dhclient-enter-hooks.d, проверить соответствующие переменные среды, чтобы убедиться, что интерфейс и тип события DHCP — это то, что вам нужно, а затем делать то, что вам нужно.

Читатьэтотили посмотрите man dhclient-scriptв вашей локальной системе.

Если у вас есть и другие способы изменения IP-адреса, помимо DHCP, то ваш метод на самом деле хорош.

Связанный контент