firewalld je výchozí program brány firewall, který je předinstalován v systému Red Hat Enterprise Linux a jeho odvozených distribucích Linuxu, jako je AlmaLinux.
Ve výchozím nastavení je firewall zapnutý, což znamená, že velmi omezený počet služeb může přijímat příchozí provoz. Toto je pěkná bezpečnostní funkce, ale znamená to, že uživatel musí mít dostatečné znalosti, aby nakonfiguroval firewall, kdykoli instaluje do systému novou službu, jako je například HTTPD nebo SSH. V opačném případě se k těmto službám nedostanou připojení z internetu.
Namísto úplného deaktivace firewallu na AlmaLinuxu můžeme povolit určité porty přes firewall, což umožňuje příchozím připojením dosáhnout našich služeb. V této příručce uvidíme, jak povolit port přes bránu firewall na AlmaLinuxu. Neváhejte a sledujte, zda jste čerstvě nainstalovali AlmaLinux nebo migrovali z CentOS na AlmaLinux.
V tomto tutoriálu se naučíte:
- Jak povolit port nebo službu přes bránu firewall na AlmaLinux
- Jak znovu načíst bránu firewall, aby se změny projevily
- Jak zkontrolovat, jaké porty a služby jsou otevřené ve bráně firewall
- Jak zavřít port poté, co byl nakonfigurován jako otevřený
- Příklady příkazů pro povolení nejběžnějších portů přes bránu firewall

Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | AlmaLinux |
Software | firewall |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak povolit port přes firewall na AlmaLinux
Chcete-li povolit porty nebo služby přes firewall na AlmaLinuxu, postupujte podle níže uvedených pokynů krok za krokem. Uvidíte také, jak zkontrolovat otevřené porty, které firewall nakonfiguroval.
- Při kontrole otevřených portů brány firewall v systému RHEL 8 / CentOS 8 Linux je důležité vědět, že porty brány firewall lze otevřít dvěma hlavními různými způsoby. Za prvé, port brány firewall lze otevřít jako součást předem nakonfigurované služby. Vezměte si tento příklad, kde otevíráme port pro
HTTP
public
zóna.# firewall-cmd --zone=public --add-service=http --permanent
Přidání služby HTTP do firewallu je samozřejmě ekvivalentem otevření portu
80
. - Zadruhé, porty lze otevřít přímo jako uživatelské předdefinované porty. Vezměte si tento příklad, kde otevřeme port
8080
.# firewall-cmd --zone=public --add-port 8080/tcp --permanent
Protože 8080 nemá přidruženou službu, je nutné, abychom uvedli číslo portu, nikoli název služby, pokud chceme tento port otevřít.
- Chcete-li zkontrolovat, které porty služeb jsou otevřené, spusťte následující příkaz.
# firewall-cmd --zone=public --list-services cockpit dhcpv6-client http https ssh
Výše uvedené služby (cockpit, DHCP, HTTP, HTTPS a SSH) mají otevřená příslušná čísla portů.
- Chcete-li zkontrolovat, která čísla portů jsou otevřená, použijte tento příkaz.
# firewall-cmd --zone=public --list-ports 20/tcp 8080/tcp
Výše uvedené porty,
20
a8080
, jsou otevřeny příchozímu provozu. - Až povolíte portům a službám přes bránu firewall, budeme muset bránu firewall znovu načíst, aby se změny projevily. Všechna pravidla s
--permanent
se nyní stane součástí konfigurace runtime. Pravidla bez této možnosti budou zahozena.# firewall-cmd --reload
- Seznam všech otevřených služeb a portů můžeme zobrazit také pomocí
--list-all
volba.# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: cockpit dhcpv6-client http ssh ports: 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
- Všimněte si, že firewalld funguje se zónami. V závislosti na zóně, kterou vaše síťová rozhraní používají, možná budete muset přidat povolený port do této konkrétní zóny. První krok výše ukazuje, jak přidat pravidlo do „veřejné“ zóny. Chcete-li zobrazit pravidla konkrétně pro tuto zónu, pokračujte pomocí
--zone=
syntaxe.# firewall-cmd --list-all --zone=public public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: cockpit dhcpv6-client http ssh ports: 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
- V případě, že potřebujete zavřít jeden z dříve nakonfigurovaných otevřených portů, můžete použít následující syntaxi příkazu. V tomto příkladu zavřeme port pro HTTPS.
# firewall-cmd --zone=public --permanent --remove-service=https
To je vše. Chcete-li se dozvědět více o firewallu a firewall-cmd
Linux, podívejte se na naši specializovanou příručku o úvodu do firewalld a firewall-cmd.
Příklady běžných portů
Použijte níže uvedené příkazy jako snadnou referenční příručku pro povolení některých nejběžnějších služeb přes firewall na AlmaLinuxu.
- Povolit HTTP přes firewall.
# firewall-cmd --zone=public --add-service=http --permanent
- Povolit HTTPS přes firewall.
# firewall-cmd --zone=public --add-service=https --permanent
- Povolte MySQL přes firewall.
# firewall-cmd --zone=public --add-service=mysql --permanent
- Povolte SSH přes firewall.
# firewall-cmd --zone=public --add-service=ssh --permanent
- Povolit DNS přes firewall.
# firewall-cmd --zone=public --add-service=dns --permanent
- Povolte PostgreSQL přes firewall.
# firewall-cmd --zone=public --add-service=postgresql --permanent
- Povolit telnet přes firewall.
# firewall-cmd --zone=public --add-service=telnet --permanent
Úvahy na závěr
V této příručce jsme viděli, jak povolit port nebo službu přes bránu firewall na AlmaLinuxu. To zahrnovalo použití příkazu firewall-cmd spojeného s firewalld, což usnadňuje proces, jakmile známe správnou syntaxi, kterou je třeba použít. Viděli jsme také několik příkladů povolení mnoha nejběžnějších služeb přes bránu firewall. Nezapomeňte věnovat zvláštní pozornost tomu, na jakou zónu použijete nová pravidla.