TCP: Um PC pode se conectar à porta de escuta do outro, mas não vice-versa

2

Eu tenho uma rede local (realmente não importa se é VPN ou rede local real - eu tentei os dois).

Um computador que executa o Linux Mint abre um soquete com

mint$ nc -l 4242

E o segundo executando o OpenSUSE pode conectar e enviar mensagens para o socket:

suse$ nc 10.8.0.10 4242

Mas se eu tentar abrir um soquete no Suse e conectar a partir do Mint - a conexão não será estabelecida. Eu não tenho ufw firewall instalado no Suse.

Eu tentei enviar pacotes TCP do Mint para um PC Windows e funcionou bem, então eu acho que o problema está na máquina Suse.

Eu também tentei escolher números de porta mais altos (55555 por exemplo) apenas no caso, mas sem sorte.

iptables -L -v no Suse:

Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
 272 23240 ACCEPT     all  --  lo     any     anywhere             anywhere            
  28  5183 ACCEPT     all  --  any    any     anywhere             anywhere             ctstate ESTABLISHED
   0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             ctstate RELATED
  15  4984 input_ext  all  --  any    any     anywhere             anywhere            
   0     0 LOG        all  --  any    any     anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-IN-ILL-TARGET "
   0     0 DROP       all  --  any    any     anywhere             anywhere            

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
   0     0 LOG        all  --  any    any     anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-FWD-ILL-ROUTING "

Chain OUTPUT (policy ACCEPT 47 packets, 7142 bytes)
pkts bytes target     prot opt in     out     source               destination         
 272 23240 ACCEPT     all  --  any    lo      anywhere             anywhere            

Chain forward_ext (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain input_ext (1 references)
pkts bytes target     prot opt in     out     source               destination         
   2  1956 DROP       all  --  any    any     anywhere             anywhere             PKTTYPE = broadcast
   0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp source-quench
   0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request
  13  3028 DROP       all  --  any    any     anywhere             anywhere             PKTTYPE = multicast
   0     0 DROP       all  --  any    any     anywhere             anywhere             PKTTYPE = broadcast
   0     0 LOG        tcp  --  any    any     anywhere             anywhere             limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
   0     0 LOG        icmp --  any    any     anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
   0     0 LOG        udp  --  any    any     anywhere             anywhere             limit: avg 3/min burst 5 ctstate NEW LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
   0     0 DROP       all  --  any    any     anywhere             anywhere            

Chain reject_func (0 references)
pkts bytes target     prot opt in     out     source               destination         
   0     0 REJECT     tcp  --  any    any     anywhere             anywhere             reject-with tcp-reset
   0     0 REJECT     udp  --  any    any     anywhere             anywhere             reject-with icmp-port-unreachable
   0     0 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-proto-unreachable

O que pode causar esse problema?

    
por Max 17.11.2016 / 21:30

1 resposta

2

use este comando:

sudo iptables -I INPUT -p tcp --dport 4242 -j ACCEPT

a última linha da sua cadeia suse INPUT é:

   0     0 DROP       all  --  any    any     anywhere             anywhere            

significa DROP all INPUT packet, com este comando

sudo iptables -I INPUT -p tcp --dport 4242 -j ACCEPT

nós I nsert nova regra para aceitar o top de pacote de entrada e antes de executar DROP rule

e esta regra não funciona para nova conexão:

ACCEPT     all  --  any    any     anywhere             anywhere             ctstate ESTABLISHED

porque essa estatística é ESTABLISHED para essa média:

RELATED - The connection is new, but is related to another connection already permitted. ESTABLISHED - The connection is already established.

    
por 18.11.2016 / 09:12