GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie iptables mit CentOS 7

Beginnend mit Red Hat® Enterprise Linux® (RHEL) 7 und CentOS® 7 ist firewalld für die Verwaltung von iptables verfügbar. Daher müssen Sie entweder firewall-cmd verwenden oder deaktivieren Sie firewalld und aktivieren Sie iptables. Dieser Artikel zeigt Ihnen, wie Sie das klassische iptables-Setup verwenden.

Beenden und maskieren Sie den Firewalld-Dienst

Führen Sie die folgenden Befehle aus, um den Firewalld-Dienst zu stoppen und zu maskieren, den Sie nicht verwenden möchten:

$ systemctl stop firewalld
$ systemctl mask firewalld

Installieren und konfigurieren Sie iptables

Führen Sie die folgenden Schritte aus, um iptables zu installieren und zu konfigurieren:

  1. Installieren Sie die iptables-services Paket (falls es noch nicht installiert ist), indem Sie den folgenden Befehl ausführen:

    $ yum install iptables-services
    
  2. Aktivieren Sie den Dienst so, dass er beim Booten gestartet wird, indem Sie die folgenden Befehle ausführen:

    $ systemctl enable iptables
    $ systemctl enable ip6tables
    
  3. Fügen Sie als Nächstes iptables-Regeln hinzu. Sie können dies auf eine der folgenden Arten tun:

    • Über die Befehlszeilenschnittstelle (CLI) durch Ausführen ähnlicher Befehle wie iptables -I INPUT ...

    • Durch Erstellen oder Bearbeiten Ihrer /etc/sysconfig/iptables Datei so aussehen, dass sie ähnlich aussieht wie im folgenden einfachen Beispiel, das die Ports 22 und 80 offen lässt:

      $ cat /etc/sysconfig/iptables
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [214:43782]
      -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -j REJECT --reject-with icmp-port-unreachable
      COMMIT
      
      $cat /etc/sysconfig/ip6tables
      
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [214:43782]
      -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
      COMMIT
      
  4. (Optional ) Wenn Sie Ihre Regeln in den /etc/sysconfig/ip{,6}tables speichern Dateien müssen Sie außerdem die folgenden Befehle ausführen:

    $ systemctl restart iptables
    $ systemctl restart ip6tables
    
  5. Überprüfen Sie als Nächstes, ob der iptables-Dienst aktiv ist, indem Sie die folgenden Befehle ausführen:

    $ systemctl status iptables
    $ systemctl status ip6tables
    
  6. Überprüfen Sie Ihre iptables-Regeln, indem Sie die folgenden Befehle ausführen:

    $ iptables -L
    $ ip6tables -L
    
  7. Überprüfen Sie, ob Ihr Server die von Ihnen geöffneten Ports abhört (22 und 80 im obigen Beispiel), indem Sie den folgenden Befehl ausführen:

    $ netstat -plant
    
  8. Fragen Sie das systemd ab journal für ein Protokoll der Änderungen, die Sie am iptables-Dienst vorgenommen haben, indem Sie die folgenden Befehle ausführen:

    $ journalctl -f -u iptables.service
    $ journalctl -f -u ip6tables.service
    
  9. Starten Sie den Server neu. Die iptables-Regeln sollten gespeichert und automatisch neu geladen werden.


Linux
  1. Wie ich Vagrant mit libvirt verwende

  2. So verwenden Sie Salt auf Centos 8

  3. Können Sie Anker ^ $ mit Ls verwenden?

  4. Centos – Ausgehende Verbindungen mit Iptables blockieren?

  5. Verwenden Sie eine IP-Kamera mit webRTC

So installieren und verwenden Sie Ruby on Rails mit PostgreSQL unter CentOS 7

DRBD mit MySQL Centos 8

So installieren Sie Python 2.7 unter CentOS 7.1 oder 6.7 mit Anaconda

So installieren Sie Drupal auf CentOS 7 mit Apache

So installieren Sie WordPress auf CentOS 7.1 mit Apache

So sperren Sie Ihren CentOS-Server mit IPTables