Добрый день. Подскажите пожалуйста, есть ли способ определить ip адрес контроллера удаленного. Может ли контроллер отправить, например, http запрос на сервер, а сервер увидит с какого адреса пришел запрос и тем самым узнает ip?
Вид для печати
Добрый день. Подскажите пожалуйста, есть ли способ определить ip адрес контроллера удаленного. Может ли контроллер отправить, например, http запрос на сервер, а сервер увидит с какого адреса пришел запрос и тем самым узнает ip?
Оно так и работает, но возможны и вполне вероятны различные посредники.
если на контроллере указан его мас адрес и известна в целом сеть предприятия, где он установлен, то из линха командой nmap легко и быстро узнать IP.
интересно, плк так удален, что рядом ни одной души ?
ПЛК могут находиться в разных точках земли. Сейчас для связи нашего сервера с ПЛК нам приходится получать статический адрес для выхода в интернет. То есть на данный момент сервер знает, что, например, на ip 101.100.111.100 на порту 1200 находится плк и он с ним успешно соединяется. Но так как на некоторых наших объектах нет возможности протянуть проводной интернет, приходится использовать gsm модемы, а у сотовых операторов не всегда получается получить статический ip. Вот и хотелось бы, чтобы контроллер, выходя в интернет, сам "постучался" на сервер, передал какой-то http запрос, а сервер увидит с какого ip этот запрос пришел.
1. Попросить у оператора статический адрес.
2. DynDNS, если IP белый.
3. VPN, если за NATом и можно поставить роутер на стороне ПЛК.
Есть несколько путей при отсутствии реальных IP на объектах
1. получение ПЛК серого IP провайдера, так же на сервере модем с серым IP провайдера - договор с провайдером об организации сети на пуле серых IP адресов, принадлежащих только вам и никому больше
2. к плк устанавливать роутер с возможностью поднятия VPN каналов, сервер должен иметь реальный статический IP адрес и являться сервером VPN. тогда пофигу на провайдеров, за роутером можно разворачивать свои сети с несколькими ПЛК и т.д.
3. Привязывание реального динамического IP, если таковой выдается провайдером к различным службам DNS, например роутеры имеют такие функции со службами DNS от производителя роутера (модема)
Серый IP, даже если вы напишите программу в ПЛК для определения на 99% расположен за NAT провайдера и вы, даже зная его никогда не попадете на ПЛК, вас просто файрволы провайдера пошлют лесом.
а вот так попробуйте узнать свой локальный и публичный адрес https://diafygi.github.io/webrtc-ips/
Узнать мы можем какой ip присваивает провайдер при подключении к интернету. Но он при каждом подключении разный же. Придется каждый раз в ручную менять ip адрес на сервере.
Сейчас рассматривается вариант с установкой роутера (у сервера статический ip). но было бы удобнее все таки, чтобы контроллер это делал.
Контроллер может, например, обратиться к серверу который capzap указал?
Из темы http://www.owen.ru/forum/showthread.php?t=19063 выходит, что это возможно. Но используя пример из этой темы ничего не получается. Пробовали пример с диска где контроллер ping отправляет на сервер, в этом случае сервер тоже не видит с какого ip идет ping.
А зачем вы контроллеры голым задом в Сеть выставляете вообще? Ждёте, когда они под раздачу хакерам попадут? Ставьте роутер с VPN лучше.
Скорее всего к роутеру и придем.
Вопрос безопасности тоже интересует. Если контроллер в сети и у роутера нет проброса порта 1200 то может хакер как-то навредить?