2014-02-12 4 views
0

Я хочу переслать соединение xinetd в другой локальный порт (скажем, 12345). Я основывал свое решение на документации CentOS/Redhat. Глава 17. TCP Wrappers and xinetd, article 17.4.3.3. В этом примере конфигурация запускает демона, а также перенаправляет трафик на порт хоста:. Доко говорит, что он должен иметь возможность пересылать другой порт на ту же систему.Пересылка порта с xinetd

Моей целью является запуск демона (скажем, testmpp) при любом подключении на порту 12345 и перенаправление потока на конкретный порт (скажем, 54321). Сложный бит: я не хочу, чтобы демон (testmpp) читал из STDIN, вместо этого он должен иметь возможность читать из порта, куда xinetd пересылает трафик.

Я создал службу в/и т.д./услуг, например

testsmpp 12345/tcp 

И моя конфигурация Xinetd для демона является

service testsmpp 
{ 
    sock_type =  stream 
    protocol =  tcp 
    wait =   no 
    user =   root 
    server =  /home/me/bin/testsmpp   
    redirect =  54321 
} 

testsmpp прослушивает порт 54321. Проблема заключается в том, когда соединение производится из снаружи, xinetd запускает демон, но не перенаправляет трафик на 54321. После запуска сервера я могу напрямую подключиться к порту 54321, но соединение, выполняемое через xinetd (на порту 12345), не пересылается.

Являются ли теги сервера и перенаправления взаимоисключающими? Я рассмотрел дискуссию о xinet forking concurrent server, но моя мотивация несколько отличается. Я хочу слушать входящее соединение на другом порту, так как другое приложение будет взаимодействовать с демоном на этом порту в распределенной вычислительной среде.

Любые подсказки очень ценятся.

+0

Было бы хорошо, как вы получите ответ. http://stackoverflow.com/questions/28691913/program-running-and-redirected-with-xinetd-in-different-ports-for-centos – python123eu

ответ

1

Думаю, вам нужно использовать как ip, так и порт в перенаправлении. Что-то вроде

redirect = 127.0.0.1 54321 

если вы останетесь на одном и том же хосте. Это работало для меня, по крайней мере.

1

Это пример конфигурации, obtained from this source, и он работал на меня:

service smtp_forward 
{ 
    disable   = no 
    type   = UNLISTED 
    socket_type  = stream 
    protocol  = tcp 
    user   = nobody 
    wait   = no 
    redirect  = remote_server 25 
    port   = 2000 
} 
Смежные вопросы