iptables 항목으로 인해 로컬 네트워크를 통해 ssh를 시도할 때 kex_exchange_identification 오류가 발생합니다.

iptables 항목으로 인해 로컬 네트워크를 통해 ssh를 시도할 때 kex_exchange_identification 오류가 발생합니다.

로컬 네트워크에서 열린 SSH를 통해 컴퓨터에 연결하려고 하면 다음 오류가 발생합니다.

kex_exchange_identification: read: Connection reset by peer
Connection reset by 192.168.1.39 port 22

이는 내가 컴퓨터에 설정한 iptables 항목 때문인 것 같습니다. iptables에서 모든 트래픽을 허용하면 ssh를 정상적으로 사용할 수 있습니다. 하지만 내 VPN에 iptables 규칙이 설정되어 있으면 연결할 수 없습니다.

iptables가 다음과 같이 설정된 경우 SSH를 성공적으로 수행할 수 없습니다.

Chain INPUT (policy DROP)
target  prot opt source            destination 
..........
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate RELATED,ESTABLISHED
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate NEW,RELATED,ESTABLISHED
ACCEPT  udp  --  192.168.1.0/24    anywhere   udp dpt:51280
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate NEW,RELATED,ESTABLISHED
..........
Chain OUTPUT (policy DROP)
target  prot opt source     destination 
..........
ACCEPT  all  --  anywhere   192.168.1.0/24 
ACCEPT  all  --  anywhere   192.168.1.0/24 
ACCEPT  all  --  anywhere   192.168.1.0/24  
..........

iptables가 다음과 같이 설정되면 성공적으로 ssh에 접속할 수 있습니다.

Chain INPUT (policy ACCEPT)
Chain OUTPUT(policy ACCEPT)

연결하려는 컴퓨터의 IP는 192.168.1.39/24이고, 연결하려는 컴퓨터의 IP는 192.168.1.189/24입니다. 따라서 둘 다 동일한 192.168.1.0 네트워크에 있습니다(iptables 규칙은 연결을 허용해야 합니다).

또한 해당 PC에 대한 모든 연결을 허용하는 규칙을 추가하려고 시도했지만 문제가 해결되지 않았습니다.

iptable 항목은 NordVPN 클라이언트에 의해 설정됩니다(항목을 제거하기 위해 NordVPN을 비활성화했습니다). aur 패키지에서 최신 버전의 NordVPN을 다시 설치해 보았으나 문제가 해결되지 않았습니다. 하지만 분명히 저는 NordVPN이 작동하길 원합니다

이것이 iptables와 관련이 있다는 것을 알고 있지만 정확한 원인을 찾는 데 어려움을 겪고 있습니다(저는 네트워킹 전문가는 아니지만 위의 항목은 괜찮아 보입니다). 또는 해결 방법을 찾는 데 어려움을 겪고 있습니다.

이 네트워크는 단지 홈 네트워크일 뿐입니다. 이전에는 잘 작동했지만(동일한 컴퓨터, 동일한 VPN, 동일...) 라우터가 고장 나서 새 라우터(Asus rt-ac68u)를 사용하고 있는데 그때부터 문제가 발생하기 시작했습니다. 또한 이 문제를 더 자세히 설명할 수 있는 내용이 있는지 확인하기 위해 라우터 설정을 살펴봤지만 아무것도 찾지 못했습니다.

또한 192.168.1.39에서 VPN을 끄고 192.168.1.189에서 VPN을 켜면(동일한 iptables 규칙 사용) 192.168.1.39로 SSH를 통해 연결할 수 있습니다. 하지만 두 컴퓨터 모두에 대해 VPN을 켜면 SSH를 사용할 수 없습니다.

요컨대

  • 서버 NordVPN이 켜져 있으면 클라이언트(192.168.1.189)가 서버(192.168.1.39)에 SSH를 통해 연결할 수 없습니다.

  • 서버 NordVPN이 다운되면 클라이언트는 서버에 SSH를 통해 연결할 수 있습니다.

  • NordVPN이 클라이언트 측에서 다운되면 클라이언트는 서버에 SSH를 통해 연결할 수 있습니다.

  • 오류는 서버 iptable 항목과 관련된 것 같습니다.

    • iptable 서버에 모든 규칙을 추가해도 문제가 해결되지 않는 것 같습니다.
  • 네트워크 변경은 새 라우터(Asus RT-AC68U)와 관련이 있을 수 있지만 설정에 문제가 있는지 확인할 수 없습니다.

어떻게 진행해야 할지 난감합니다. 누구든지 도와줄 수 있나요?

감사해요

편집 - 계속해서 조사하고 있지만 더 추가할 내용은 없는 것 같습니다. 또 유용하다고 생각되는 내용이 있으면 업데이트하겠습니다.

  1. 사람들이 문제가 iptables가 아니라 NordVPN일 수 있다고 생각하는 경우를 대비하여 NordVPN이 켜져 있고 SSH가 제대로 작동할 때 허용하도록 Chain INPUT 정책을 설정했습니다. 그래서 내 생각엔 내가 IP 테이블에서 뭔가를 엉망으로 만든 게 틀림없어

관련 정보