Computer im selben Netzwerk kann nicht erreicht werden

417
Kostas

Angenommen, zwei Computer, die eine Verbindung zu einem WLAN-Router (Archer C7 v2) herstellen und Teil desselben LANs sind. Ping-Maschine A von Maschine B funktioniert, aber ssh, telnet und netcat schlagen fehl. Warum?

Einzelheiten

Maschine A (Server mit Ubuntu 14.04.5, lokale Adresse 192.168.0.16)

Eine openssh-Serverinstanz ist aktiv, überwacht Port 2200 und läuft ohne Probleme.

$netstat -ntlp | grep LISTEN (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:8979 0.0.0.0:* LISTEN -  tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -  tcp 0 0 0.0.0.0:2200 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:29754 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:10555 0.0.0.0:* LISTEN -  tcp 0 0 127.0.0.1:1023 0.0.0.0:* LISTEN -  tcp6 0 0 :::80 :::* LISTEN -  tcp6 0 0 ::1:53 :::* LISTEN -  tcp6 0 0 ::1:631 :::* LISTEN -  tcp6 0 0 :::2200 :::* LISTEN -  

Die Firewall ist deaktiviert:

$sudo ufw status' gives Status: inactive

Dies ist die Ausgabe iptables -Swie angefordert:

$iptables -S -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N DOCKER -N DOCKER-ISOLATION -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i ipsec+ -p 254 -j ACCEPT -A INPUT -p esp -j ACCEPT -A INPUT -p ah -j ACCEPT -A INPUT -p udp -m udp --dport 500 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5308 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5901 -j ACCEPT -A INPUT -p tcp -m tcp --dport 12080 -j ACCEPT -A INPUT -p tcp -m tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5656 -j ACCEPT -A INPUT -p udp -m udp --dport 5004:5005 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5004:5005 -j ACCEPT -A INPUT -p udp -m udp --dport 20830 -j ACCEPT -A INPUT -p tcp -m tcp --dport 20830 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5060:5062 -j ACCEPT -A INPUT -p udp -m udp --dport 5060:5062 -j ACCEPT -A INPUT -p tcp -m tcp --dport 21100 -j ACCEPT -A INPUT -p tcp -m tcp --dport 2001 -j ACCEPT -A INPUT -p gre -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 9 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8081 -j ACCEPT -A INPUT -p tcp -m tcp --dport 1533 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 52311 -j ACCEPT -A INPUT -p tcp -m tcp --dport 30000:30005 -j ACCEPT -A INPUT -p tcp -m tcp --dport 67:68 -j DROP -A INPUT -p udp -m udp --dport 67:68 -j DROP -A INPUT -p tcp -m tcp --dport 137 -j DROP -A INPUT -p udp -m udp --dport 137 -j DROP -A INPUT -p tcp -m tcp --dport 138 -j DROP -A INPUT -p udp -m udp --dport 138 -j DROP -A INPUT -p tcp -m tcp --dport 139 -j DROP -A INPUT -p udp -m udp --dport 139 -j DROP -A INPUT -p tcp -m tcp --dport 1:20 -j DROP -A INPUT -p tcp -m tcp --dport 111 -j DROP -A INPUT -p tcp -m tcp --dport 161:162 -j DROP -A INPUT -p tcp -m tcp --dport 520 -j DROP -A INPUT -p tcp -m tcp --dport 6348:6349 -j DROP -A INPUT -p tcp -m tcp --dport 6345:6347 -j DROP -A INPUT -p tcp -m limit --limit 3/min -j LOG --log-prefix "FIREWALL: " --log-level 7 -A INPUT -p udp -m limit --limit 3/min -j LOG --log-prefix "FIREWALL: " --log-level 7 -A INPUT -j DROP -A FORWARD -j DOCKER-ISOLATION -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -o docker0 -j DOCKER -A FORWARD -i docker0 ! -o docker0 -j ACCEPT -A FORWARD -i docker0 -o docker0 -j ACCEPT -A DOCKER-ISOLATION -j RETURN

Maschine B (Client mit macOS 10.12.6, lokale Adresse 192.168.0.14)

Wenn Sie versuchen, eine Verbindung über ssh herzustellen, wird eine "Zeitüberschreitung der Operation" angezeigt:

$ssh user@192.168.0.16 -p 2200 -i ~/.ssh/id_rsa -vvv OpenSSH_7.4p1, LibreSSL 2.5.0 debug1: Reading configuration data /Users/jdoe/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug2: resolving "192.168.0.16" port 2200 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to 192.168.0.16 [192.168.0.16] port 2200. debug1: connect to address 192.168.0.16 port 2200: Operation timed out ssh: connect to host 192.168.0.16 port 2200: Operation timed out

netcat auch mal aus:

$nc -w 1 -v 192.168.0.16 -z 2200 nc: connectx to 192.168.0.16 port 2200 (tcp) failed: Operation timed out

Aber hey, Ping (was ein anderes Protokoll ist) funktioniert:

$ping 192.168.0.16 PING 192.168.0.16 (192.168.0.16): 56 data bytes 64 bytes from 192.168.0.16: icmp_seq=0 ttl=64 time=97.027 ms 64 bytes from 192.168.0.16: icmp_seq=1 ttl=64 time=4.329 ms 64 bytes from 192.168.0.16: icmp_seq=2 ttl=64 time=2.402 ms ^C --- 192.168.0.16 ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 2.402/34.586/97.027/44.159 ms

Was vermisse ich? Was steht mir im Weg?

0
Bitte posten Sie die Ausgabe von `iptables -S`. gmelis vor 6 Jahren 0
Der Post wurde mit diesen Informationen aktualisiert. Lass es mich wissen, wenn du noch etwas brauchst. Kostas vor 6 Jahren 0

1 Antwort auf die Frage

1
gmelis

Sie haben eine Firewall ausgeführt, da iptables -Sdie Ausgabe ungefähr zwei Bildschirme umfasst. Aber werden die Regeln in der bestehenden Firewall konfiguriert für sshdlauscht auf TCP - Port 22. Um eine lange Geschichte kurz zu machen, die falsche Art und Weise dieses -aber gut zum Testen und Lernen purposes- zu beheben, ist einfach eingeben sudo iptables -P INPUT ACCEPTund voila, können Sie eine Verbindung mit ssh.

Anschließend sollten Sie Ihrer Firewall besser mitteilen, dass sshPort 2200 anstelle von 22 überwacht wird, und Sie sind endgültig fertig. Es kann sein, dass dockereine eigene Firewall bereitgestellt wird, sodass Sie in den Konfigurationsdateien nachschauen können, ob Sie von dort aus den sshdPort ändern können .

Das hat wie ein Zauber funktioniert. (`sudo iptables -R INPUT 8 -p tcp -s 0.0.0.0/0 --dport 2200 -j ACCEPT` als Referenz.) Vielen Dank! Kostas vor 6 Jahren 0