GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So öffnen Sie den HTTP-Port ( 80 ) in Iptables unter CentOS

IPtables-Firewall

Ich habe kürzlich einen Webserver auf Centos mit Nginx und PHP eingerichtet. Die Installation von nginx war in Ordnung, aber der http-Port des Systems war von außen nicht erreichbar.

Dies liegt daran, dass centOS standardmäßig einige iptables-Firewallregeln in Kraft hat. Nur der ssh-Port (22) war zugänglich und die Remote-Shell funktionierte. Daher ist es notwendig, Port 80 zu öffnen, damit Webserver wie Nginx funktionieren.

Iptables ist die Firewall unter Linux, die so konfiguriert werden kann, dass sie Netzwerkverkehr basierend auf verschiedenen Arten von Regelsätzen auf Paketebene akzeptiert oder ablehnt. Daher ist es notwendig, diese Firewall zu konfigurieren, um Verbindungen auf Netzwerkports zu ermöglichen.

Überprüfen Sie die Iptables-Regeln

Es gibt zwei Möglichkeiten, iptables zu konfigurieren, um Port 80 zu öffnen. Erstens mit dem Befehl iptables und zweitens durch Erstellen einer Konfigurationsdatei. Überprüfen Sie zuerst die bestehenden iptables-Regeln. Der Befehl ist ganz einfach. Hier ist eine Beispielausgabe.

[[email protected] ~]# iptables -LCain INPUT (policy ACCEPT)target prot opt ​​source destinationACCEPT all -- irgendwo irgendwo state RELATED,ESTABLISHEDACCEPT icmp -- irgendwo irgendwoACCEPT all -- irgendwo überallACCEPT tcp -- irgendwo überall Zustand NEU tcp dpt:sshREJECT all -- irgendwo überall ablehnen-mit icmp-host-verbotenChain FORWARD (policy ACCEPT)target prot opt ​​source destinationREJECT all -- überall überall ablehnen-mit icmp-host-prohibitedChain OUTPUT (policy ACCEPT)target prot opt ​​source destination[[email protected] ~]#

Wie in der Ausgabe zu sehen ist, befindet sich am Ende der INPUT-Kette eine REJECT-Zeile mit der Aufschrift „Reject all“. Die vorherige Zeile erlaubt jedoch das Akzeptieren von SSH-Verbindungen, sodass SSH funktioniert. Eine etwas ausführlichere und numerischere Liste kann mit den Optionen v und n zusammen mit der Option L

angezeigt werden
[[email protected] ~]# iptables --line -vnLCain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 273 22516 ACCEPT all -- * * 0.0.0.0/ 0 0.0.0.0/0 state RELATED,ETABLISHED2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/03 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/04 1 60 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:225 271 36456 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 Reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT 0 Pakete, 0 Bytes)Anzahl Pkte Bytes Ziel Schutz Opt In Out Quelle Ziel1 0 0 Alle ablehnen -- * * 0.0.0.0/0 0.0.0.0/0 Reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT 172 packet s, 24494 bytes)num pkts bytes target prot opt ​​in out source destination[[email protected] ~]#

Port 80 in Iptables öffnen

Um HTTP-Verbindungen zu akzeptieren, müssen wir in Zeile 5 eine Regel hinzufügen und die REJECT-Zeile darunter drücken. Hier ist der Befehl dazu.

# iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

Der obige Befehl fügt in Zeile 5 eine Regel hinzu, die besagt, dass die Firewall eingehende Verbindungen auf Port 80 akzeptieren soll. Überprüfen Sie die iptables-Regeln erneut.

[[email protected] ~]# iptables --line -vnLCain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 291 23868 ACCEPT all -- * * 0.0.0.0/ 0 0.0.0.0/0 state RELATED,ETABLISHED2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/03 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/04 1 60 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 Zustand NEU tcp dpt:225 0 0 TCP AKZEPTIEREN -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Zustand NEU, EINGERICHTET6 286 38524 ABLEHNEN alle -- * * 0.0.0.0/0 0.0.0.0/0 Reject-with icmp-host-prohibitedChain FORWARD (Policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt ​​in out source destination1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 Reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT 4 packets, 608 bytes)num pkts bytes target prot opt ​​in out source destination[[email protected] ~]# 

Jetzt haben wir die neue TCP-Port-80-Regel in Zeile #5 und somit ist der HTTP-Port jetzt vom äußeren Netzwerk aus zugänglich.

Speichern Sie die iptables-Regeln

Mit den neuen Regeln ist Port 80 jetzt offen, aber diese Änderung ist vorübergehend und iptables würde zu den vorherigen Regeln zurückkehren, wenn der Server neu gestartet wird.

Um es dauerhaft zu machen, führen Sie den Befehl iptables save aus.

[[email protected] ~]# service iptables saveiptables:Speichern von Firewall-Regeln in /etc/sysconfig/iptables:[ OK ]

Die neuen Regeln werden in der Datei /etc/sysconfig/iptables gespeichert .

So sieht die Datei aus:

# Generiert von iptables-save v1.4.7 am Freitag, 25. Oktober, 10:33:46 2013*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [39:6956]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT# Abgeschlossen am 25. Okt. 10:33:46 2013

Jetzt ist die Änderung dauerhaft.

Alternativ könnten Sie die iptables-Konfigurationsdatei direkt bearbeiten und iptables neu starten, und die gleiche Änderung würde wirksam werden.

[[email protected] ~]# Dienst iptables restartiptables:Firewall-Regeln leeren:[ OK ]iptables:Ketten zur Richtlinie setzen ACCEPT:Filter [ OK ]iptables:Module entladen:[ OK ]iptables:Firewall-Regeln anwenden:[ OK ][[email protected] ~]#

Schlussfolgerung

Das war ein kurzes Beispiel dafür, wie man einen bestimmten Port in iptables öffnet, um ihn zugänglich zu machen. Um mehr über iptables zu erfahren, sehen Sie in den Manpages nach, indem Sie den Befehl „man iptables“ in Ihrem Terminal ausführen, oder schauen Sie hier online nach:

https://linux.die.net/man/8/iptables
Cent OS
  1. Leitfaden zum Öffnen von Ports in CentOS

  2. So öffnen Sie Ports auf Iptables in einem Linux-Server

  3. So öffnen Sie Ports in Ubuntu und CentOS mit IPtables

  4. CentOS / RHEL :Wie finde ich heraus, ob ein Netzwerkport offen ist oder nicht?

  5. So öffnen Sie Port 2195 in iptables CentOS 6 zum Aktivieren des APNS

So öffnen Sie HTTP-Port 80 in Redhat Linux mit Firewall-cmd

So öffnen und schließen Sie Ports unter RHEL 8 / CentOS 8 Linux

So installieren Sie Iptables unter CentOS 7

So aktivieren Sie SSH auf CentOS

So konfigurieren Sie die Iptables-Firewall unter CentOS

So installieren Sie Open Web Analytics unter CentOS 7