Ich versuche, einen Port auf CentOS zu öffnen, aber es scheint nicht zu funktionieren: Port 16 scheint geschlossen zu sein und 4075 scheint offen zu sein, obwohl es laut iptables umgekehrt sein sollte.
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 30 1920 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:445
2 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:445
3 8071 630K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:137
4 516 110K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:138
5 17 1064 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:139
6 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:16
7 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:16
8 5533 8865K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 6 432 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
10 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
11 3 872 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
12 2320 277K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 26 packets, 1776 bytes)
num pkts bytes target prot opt in out source destination
[root@titan ~]# telnet localhost 16 Trying ::1... telnet: connect to
address ::1: Connection refused
[root@titan ~]# telnet localhost 4075
Trying ::1... Connected to localhost.
Kannst du mir bitte sagen, was ich falsch mache? Danke im Voraus.
AKTUALISIEREN Öffnete den Port in ip6tables und konnte immer noch keine Verbindung herstellen
ip6tables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 16 -j ACCEPT
ip6tables -I INPUT 1 -p udp -m state --state NEW -m udp --dport 16 -j ACCEPT
telnet localhost 16
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
UPDATE 2 Ich habe es herausgefunden. Mir war nicht klar, dass ich einen Dienst zum Abhören eines Ports benötigte, um eine Verbindung mit Telnet herstellen zu können. Vielen Dank an alle.
telnet 127.0.0.1 16 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused
Antworten:
Ich hatte selbst ein ähnliches Problem. Zuerst sollten Sie sich von Ihrer SSH-Sitzung abmelden und dann eine Verbindung zum Computer herstellen. Dies liegt daran, dass die meisten iptables die Loopback-Schnittstelle nicht blockieren. Zweitens haben Sie wie im Kommentar ipv6 verwendet. Ich denke, dein Problem liegt nicht in den Iptables. in den meisten fällen verweigert iptables nichts auf ihrem localhost, aber der server, auf den über port 4075 zugegriffen werden kann, kann ipv6 sprechen und der server auf port 16 kann nicht, aber ihr telnet-befehl verwendet ipv4 nicht. Ich denke das, weil mir der Versuch fehlt, eine Verbindung zu 127.0.0.1 herzustellen. mein telnet (zu jedem nicht offenen port) ist so
Deshalb versucht er zuerst ipv6, was bevorzugt wird, und versucht anschließend, nachdem eine Verbindung abgelehnt wurde, eine Verbindung über ipv4 herzustellen.
BEARBEITEN Ich habe deinen Kommentar gesehen, vielleicht stimmt etwas mit deinem Service nicht ... Können Sie versuchen, jedes abgelegte Paket zu protokollieren? Hier ist ein Artikel, den ich gefunden habe
quelle
IPTables funktioniert für IPV4, aber nicht für IPV6. Verwenden Sie ip6tables.
quelle