Ich habe zwei Server. Das Programm auf dem ersten muss mit dem zweiten auf Port 2194 kommunizieren.
Ich weiß, dass es nicht funktioniert, denn wenn ich es tue:
root@server1 [~]# telnet myserver2.com 2194
Trying 123.123.123.98...
telnet: connect to address 123.123.123.98: Connection timed out
telnet: Unable to connect to remote host: Connection timed out
server1# iptables -L -n
Chain INPUT (policy DROP)
...
...
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
...
Chain LOCALINPUT (1 references)
target prot opt source destination
...
Chain LOCALOUTPUT (1 references)
target prot opt source destination
...
Chain LOGDROPIN (1 references)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain LOGDROPOUT (1 references)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0
linux
iptables
redhat
connection
siliconpi
quelle
quelle
Antworten:
Verwenden Sie diese Option auf Server1, um ausgehende Verbindungen von Server1 zu Server2 über TCP-Port 2194 zuzulassen:
Verwenden Sie diese Option auf Server2, um eingehende Verbindungen von Server1 zu Server2 über TCP-Port 2194 zuzulassen:
quelle
Nur ein paar Hinweise
Lauscht der Dienst, den Sie ausführen, nur auf localhost? Lauf
Wenn Sie eine Linie wie sehen
0.0.0.0:2194
, sind Sie in Ordnung. Wenn Sie sehen ,127.0.0.1:2194
dann nur auf lokale Verbindungen , die Sie hören (oder:::2194
und::1:2194
jeweils für IPv6 - Adressen, wie gezeigttcp6
Linien).Was sind die aktuellen Iptables-Regeln?
Handelt es sich bei der Richtlinie um DROP / REJECT (wenn dies nicht der Fall ist, sollte dies für alle Ketten gelten)? Gibt es eine spezielle Regel für den von Ihnen benötigten Port?
Wenn es sich um ein Firewall-Problem handelt, können Sie entweder die betreffende Regel ändern oder eine Regel hinzufügen, z
sollte den Trick machen (ungetestet)
=== EDIT ===
Zum Testen von Netzwerkproblemen ist ein gutes Tool
tcpdump
. Führen Sie es auf beiden Servern aus, während Sie versuchen, eine Verbindung herzustellen und zu sehen, wohin die Pakete gehen. zB auf Server 1 laufen:und auf Server 2 laufen:
Versuchen Sie dann, eine Verbindung herzustellen. Auf dem Bildschirm sollten alle TCP-Pakete angezeigt werden, die von der Quelle und dem Ziel stammen. Mit diesen Informationen sollten Sie in der Lage sein, genau zu bestimmen, wo das Problem liegt.
quelle