방금 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
다양한 구현이 있기 때문입니다. 데비안 10에서 실행하여 이것을 시도해 볼 수 있는 것 같습니다:
섬기는 사람:
netcat -l -p 5656
고객:
netcat -v 127.0.0.1 5656
Hello
World
<ctrl-C>
따라서 테이블의 기본 경로보다 동일한 경로를 3배 늘렸음에도 불구하고 네트워크에는 문제가 없는 것 같습니다.
그런데 netcat
그것은 link 으로 구현되었습니다 nc
. 따라서 debian 에서 사용하거나 사용하는 데에는 nc
차이가 없습니다 netcat
.