내부적으로는 ssh가 가능하지만 외부에서는 불가능

내부적으로는 ssh가 가능하지만 외부에서는 불가능

Netgear C6300(펌웨어 버전 2.01.14) 라우터/모뎀이 있고 외부에서 라즈베리 파이에 SSH로 연결하려고 최선을 다하고 있습니다. 내 포트 전달 설정은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

내부적으로는 을 사용하여 SSH를 실행할 수 있지만 ssh 192.168.0.84외부적으로 canyouseeme.com에서는 "오류: 포트(22)에서 서비스를 볼 수 없습니다. 내 sshd_config에 해당 행이 있고 Port 22해당 ListenAddress행이 주석 처리되어 있습니다. 즉, 저는 이것을 건드리지 않았습니다. 파일. 여기서 무슨 일이 일어나고 있는 걸까요?

답변1

여러 가지가 떠오릅니다.

스크린샷의 전달은 괜찮아 보입니다. ssh는 TCP 프로토콜이기 때문에 TCP대신 에 로 설정하려고 할 수 있습니다 .TCP/UDP

딘딘

동적으로 업데이트되는 올바른 호스트 이름이나 올바른 공용 IP 주소를 사용하고 있습니까? 공용 IP 주소를 찾으려면 Raspberry 또는 SSH(내부적으로)에서 콘솔을 열고 curl icanhazip.com.

sshd_config

/etc/ssh/sshd_config여러 인터페이스가 있는 경우 sshd가 올바른 인터페이스를 수신하는지 확인하세요 . ListenAddress a.b.c.da로 줄을 주석 처리 #하고 서비스를 다시 시작합니다( /etc/init.d/sshd restart또는 systemctl restart sshd배포판에 따라). 수정: 죄송합니다. 이미 그렇게 말씀하셨네요.

편집하다:

라우팅

에서 출력을 얻을 수 없다면 curl icanhazip.comRaspberry가 인터넷에 연결하는 방법을 알지 못할 가능성이 있습니다. 따라서 외부에서 연결 시도에 응답할 수 없습니다. 경로를 추가하고 ip route add default via <your modem's IP address>다시 시도하세요.

iptables

Raspberry 내부 방화벽이 외부 주소의 SSH를 허용하는지 확인하세요. iptables -S규칙 목록을 알려드리겠습니다. 다음과 같은 줄을 찾으십시오.

-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
# SSH only allowed from the internal network, if iptables policy INPUT is DROP

이 경우 iptables -P INPUT ACCEPT또는 중 하나를 사용하여 모든 수신 트래픽을 허용하십시오 iptables -I INPUT -p tcp --dport 22 -j ACCEPT.

DS-Lite(듀얼 스택 라이트)

내부적으로 홈 네트워크에서는 IPv4 주소를 사용합니다. 귀하의 예에서는 192.168.0.x입니다. 그러나 ISP가 네트워크에서 IPv6을 사용할 수도 있습니다. 라우터는 IPv4 주소를 IPv6로 변환합니다. 이로 인해 일반적으로 원격에서 홈 네트워크에 연결할 수 없게 됩니다.

curl icanhazip.com예를 들어 IPv6 주소를 제공한 경우 2001:a61::35:2표시기가 될 수 있습니다. 또한 C6300이 이에 대한 정보를 표시할 수도 있습니다. (나는 AVM Fritz!Box 7360을 사용하고 있으며 "Fritz!Box는 DS-Lite 터널을 사용합니다."라고 명시적으로 출력합니다.)

100% 확신하려면 ISP에 문의하세요.

편집하다:

DS-Lite 터널 뒤에 있는 경우 원격에서 집으로 다시 연결하려면 다음 옵션을 염두에 두어야 합니다.

  • 공급자/ISP에게 회선을 DS-Lite가 아닌 회선으로 전환하도록 요청하십시오.
  • autossh집 컴퓨터를 다른 호스트(예: 직장(사전에 고용주에게 문의), 웹 서버, VPS)에 연결하는 데 사용합니다 . autossh역방향 터널을 생성하는 방식으로 구성합니다 (예: ) . 그런 다음 ssh를 통해 yourvps.com으로 연결하고 거기에서 ssh를 통해 집으로 돌아갈 수 있습니다 .ssh -R 10000:localhost:22 [email protected]ssh -p 10000 user@localhost

편집하다:

Netgear C6300 전용

펌웨어 버전 2.01.14까지는 "고급 구성" > "WAN 설정"에서 "인터넷 WAN 포트의 Ping에 응답" 옵션이 활성화된 경우에만 열린 포트를 표시하는 버그가 있는 것 같습니다.

넷기어 C6300 WAN 설정

관련 정보