Ich bin neu bei Servern und iptables. Ich habe eine Webanwendung (zufällig Bugzilla), die auf meinem Centos 6.7 Apache/httpd-Server läuft, und sie versucht, über Port 80 eine Verbindung zum Web (updates.bugzilla.org) herzustellen. Sie versucht auch, über Port 465 eine Verbindung herzustellen (zu smtp.gmail.com). Dies gelingt ihr jedoch nicht. Und das, obwohl ich eine Standardausgaberichtlinie von ACCEPT habe und die entsprechenden Ports für die Eingabe geöffnet habe.
Ich bin mir nicht sicher, wie ich weiter vorgehen soll. Wo muss ich nachsehen, um mit der Fehlerbehebung zu beginnen? Was sind die wahrscheinlichen Ursachen?
Einige Ausgaben:
$ Dienst iptables Status
Tabelle: Filter
Ketteneingabe (Richtlinie AKZEPTIEREN)
Num Ziel Schutz Option Quelle Ziel
1 ALLE AKZEPTIEREN -- 0.0.0.0/0 0.0.0.0/0
2 AKZEPTIEREN Sie alle -- 0.0.0.0/0 0.0.0.0/0 Status VERWANDTE, HERGESTELLTE
3 AKZEPTIEREN TCP -- 0.0.0.0/0 0.0.0.0/0 TCP dpt:22
4 AKZEPTIEREN TCP -- 0.0.0.0/0 0.0.0.0/0 TCP dpt:80
5 AKZEPTIEREN TCP -- 0.0.0.0/0 0.0.0.0/0 TCP dpt:443
6 AKZEPTIEREN TCP -- 0.0.0.0/0 0.0.0.0/0 TCP dpt:25
7 AKZEPTIEREN TCP -- 0.0.0.0/0 0.0.0.0/0 TCP dpt:587
Chain FORWARD (policy DROP) num Ziel Schutz Option Quelle Ziel
Kette OUTPUT (Richtlinie ACCEPT) Num Ziel Prot Opt Quelle Ziel
UND:
iptables -L -v Chain INPUT (Richtlinie ACCEPT 881 Pakete, 106 KB)
Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel
0 0 AKZEPTIEREN alle -- lo alle überall überall
436 183K AKZEPTIEREN alle -- alle alle überall überall Staat VERWANDTE, ETABLIERTE
0 0 ACCEPT tcp -- beliebig beliebig überall überall tcp dpt:ssh
1 60 ACCEPT tcp -- beliebig beliebig überall überall tcp dpt:http
0 0 ACCEPT tcp -- beliebig beliebig überall überall tcp dpt:https
0 0 ACCEPT tcp -- beliebig beliebig überall überall tcp dpt:smtp
0 0 ACCEPT tcp -- beliebig beliebig überall überall tcp dpt:submission
Chain FORWARD (Richtlinie DROP 0 Pakete, 0 Bytes) Pkts Bytes Ziel Prot Opt In Out Quelle Ziel
Chain OUTPUT (Richtlinie ACCEPT 348 Pakete, 56741 Bytes)
Pakete Bytes Ziel Schutz Opt-in Out Quelle Ziel
Ich hoffe, dass es nicht an Bugzilla oder CentOS liegt, da ich eine erfolgreiche Bugzilla-Installation auf dem Ubuntu-Desktop durchgeführt habe, allerdings unter Verwendung von Ubuntus UFW (ich glaube, ich habe es auch mit iptables versucht, müsste es zur Überprüfung aber noch einmal versuchen).
AKTUALISIEREN:
Für diejenigen, die im Web danach suchen und dies zu einem späteren Zeitpunkt sehen: Es stellte sich heraus, dass dies ein SELinux-Problem war! Der Boolesche Wert „httpd_can_network_connect“ musste aktiviert werden (für andere verwenden Sie „getsebool -a“).
Antwort1
Versuche dies:
service iptables save
service iptables stop
chkconfig iptables off
Boom, keine Firewall. Nochmal testen.
Versuchen Sie, diesen Port mit Telnet zu testen:
telnet updates.bugzilla.org 80
Sobald Sie mit Telnet verbunden sind, geben Sie „get“ ein und sehen Sie, ob eine Antwort kommt.
Example:
# telnet updates.bugzilla.org 80
Trying 63.245.223.29...
Connected to updates.bugzilla.org.
Escape character is '^]'
get
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.
Hat nicht funktioniert?
Versuchen Sie tcptraceroute, um zu sehen, wo es blockiert wird:
tcptraceroute updates.bugzilla.org 80
Könnte es sein, dass etwas anderes die Ports blockiert? Eine Firewall, ein Router, ein ISP?