Задать вопрос
@tttttv

По каким портам слушается ответ на TCP запрос?

Коллеги, добрый день, заказали из Китая GPS-трекеры, они обмениваются с сервером TCP-пакетами с координатами, в настройках можно задать IP сервера и APN сим-карты.

Планируем их использовать на производстве, но есть один момент - там КСПД (то есть своя сотовая сеть LTE), поэтому в этой сети будет добавляться выход в глобальный интернет, чтобы трекер по запросу айпи адреса нашего сервера, искал его не в локальной сети, а отправлял в глобальный.

В этой сети стоит файрвол, соответственно нужно добавить айпи и порт в исключения. С исходящими запросами понятно - просто адрес сервера, который слушает TCP. Но от тех отдела производства поступил вопрос - трекер не только отправляет пакет, но и получает ответ от него, соответственно какие порты нужно добавлять в исключения для входящего трафика?
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
hint000
@hint000
у админа три руки
Это называется исходящий порт или порт источника. Он часто не фиксированный, а меняется в широких пределах (от 1025 до 65535).
С какого порта был отправлен запрос, на тот порт и придёт ответ. Это обязательный принцип.
Ответ написан
@brar
Либо надо разрешить на файрволе входящие вернувшиеся соединения (established connection) которые инициировали трекеры, либо разрешить все входящие с айпиадреса сервера откуда приходят такие соединения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Если это происходит в рамках одного и того же TCP-коннекта, инициированного с трекера, дополнительно ничего открывать не придётся.
Ответ написан
Комментировать
ValdikSS
@ValdikSS
Все ответы написаны с предположением, что межсетевой экран поддерживает запоминание состояний (stateful), а не работает просто по пакетам (stateless). Вероятно, раз вам задают такой вопрос, у оператора установлен stateless файрволл, и необходимо будет либо разрешить все эфемерные порты, либо, если есть доступ к коду трекера, делать bind() сокета на определённый фиксированный порт перед совершением соединения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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