어떻게 든 우분투 서버에서 SSH를 계속 중단하고 이유를 이해하지 못합니다. 내 ddns는 myserver.asuscomm.com으로 설정되어 있고 포트는 내 라우터에서 전달됩니다. 그 중 하나는 잘 작동하지만 ddns에서 연결하면 나머지 두 개는 포트가 필터링된 것으로 표시됩니다. 동일한 네트워크에서 연결하면 포트가 열려 있습니다.
내 라우터의 일부 설정에 문제가 있을 수 있나요? SSH 포트가 22100이라고 가정합니다. netstat -tlpn
sshd가 이 포트에서 수신 대기 중임을 나타내며 실행하면 어디에서나 트래픽을 허용할 수 있습니다 sudo ufw status
.
동일한 네트워크에서:
nmap -Pn -p 22100 192.168.50.x
Starting Nmap 7.80 ( https://nmap.org ) at 2021-10-01 10:13 CDT
Nmap scan report for 192.168.50.x
Host is up (0.00075s latency).
PORT STATE SERVICE
22100/tcp open optohost003
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
ddn에서 연결을 끊습니다.
nmap -p 22100 myserver.asuscomm.com
Starting Nmap 7.80 ( https://nmap.org ) at 2021-10-01 10:14 CDT
Nmap scan report for myserver.asuscomm.com (x.y.z.123)
Host is up (0.025s latency).
rDNS record for x.y.z.123: c-x-y-z-123.abc.state.isp.net
PORT STATE SERVICE
22100/tcp filtered optohost003
Nmap done: 1 IP address (1 host up) scanned in 0.46 seconds
이 특정 서버의 경우 표준 nmap을 수행했을 때 서버가 다운되었다고 표시되었으므로 -Pn
플래그를 추가해야 했습니다. 다른 서버에도 같은 문제가 있지만 nmap은 -Pn
.
이 문제를 어떻게 해결할 수 있는지 아는 사람 있나요? 포트는 모두 내 Asus 라우터로 전달되며 변경할 수 있는 다른 설정이 무엇인지 모르겠습니다. 다른 포트에서 SSH를 시도해야 합니까?
편집하다:출력 netstat -nlp
(포트 22100은 내 SSH입니다)
tcp 0 0 127.0.0.1:32401 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22100 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:32600 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:41113 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:44935 0.0.0.0:* LISTEN -
tcp 0 0 192.168.50.7:27017 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::32400 :::* LISTEN -
tcp6 0 0 :::22100 :::* LISTEN -
tcp6 0 0 :::445 :::* LISTEN -
tcp6 0 0 :::139 :::* LISTEN -
udp 0 0 127.0.0.53:53 0.0.0.0:* -
udp 0 0 192.168.50.7:68 0.0.0.0:* -
udp 0 0 172.17.255.255:137 0.0.0.0:* -
udp 0 0 172.17.0.1:137 0.0.0.0:* -
udp 0 0 192.168.50.255:137 0.0.0.0:* -
udp 0 0 192.168.50.7:137 0.0.0.0:* -
udp 0 0 0.0.0.0:137 0.0.0.0:* -
udp 0 0 172.17.255.255:138 0.0.0.0:* -
udp 0 0 172.17.0.1:138 0.0.0.0:* -
udp 0 0 192.168.50.255:138 0.0.0.0:* -
udp 0 0 192.168.50.7:138 0.0.0.0:* -
udp 0 0 0.0.0.0:138 0.0.0.0:* -
udp 0 0 127.0.0.1:33564 0.0.0.0:* -
udp 0 0 0.0.0.0:46034 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 127.0.0.1:42818 0.0.0.0:* -
udp 0 0 0.0.0.0:51011 0.0.0.0:* -
udp 0 0 0.0.0.0:1901 0.0.0.0:* -
udp 0 0 192.168.50.7:38951 0.0.0.0:* -
udp 0 0 0.0.0.0:40101 0.0.0.0:* -
udp 0 0 0.0.0.0:32410 0.0.0.0:* -
udp 0 0 0.0.0.0:32412 0.0.0.0:* -
udp 0 0 0.0.0.0:32413 0.0.0.0:* -
udp 0 0 0.0.0.0:32414 0.0.0.0:* -
udp 0 0 192.168.50.7:57195 0.0.0.0:* -
udp 0 0 192.168.50.7:57254 0.0.0.0:* -
udp6 0 0 :::49275 :::* -
udp6 0 0 :::5353 :::* -
raw6 0 0 :::58 :::* 7 -
산출sudo iptables -nvL
Chain INPUT (policy DROP 4793 packets, 1589K bytes)
pkts bytes target prot opt in out source destination
666K 472M ufw-before-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
666K 472M ufw-before-input all -- * * 0.0.0.0/0 0.0.0.0/0
262K 63M ufw-after-input all -- * * 0.0.0.0/0 0.0.0.0/0
155K 51M ufw-after-logging-input all -- * * 0.0.0.0/0 0.0.0.0/0
155K 51M ufw-reject-input all -- * * 0.0.0.0/0 0.0.0.0/0
155K 51M ufw-track-input all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
0 0 ufw-before-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-before-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-reject-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-track-forward all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
212K 16M ufw-before-logging-output all -- * * 0.0.0.0/0 0.0.0.0/0
212K 16M ufw-before-output all -- * * 0.0.0.0/0 0.0.0.0/0
44581 3006K ufw-after-output all -- * * 0.0.0.0/0 0.0.0.0/0
44581 3006K ufw-after-logging-output all -- * * 0.0.0.0/0 0.0.0.0/0
44581 3006K ufw-reject-output all -- * * 0.0.0.0/0 0.0.0.0/0
44581 3006K ufw-track-output all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-after-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-after-input (1 references)
pkts bytes target prot opt in out source destination
326 26112 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:137
730 180K ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:138
2 88 ufw-skip-to-policy-input tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
2 88 ufw-skip-to-policy-input tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
27 8992 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68
106K 11M ufw-skip-to-policy-input all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST
Chain ufw-after-logging-forward (1 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-after-logging-input (1 references)
pkts bytes target prot opt in out source destination
4337 1529K LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-after-logging-output (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-after-output (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-forward (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ufw-user-forward all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-before-input (1 references)
pkts bytes target prot opt in out source destination
40237 2361K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
308K 387M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
318K 82M ufw-not-local all -- * * 0.0.0.0/0 0.0.0.0/0
1987 325K ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
53945 19M ACCEPT udp -- * * 0.0.0.0/0 239.255.255.250 udp dpt:1900
262K 63M ufw-user-input all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-before-logging-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-logging-input (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-logging-output (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-output (1 references)
pkts bytes target prot opt in out source destination
40237 2361K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
128K 11M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
44581 3006K ufw-user-output all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-logging-allow (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW ALLOW] "
Chain ufw-logging-deny (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID limit: avg 3/min burst 10
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-not-local (1 references)
pkts bytes target prot opt in out source destination
151K 51M RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
60270 19M RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type MULTICAST
107K 12M RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST
0 0 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-reject-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-reject-input (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-reject-output (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-skip-to-policy-forward (0 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-skip-to-policy-input (7 references)
pkts bytes target prot opt in out source destination
107K 12M DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-skip-to-policy-output (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-track-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-track-input (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-track-output (1 references)
pkts bytes target prot opt in out source destination
173 10348 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
44407 2995K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
Chain ufw-user-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-input (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 73.6.251.121 0.0.0.0/0 tcp dpt:27017
0 0 ACCEPT udp -- * * 73.6.251.121 0.0.0.0/0 udp dpt:27017
53 2812 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22001
6 360 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22000
3 132 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
6 344 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22100
Chain ufw-user-limit (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 5 LOG flags 0 level 4 prefix "[UFW LIMIT BLOCK] "
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain ufw-user-limit-accept (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-user-logging-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-logging-input (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-logging-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-output (1 references)
pkts bytes target prot opt in out source destination
iptables -t nat -nvL
:
Chain PREROUTING (policy ACCEPT 35687 packets, 8678K bytes)
pkts bytes target prot opt in out source destination
4099 1364K DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 6440 packets, 1931K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 3131 packets, 314K bytes)
pkts bytes target prot opt in out source destination
1 278 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT 3131 packets, 314K bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * !docker0 172.17.0.0/16 0.0.0.0/0
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
iptables -t mangle -nvL
:
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
또 다른 편집:
그 외에도 마지막으로 var/log/syslog
흥미로운 점을 확인하고 발견했습니다. ufw가 내 라우터에서 서버로의 연결을 차단하고 있다는 것입니다.
Oct 1 16:36:00 user kernel: [ 71.994434] [UFW BLOCK] IN=eth0 OUT= MAC=mac_address_here SRC=192.168.50.1 DST=192.168.50.7 LEN=386 TOS=0x00 PREC=0x00 TTL=64 ID=49481 PROTO=UDP SPT=1900 DPT=56241 LEN=366
ufw
192.168.50.1에서 들어오고 나가는 트래픽을 허용하도록 설정했지만 주사위는 없습니다. 잘...
답변1
myserver.asuscomm.com
우리는 라우터가 귀하의 서버를 가리키고 귀하의 라우터가 포트를 서버로 올바르게 전달한다고 가정합니다 .
서비스는 루프백이나 LAN 주소에서 수신하고 활성화될 수 있지만 다른 곳에서는 사용할 수 없습니다. 이것은 당신이 보고 있는 것을 증명하는 것 같습니다.
그래서 살펴보아야 할 것은,
- 포트는 무엇을 수신하고 있나요?
- 이러한 서비스는 어떤 인터페이스/주소를 수신하고 있습니까?
- 어떤 방화벽 규칙을 구현했습니까?
- 어떤 애플리케이션 수준 연결 규칙을 구현했습니까?
이들 중 처음 두 개는 다음과 같은 명령으로 볼 수 있습니다 netstat -nlp
. 질문에 다음 세부정보를 제공하셨습니다.
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22100 0.0.0.0:* LISTEN - tcp6 0 0 :::22100 :::* LISTEN -
이는 포트 22100의 서비스가 모든 인터페이스( 0.0.0.0
및 ::
모든 인바운드 트래픽)를 수신하고 있음을 확인합니다.
iptables
구현된 방화벽 규칙은 다음 명령을 사용하여 확인할 수 있습니다( nftables
귀하가 사용 중인 경우 직접 도움을 드릴 수 없습니다).
iptables -nvL
iptables -t nat -nvL
iptables -t mangle -nvL
질문에 추가한 출력을 보면 ACCEPT
UFW 방화벽 규칙 세트에 포트 22100에 대한 인바운드 TCP 트래픽을 허용하는 규칙이 있음을 알 수 있습니다.
Chain ufw-user-input (1 references) pkts bytes target prot opt in out source destination […] 6 344 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22100
애플리케이션 수준 연결 규칙은 일반적 /etc/hosts.allow
으로 및/또는 에 정의 되지만 애플리케이션별 구성 파일( 예:) /etc/hosts.deny
에서도 찾을 수 있습니다 ./etc/ssh/sshd_config
여기서는 서버 설정에 아무런 문제가 없으므로 다시 확인해 보겠습니다.
- 올바른 포트를 사용하여 외부에서 올바른 IP 주소에 연결하고 있습니다(예제 중 일부는 port 를 표시하고
1234
다른 예는 port 를 표시함22100
). - ISP가 이 포트에서 인바운드 TCP/IP 트래픽을 허용합니다.
- 라우터의 포트 전달이 실제로 올바르게 설정되었습니다.
그런데 용어 문제가 발생할 수 있습니다. "ddns로 접속하면"정말 말도 안 돼요. 연결할 수 없어요."~에서"DDNS는 도메인 이름을 (동적) IP 주소로 변환하는 서비스일 뿐이니까요. 말씀하시는 것 같아요"네트워크 외부에서 DDNS를 통해 확인된 IP 주소로 연결하는 경우".