Как программно определить динамический IP-адрес из-за подсети [дубликат]

Извините за вопрос новичка, но я пытаюсь создать специальный динамический DNS для надежного соединения двух машин в разных географических регионах. Моя проблема - это каждая команда, которую я пытаюсь (ifconfig, iwconfig, netstat и т. д.) дает мне IP-адрес из-за подсети (например, 10.0.0.1), но мне нужно иметь возможность сообщить другой машине, какой у меня текущий внешний IP-адрес, а не то, что он должен другие машины в моей подсети. Как я могу это сделать?

Бонусные баллы за советы о том, как это сделать в Python

-2
задан 7 October 2013 в 10:47
2 ответа

Если это устройство находится за NAT, сделать это невозможно. Устройство с NAT не знает, как его пакеты преобразуются на маршруте - это знает только устройство NAT (брандмауэр, маршрутизатор и т. Д.).

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

Если ваш вопрос - «как я могу узнать источник», мы можем помочь; если это «как я могу узнать это со своего компьютера, не обращаясь к внешним службам», на этот вопрос нет ответа.

Точно так же, если бы вы спросили «как мне узнать, какой IP-адрес моего компьютера преобразован в NAT? to ", тогда мы могли бы помочь, ведь на самом деле выше находится Jenny D; ответ не будет общепринятым и будет зависеть от марки устройства NAT, механизмов доступа, которые оно поддерживает в настоящее время, и так далее (хотя этот вопрос, вероятно, не относится к теме сбоя сервера и, вероятно, будет закрыт, даже как это могло бы быть). Но вы спросили: «Как мой компьютер узнает, к какому IP-адресу применяется NAT?», И на этот вопрос нет общего ответа.

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

3
ответ дан 5 December 2019 в 21:06

Если у вас нет доступа к межсетевому экрану / маршрутизатору / в любом случае вам понадобится какое-то устройство вне вашей сети, которое могло бы дать вам ответ на этот вопрос. Вы можете собрать что-то, что будет очищать, например, http://www.whatismyip.com/ , но это будет ненадежно, если вы не владеете или не платите за удаленную службу

2
ответ дан 5 December 2019 в 21:06

Теги

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