Все ответы написаны с предположением, что межсетевой экран поддерживает запоминание состояний (stateful), а не работает просто по пакетам (stateless). Вероятно, раз вам задают такой вопрос, у оператора установлен stateless файрволл, и необходимо будет либо разрешить все
эфемерные порты, либо, если есть доступ к коду трекера, делать
bind()
сокета на определённый фиксированный порт перед совершением соединения.