Косяки с не доставкой UDP

Metal Messiah
На сайте с 01.08.2010
Offline
163
385

DEL. Какой-то глюк файрвола, перезагрузка решила проблему.

Добрый день. У меня довольно интересный баг.

Есть сайт (PHP) на сервере 51, скрипт отправляет пакет одному из демонов (сервер 51 или сервер 46) и получает от него ответ (состояние отработки команды). Все хорошо работало когда это все было на сервере 51. Сейчас я параллельно подключаю сервер 46 (без сайта, естественно, только демон и то что он выполняет).

С сайта (php на сервере 51) отправляется пакет на демон на сервере 46, пакет приходит, обрабатывается, ответ не доходит до php скрипта.

Думал на файрвол, на таймаут (ставил аж 30 хотя сервера в одном ДЦ), даже с бубном танцевал.
Написал на коленке тестовое приложение, которое отправляет на вшитый адрес-порт тестовый пакет и получает ответ от демона что команда не верная (зачем гонять лишний раз). На локалхосте работают оба. Кстати, php с денвера тоже ответ получает.
Далее залил оба бинарника (test46 и test51) на оба сервера и проверил каждый - тоже не доходит в этом направлении

Итого: теряется только пакет ответа на запрос 51 к 46 (направление 46 -> 51).
Запросы от 46 к 51 доходят нормально, хотя то же направление движения пакета
Скрипт тривиальный:

$fp = @fsockopen('udp://'.$ip, $port);
if($fp)
{
stream_set_timeout($fp, 5);
fwrite($fp,"TEST 12345");
$output = fread($fp,128);
echo "OUT: $output<br>";
fclose($fp);
}

Выводится OUT: <br>

Откуда растут ноги?
anonymous, думай что говоришь и не забывай подписать отзыв :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий