Может ли Ubuntu запросить у модема или маршрутизатора IP-адрес, указанный его провайдером, и зарегистрировать его?

Я подключен к Интернету через модем ADSL, мой интернет-провайдер дает мне IP-адрес, регистрирует ли где-нибудь Ubuntu этот IP-адрес?

Как я могу настроить Ubuntu для регистрации IP-адреса?

2
задан 26 August 2013 в 22:13

2 ответа

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

Некоторые из услуг:

Пример:

curl icanhazip.com будет выводить на клемму

[ 1116] curl icanhazip.com > my_public_ip.txt создаст или переместит текстовый файл с именем my_public_ip.txt вместе с IP.

curl icanhazip.com >> my_public_ip.txt будет добавлять общедоступный IP-адрес при каждом запуске команды.

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

Простейшая версия может быть:

#!/usr/bin/env bash

curl icanhazip.com >> my_public_ip.txt
0
ответ дан 26 August 2013 в 22:13

Регистрация адреса вашего ПК

Если ваш модем является чисто модемом и ваш компьютер подключается к вашему провайдеру напрямую, то полученный IP-адрес будет записан в системные журналы в /var/log/syslog. Если вы хотите, чтобы эту информацию было легче извлечь, вы можете войти в отдельный файл.

Если ваш провайдер предоставляет PPP-соединение, то сценарии в /etc/ppp/ip-up.d выполняются каждый раз, когда вы подключаетесь (или /etc/ppp/ipv6-up.d, если у вас есть подключение IPv6). Добавьте сценарий с именем /etc/ppp/ip-up.d/zzz_log_ip_address:

#!/bin/sh
echo "$PPP_LOCAL $(TZ=UTC date '+%Y-%m-%d %H-%M-%S')" >>/var/log/ip-addresses

Если ваш провайдер предоставляет соединение Ethernet, то сценарии в /etc/network/if-up.d выполняются при каждом подключении. Добавьте сценарий с именем /etc/network/if-up.d/zzz_log_ip_address:

#!/bin/sh
if [ "$IFACE" = "lo" ]; then exit; fi # skip loopback interface
address=$(ip addr show eth1 | awk '$1 == "inet" {sub("/.*", "", $2); print $2}')
echo "$address $(TZ=UTC date '+%Y-%m-%d %H-%M-%S')" >>/var/log/ip-addresses

Получение вашего интернет-адреса

Адрес вашего ПК в локальной сети может не совпадать с адресом, с которым вы подключаетесь к Интернету, из-за NAT, . NAT позволяет многим машинам в сети устанавливать исходящие соединения с одного IP-адреса. Многие ADSL-модемы фактически являются маршрутизаторами и устройствами NAT, а не модемом. Если ваш модем предлагает Wi-Fi, это почти наверняка устройство NAT. Если ваш модем позволяет подключаться нескольким компьютерам (при этом один из компьютеров не настроен для совместного использования подключений), это устройство NAT.

Если ваш компьютер находится за NAT, то единственный способ узнать, какой у него Интернет-адрес, - это запросить удаленный компьютер. Есть много общедоступных веб-сайтов , которые предоставляют эту информацию. Вы можете получить эту информацию в любое время, но вы не будете знать, когда она изменится. Большинство интернет-провайдеров время от времени изменяют ваш IP-адрес, поскольку это облегчает балансировку нагрузки в их оборудовании. Обычно это происходит один раз в день или раз в несколько дней.

Если вы хотите регулярно регистрировать свой IP-адрес, вы можете выполнить cron задание . Обратите внимание, что если ваш адрес меняется несколько раз между запусками задания, у вас нет возможности узнать. В вашем crontab:

0 * * * * $HOME/bin/log-ip-address

Сценарий ~/bin/log-ip-address:

#!/bin/sh
log_file=~/.ip-addresses.log
address=$(wget -q -O - http://ipecho.net/plain)
previous=$(awk 'END {print $1}' <"$log_file") 2>/dev/null
if [ "$address" != "$previous" ]; then
  echo "$address $(TZ=UTC date '+%Y-%m-%d %H-%M-%S')" >>"$log_file"
fi

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

0
ответ дан 26 August 2013 в 22:13

Другие вопросы по тегам:

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