localhostでのみnetcatや他のプログラムへの接続が拒否されました。

localhostでのみnetcatや他のプログラムへの接続が拒否されました。

私はArch Linuxのインストールで奇妙だと思われる問題を見つけました。問題を説明するためにnetcatを使用する予定ですが、テストするために書いたACプログラムでも同じことが起こるようです。

次のようにnetcatリスナーを起動すると:

netcat -l 5656

プロセスは期待どおりに機能し、netcatは接続を待ちます。対応するnetcatコマンドを使用すると、次のような結果が得られます。

$ netcat -v localhost 5656
localhost [127.0.0.1] 5656: Connection refused

SSHを介して接続されている別のコンピュータでリスナーを起動すると、netcatを介してメッセージを送信できますが、リスナーがArchコンピュータにある場合は、ローカルに送信してもリモートでメッセージを送信しても、常に拒否メッセージを受信しました。 。

編集する:

$ ifconfig lo
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 29243  bytes 2094780 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29243  bytes 2094780 (1.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    303    0        0 wlp2s0
192.168.8.0     0.0.0.0         255.255.255.0   U     303    0        0 wlp2s0
192.168.8.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0
192.168.8.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

$ ip rule
0:  from all lookup local
32766:  from all lookup main
32767:  from all lookup default

$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 
broadcast 192.168.8.0 dev wlp2s0 proto kernel scope link src 192.168.8.7 
local 192.168.8.7 dev wlp2s0 proto kernel scope host src 192.168.8.7 
broadcast 192.168.8.255 dev wlp2s0 proto kernel scope link src 192.168.8.7 

# Static table lookup for hostnames.
# See hosts(5) for details.

$ cat /etc/hosts
127.0.0.1   localhost
::1     localhost
127.0.1.1   arch.localdomain    arch

答え1

様々な実装があるからです。 Debian 10 で実行してこれを試すことができるようです:

仕える人:

netcat -l -p 5656

顧客:

netcat -v 127.0.0.1 5656
Hello
World
<ctrl-C>

したがって、テーブルのデフォルトパスと同じパスを3倍に増やしたにもかかわらず、ネットワークに問題はないようです。

ところでnetcatそれはlinkとして実装されましたnc。したがって、debianで使用または使用することにはnc違いはありませんnetcat

関連情報