Conectando uma porta no linux de outra máquina

2

Estou indo rápido para fazer essa pergunta, então peço desculpas.

Estou no Linux Fedora 23.

Estou executando um aplicativo Telegram-CLI ouvindo uma porta usando esse argumento.

-P 1337

Tudo bem e funciona bem. Eu verifiquei a conexão por Telnet no mesmo sistema operacional (máquina) e a conexão é perfeita.

Agora o problema está começando.

Eu não consigo acessar essa porta usando outra máquina.

Eu poderia fazer telnet de outra máquina para a porta 80 nessa máquina e ter uma boa conexão com o serviço apache. mas eu não consigo conectar essa porta (1337) de outra máquina.

Até desativei todos os firewalls a seguir, mas nada mais.

firewallD
iptables
ip6tables


Eu até tentei conectar aquela porta do php na mesma máquina, e eu surpreendi, nada mais:

arquivo error_log do apache:

[Wed Feb 10 17:15:38.397896 2016] [:error] [pid 1171] [client 10.0.1.24:54434] PHP Warning:  stream_socket_client(): unable to connect to tcp://127.0.0.1:1337 (Permission denied) in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php on line 48
[Wed Feb 10 17:15:38.397987 2016] [:error] [pid 1171] [client 10.0.1.24:54434] PHP Fatal error:  Uncaught exception 'Zyberspace\Telegram\Cli\ClientException' with message 'Could not connect to socket "tcp://127.0.0.1:1337"' in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php:51\nStack trace:\n#0 /var/www/html/example.php(10): Zyberspace\Telegram\Cli\RawClient->__construct('tcp://127.0.0.1...')\n#1 {main}\n  thrown in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php on line 51

Eu até tentei conectá-los por conexão do tipo Unix:

unix:///etc/tg.sck

e nada de novo

arquivo error_log do apache:

[Tue Feb 09 19:20:04.039823 2016] [:error] [pid 6124] [client 10.0.1.24:59958] PHP Warning:  stream_socket_client(): unable to connect to unix:///tmp/tg.sck (No such file or directory) in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php on line 48
[Tue Feb 09 19:20:04.039916 2016] [:error] [pid 6124] [client 10.0.1.24:59958] PHP Fatal error:  Uncaught exception 'Zyberspace\Telegram\Cli\ClientException' with message 'Could not connect to socket "unix:///tmp/tg.sck"' in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php:51\nStack trace:\n#0 /var/www/html/example.php(10): Zyberspace\Telegram\Cli\RawClient->__construct('unix:///tmp/tg....')\n#1 {main}\n  thrown in /var/www/html/vendor/zyberspace/telegram-cli-client/lib/Zyberspace/Telegram/Cli/RawClient.php on line 51
    
por Hammer 10.02.2016 / 15:39

2 respostas

3

O serviço telegrama está sendo anexado a 127.0.0.1 .

É o endereço de loopback do seu sistema e só pode ser acessado pelo mesmo dispositivo.

Você precisa modificar a configuração do serviço para anexá-lo ao 0.0.0.0 ou ao seu endereço IP.

    
por 10.02.2016 / 15:56
0

Telegram-cli definitivamente está usando 127.0.0.1 (ou 0.0.0.0 com --accept-any-tcp) apenas como um endereço de ligação. Não encontrei nenhuma opção de configuração para alterar isso. No entanto, eu posso configurar o acesso de outro computador para o telegrama-cli em uma interface específica com a ajuda do rinetd. É muito fácil de configurar e funciona como um encanto. Desta forma, resolvi este problema em um minuto. Você tem que instalar o rinitd para o host rodando telegram-cli (10.10.11.1 no meu caso) como

sudo apt-get install rinitd 

A única coisa a fazer é editar o arquivo /etc/rinitd.conf O conteúdo padrão deste arquivo se parece com isto:

#bindaddress bindport connectaddress connectport
192.168.1.145 80 192.168.1.254 8080

No meu caso, faço parecer assim:

#bindaddress bindport connectaddress connectport
10.10.11.1 12345 127.0.0.1 12345

Depois disso, posso conectar-me a 10.10.11.1:12345 de outro computador e ter acesso ao telegram-cli que escuta na porta 12345

    
por 23.07.2016 / 22:47