Unter Linux ist die Firewall unerlässlich, um den eingehenden und ausgehenden Netzwerkverkehr zu kontrollieren. Es ist sehr einfach, IP-Adressen und Ports über die Firewall zuzulassen oder zu blockieren. Hier sind die Befehle zum Zulassen oder Blockieren von IP-Adressen und Ports mit verschiedenen Firewalls.
Firewall
Firewalld ist ein Firewall-Verwaltungstool im Linux-Betriebssystem. Es wird mit XML-Dateien konfiguriert. Wir können die Befehlszeilenschnittstelle von firewall-cmd verwenden, um Firewall-Regeln zu konfigurieren und zu manipulieren.
- Eingehenden Datenverkehr über Port 80 zulassen. Der folgende Befehl lässt Datenverkehr für Port 80 zu.
# sudo firewall-cmd --zone=public --add-port=80/tcp
- Eingehenden Port 80 in der permanenten Firewall zulassen.
# sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
- Ausgehenden Port Nummer 25 verweigern. Der folgende Befehl blockiert alle ausgehenden Verbindungen von Port 25.
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp -d 127.0.0.1 --dport=25 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport=25 -j REJECT
# firewall-cmd --reload - Eingehenden Port Nummer 80 ablehnen. Der folgende Befehl wird den gesamten Datenverkehr für Port 80 ablehnen.
# sudo firewall-cmd --remove-port=80/tcp --permanent
- Führen Sie den folgenden Befehl aus, um eine IP-Adresse in Firewalld zu blockieren. Ersetzen Sie 173.248.192.11 durch Ihre IP-Adresse.
# sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='173.248.192.11' reject"
- Port für die spezifische IP-Adresse in Firewalld öffnen. Fügen Sie die Quell-IP-Adresse und den Port (3306) hinzu, den Sie auf Ihrem lokalen Linux-Server öffnen möchten. Laden Sie danach die Firewalld-Einstellungen neu, um die Änderungen zu übernehmen.
# firewall-cmd --zone=mariadb-access --add-source=173.248.192.11 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
# firewall-cmd --reload
IPtables
Iptables verwenden eine Reihe von Tabellen mit Ketten, die eine Reihe integrierter oder benutzerdefinierter Regeln enthalten. Mithilfe dieser Regeln können wir den Netzwerkverkehr auf Linux-Rechnern filtern.
- Führen Sie den folgenden Befehl aus, um alle eingehenden HTTP-Verbindungen (Port 80) zuzulassen.
# sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Der zweite Befehl lässt den ausgehenden Datenverkehr bestehender HTTP-Verbindungen zu, was erforderlich ist, wenn die Ausgangsrichtlinie nicht auf ACCEPT gesetzt ist.
# sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT - Führen Sie den folgenden Befehl aus, um mehrere eingehende Ports zuzulassen. Der folgende Befehl akzeptiert Datenverkehr von den Ports 22, 53 und 80.
# /sbin/iptables -A INPUT -p tcp --match multiport --dports 22,53,80 -j ACCEPT
- Verweigern Sie den eingehenden Port 80 mit IPtables. Der folgende Befehl verweigert alle eingehenden Verbindungen für Port 80.
# /sbin/iptables -A OUTPUT -p tcp --dport 80 -j DROP
# /sbin/service iptables save - Blockieren Sie eine IP-Adresse in IPtables. Ersetzen Sie 173.248.192.11 durch Ihre IP-Adresse.
# sudo iptables -A INPUT -s 173.248.192.11 -j DROP
- Port für bestimmte IP-Adresse in IPtables öffnen. Eingehendes SSH von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zulassen.
# sudo iptables -A INPUT -p tcp -s 173.248.192.11 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
UFW – Unkomplizierte Firewall
UFW ist auch als unkomplizierte Firewall bekannt. Es ist für Host-basierte Firewalls geeignet. Es unterstützt sowohl IPv4 als auch IPv6.
- Eingehenden Port 80 zulassen. Der folgende Befehl lässt den gesamten Datenverkehr von Port 80 zu.
# sudo ufw allow 80
- Mehrere eingehende Ports zulassen. Der folgende Befehl lässt den eingehenden Datenverkehr von den Ports 53, 80 und 443 zu.
# sudo ufw allow 53,80,443
- Eingehenden Port 80 ablehnen. Der folgende Befehl wird den gesamten eingehenden Datenverkehr für Port 80 ablehnen.
# sudo ufw deny 22
- Abgehenden Port 25 ablehnen. Der folgende Befehl wird den gesamten ausgehenden Datenverkehr von Port 25 ablehnen.
# sudo ufw deny out 25
- Blockiere eine IP-Adresse in UFW. Sie können jede IP-Adresse für eingehenden Datenverkehr auf Ihrem Computer blockieren.
# sudo ufw deny from 173.248.192.11
- Port für bestimmte IP-Adresse in UFW öffnen. Der folgende Befehl öffnet Port 80 für die erwähnte IP-Adresse. Sie können es durch Ihre IP-Adresse ersetzen.
# sudo ufw allow from 173.248.192.11 to any port 80