Linux’ta Firewalld’ye Giriş: Dinamik Güvenlik Duvarı Yönetimi
Firewalld, Linux için çekirdek düzeyindeki paket filtreleme arka uçları iptables ve nftables üzerinde dinamik, bölge tabanlı bir arayüz sağlayan bir kullanıcı alanı güvenlik duvarı yönetim daemon’udur. Kural değişikliklerini uygulamak için tam servis yeniden başlatması gerektiren statik güvenlik duvarı araçlarının aksine, Firewalld netfilter kurallarını anında değiştirir — aktif TCP oturumlarını korur ve politika güncellemeleri sırasında kesinti süresini ortadan kaldırır.
Bu kılavuz, Firewalld’ın her operasyonel katmanını kapsar: mimari modeli, bölge ve servis soyutlamaları, zengin kurallar, çalışma zamanı ile kalıcı yapılandırma karşılaştırması ve bir üretim sunucusunu güvenli şekilde yönetmek için ihtiyaç duyduğunuz tam komutlar.
Firewalld Neden Statik iptables İş Akışlarının Yerini Aldı
Geleneksel iptables yönetimi, kuralları kabuk betiklerine veya düz yapılandırma dosyalarına yazmak ve bir değişiklik gerektiğinde tüm kural setini temizleyip yeniden yüklemek anlamına gelir. Yoğun bir sunucuda, bu temizle-ve-yeniden-yükle döngüsü aktarım halindeki bağlantıları keser ve filtrelemenin aktif olmadığı kısa bir pencere oluşturur.
Firewalld bunu, yetkili kural durumunu tutan ve değişiklikleri çekirdeğe artımlı olarak ileten D-Bus etkinleştirilmiş bir daemon (firewalld) aracılığıyla çözer. Sonuç, sıfır bağlantı kesintisiyle atomik kural güncellemeleridir — veritabanları, VPN tünelleri veya uzun ömürlü API bağlantıları gibi kalıcı iş yükleri çalıştıran herhangi bir sunucu için kritik öneme sahiptir.
Bir VPS Hosting ortamı sağladığınızda ve yeniden başlatmadan veya servisleri kesintiye uğratmadan güvenliği sıkılaştırmanız gerektiğinde, Firewalld RHEL ailesi ve pek çok Debian ailesi dağıtımında doğal operasyonel seçimdir.
Temel Mimari: Firewalld Çekirdekle Nasıl Etkileşime Girer
Firewalld’ın altındaki yığını anlamak, yanlış yapılandırmayı önler ve beklenmedik davranışları ayıklamanıza yardımcı olur.
User Space
┌─────────────────────────────────────────────┐
│ firewall-cmd / firewall-config / D-Bus API │
└────────────────────┬────────────────────────┘
│ D-Bus
┌────────────────────▼────────────────────────┐
│ firewalld daemon │
│ (zone engine, service definitions, rich │
│ rule parser, direct rule passthrough) │
└────────────────────┬────────────────────────┘
│ nftables / iptables backend
Kernel Space
┌────────────────────▼────────────────────────┐
│ netfilter (kernel module) │
└─────────────────────────────────────────────┘RHEL 8 ve Fedora 32’den itibaren Firewalld varsayılan olarak nftables arka ucunu kullanır. Eski sistemlerde veya açıkça yapılandırılmış ortamlarda iptables arka ucunu kullanır. Aktif arka ucu /etc/firewalld/firewalld.conf içindeki FirewallBackend yönergesi aracılığıyla inceleyebilir veya geçersiz kılabilirsiniz.
Kritik tuzak: Aynı arayüzde Firewalld ile doğrudan iptables veya nft komutlarını asla karıştırmayın. Firewalld, oluşturduğu netfilter tablolarına sahiptir; daemon dışında eklenen manuel kurallar, bir sonraki yeniden yüklemede sessizce üzerine yazılacaktır.
Firewalld’daki Temel Kavramlar
Bölgeler
Bir bölge, bir ağ arayüzüne veya kaynak adres aralığına uygulanan adlandırılmış bir güven düzeyidir. Sisteme giren her paket, giriş arayüzüne atanan bölgeyle eşleştirilir ve bölgenin kural seti neye izin verileceğini belirler.
Firewalld, en çok izin verenden en az izin verene doğru sıralanmış aşağıdaki önceden tanımlanmış bölgelerle birlikte gelir:
| Bölge | Varsayılan Politika | Tipik Kullanım Senaryosu |
|---|---|---|
| — | — | — |
| `trusted` | Tümünü kabul et | Dahili lab ağları, geri döngü |
| `home` | Reddet, seçili servislere izin ver | Bilinen cihazlarla ev LAN’ı |
| `internal` | Reddet, seçili servislere izin ver | Dahili kurumsal ağ segmenti |
| `work` | Reddet, seçili servislere izin ver | Ofis ağı, orta düzey güven |
| `public` | Reddet, SSH/DHCPv6’ya izin ver | İnternete açık arayüzler |
| `external` | Reddet, masquerade etkin | Yönlendirici/NAT ağ geçidi dış bacağı |
| `dmz` | Reddet, SSH’a izin ver | Silahsızlandırılmış bölge sunucuları |
| `block` | ICMP yönetici-yasak ile reddet | Yanıtlı açık red |
| `drop` | Sessizce düşür | Düşmanca kaynaklar, maksimum gizlilik |
Mimari nüans: Bir bölge, bir ağ arayüzüne (örn. eth0) veya bir kaynak CIDR’ye (örn. 192.168.1.0/24) bağlanabilir. Kaynak tabanlı bağlama, arayüz tabanlı bağlamaya göre öncelik taşır; bu da aynı fiziksel arayüze farklı alt ağlardan gelen trafiğe farklı politikalar uygulamanıza olanak tanır — çok kiracılı veya konteynerleştirilmiş ortamlarda yaygın bir düzendir.
Servisler
Firewalld’daki bir servis, /usr/lib/firewalld/services/ (sistem varsayılanları) veya /etc/firewalld/services/ (kullanıcı geçersiz kılmaları) altında depolanan bir XML tanım dosyasıdır. Her dosya, adlandırılmış bir uygulama için gereken portları, protokolleri ve isteğe bağlı yardımcı modülleri bildirir.
Örneğin, https servis tanımı TCP port 443’ü açar ve ek çekirdek yardımcıları yüklemez. ftp servisi TCP port 21’i açar ve FTP veri kanalının dinamik port müzakeresini yönetmek için nf_conntrack_ftp yardımcısını yükler.
Ham port numaraları yerine servis adları kullanmak, güvenlik duvarı politikanızı kendi kendini belgeleyen hale getirir ve bir portu istemeden açık veya kapalı bırakan yazım hatası riskini azaltır.
Sisteminizdeki tüm mevcut servis tanımlarını listelemek için:
firewall-cmd --get-servicesBelirli bir servisin XML tanımını incelemek için:
cat /usr/lib/firewalld/services/https.xmlZengin Kurallar
Zengin kurallar, bölge modelini basit servis/port soyutlamasının ifade edemeyeceği koşullu mantıkla genişletir. Kaynak ve hedef adresleri, port aralıkları, protokoller, zaman pencereleri ve bağlantı durumu üzerinde eşleştirmeyi destekler; accept, drop, reject, log ve audit dahil eylemleri tetikleyebilirler.
Zengin kural sözdizimi yapılandırılmış bir dilbilgisi izler:
rule [family="ipv4|ipv6"]
[source address="addr[/mask]" [invert="true"]]
[destination address="addr[/mask]" [invert="true"]]
[service name="service-name"] | [port port="port" protocol="tcp|udp"]
[log [prefix="prefix"] [level="level"] [limit value="rate/duration"]]
[audit]
[accept|drop|reject [type="reject-type"]]Pratik bir örnek — herhangi bir tek IPv4 kaynağından SSH giriş denemelerini dakikada 3 ile sınırlandırın, ardından fazlasını kaydedin ve düşürün:
firewall-cmd --zone=public --add-rich-rule='
rule family="ipv4"
service name="ssh"
log prefix="SSH_RATELIMIT " level="warning" limit value="3/m"
accept' --permanentfirewall-cmd --zone=public --add-rich-rule='
rule family="ipv4"
service name="ssh"
drop' --permanentUç durum: Zengin kural sıralaması önemlidir. Firewalld, zengin kuralları bir bölge içinde eklendikleri sırayla değerlendirir. Belirli bir accept kuralından önce geniş kapsamlı bir drop kuralı eklerseniz, accept hiçbir zaman ulaşılamaz hale gelir. Her zaman önce daha spesifik kuralları ekleyin.
Çalışma Zamanı ile Kalıcı Yapılandırma
Bu, Firewalld’daki en operasyonel açıdan önemli ayrımdır ve en yaygın üretim hatalarının kaynağıdır.
| Boyut | Çalışma Zamanı | Kalıcı |
|---|---|---|
| — | — | — |
| Depolama konumu | Bellekte (daemon durumu) | `/etc/firewalld/` XML dosyaları |
| Ne zaman uygulanır | Hemen | `–reload` veya yeniden başlatma sonrasında |
| Yeniden başlatmadan sağ çıkar | Hayır | Evet |
| Test için güvenli | Evet | Doğrulamak için yeniden yükleme gerektirir |
| Risk | Yeniden başlatmada kaybolur | Yeniden başlatmalar arasında devam eder |
Üretim değişiklikleri için en iyi uygulama iş akışı:
- Kuralı yalnızca çalışma zamanında uygulayın (
--permanentbayrağı olmadan) ve beklenen şekilde davrandığını doğrulayın. - Doğruysa, diske yazmak için aynı kuralı
--permanentile uygulayın. - Kalıcı yapılandırmayı çalışma zamanı durumuna senkronize etmek ve eşliği onaylamak için
firewall-cmd --reloadçalıştırın.
Bu iş akışı, bir yöneticinin --permanent kuralı ekleyip yeniden yüklediğinde SSH erişimini engellediğini keşfettiği klasik senaryoyu önler — çünkü çalışma zamanı testi, kalıcı hale gelmeden önce sorunu ortaya çıkarırdı.
Firewalld’ı Yükleme ve Etkinleştirme
Firewalld, RHEL, CentOS Stream, Fedora, AlmaLinux ve Rocky Linux’ta varsayılan olarak yüklüdür. Debian ve Ubuntu’da açıkça yüklenmesi gerekir.
RHEL / CentOS Stream / AlmaLinux / Rocky Linux:
sudo dnf install firewalldDebian / Ubuntu:
sudo apt-get update && sudo apt-get install firewalldUbuntu kullanıcıları için not: ufw aktifse, çakışan netfilter kurallarını önlemek için Firewalld’ı etkinleştirmeden önce devre dışı bırakın:
sudo ufw disable
sudo systemctl disable ufwDaemon’u başlatın ve etkinleştirin:
sudo systemctl start firewalld
sudo systemctl enable firewalldDaemon’un çalıştığını ve çekirdek arka ucunun aktif olduğunu doğrulayın:
sudo firewall-cmd --state
sudo firewall-cmd --info-zone=publicTemel Firewalld Komutları
Mevcut Durumu İnceleyin
Daemon durumunu kontrol edin:
sudo firewall-cmd --stateAtanan arayüzleri ve kaynaklarıyla birlikte tüm aktif bölgeleri listeleyin:
sudo firewall-cmd --get-active-zonesBelirli bir bölge için tam kural setini görüntüleyin:
sudo firewall-cmd --zone=public --list-allTüm bölgeler için tam kural setini aynı anda görüntüleyin:
sudo firewall-cmd --list-all-zonesVarsayılan Bölgeyi Yönetin
Varsayılan bölge, açıkça başka bir bölgeye atanmamış herhangi bir arayüze uygulanır:
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=publicBir Arayüzü Bölgeye Atayın
sudo firewall-cmd --zone=internal --change-interface=eth1 --permanent
sudo firewall-cmd --reloadTuzak: NetworkManager kullanan sistemlerde, firewall-cmd aracılığıyla yapılan arayüz-bölge atamaları, yeniden bağlanmada NetworkManager bağlantı profili tarafından geçersiz kılınabilir. Bölgeyi NetworkManager bağlantısında kalıcı olarak ayarlayın:
nmcli connection modify "Wired connection 1" connection.zone internalServis Ekleme ve Kaldırma
Çalışma zamanında public bölgesinde HTTP’ye izin verin:
sudo firewall-cmd --zone=public --add-service=httpKalıcı hale getirin:
sudo firewall-cmd --zone=public --add-service=http --permanentBir servisi kaldırın:
sudo firewall-cmd --zone=public --remove-service=http --permanentBelirli Portları Açma ve Kapatma
Çalışma zamanında TCP port 8080’i açın:
sudo firewall-cmd --zone=public --add-port=8080/tcpKalıcı olarak bir UDP port aralığı açın:
sudo firewall-cmd --zone=public --add-port=60000-61000/udp --permanentBir portu kaldırın:
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanentIP Adresi İzin Listesi ve Engel Listesi
Güvenilir bir yönetim alt ağından gelen tüm trafiğe izin verin:
sudo firewall-cmd --zone=trusted --add-source=10.0.0.0/24 --permanentBelirli bir IP’den gelen tüm trafiği engelleyin (kaynak tabanlı düşürme):
sudo firewall-cmd --zone=drop --add-source=203.0.113.45/32 --permanentPort Yönlendirme
Harici TCP port 2222’yi dahili SSH port 22’ye yönlendirin (sshd_config değiştirmeden varsayılan SSH portunu gizlemek için kullanışlıdır):
sudo firewall-cmd --zone=public --add-forward-port=port=2222:proto=tcp:toport=22 --permanent
sudo firewall-cmd --reloadIP Masquerade (NAT)
Ağ geçidi olarak görev yapan bir VPS’nin özel bir alt ağdan gelen trafiği NAT yapmasına izin vermek için harici bölgede masquerade’i etkinleştirin:
sudo firewall-cmd --zone=external --add-masquerade --permanent
sudo firewall-cmd --reloadYapılandırmayı Yeniden Yükleme ve Senkronize Etme
Bağlantıları kesmeden tüm kalıcı değişiklikleri çalışan duruma uygulayın:
sudo firewall-cmd --reloadTam yeniden başlatma gerçekleştirin (tüm bağlantıları keser — yalnızca acil durumlarda kullanın):
sudo systemctl restart firewalldÖzel Bölge ve Servis Tanımları Oluşturma
Özel Bölge
sudo firewall-cmd --new-zone=management --permanent
sudo firewall-cmd --zone=management --add-source=10.10.0.0/16 --permanent
sudo firewall-cmd --zone=management --add-service=ssh --permanent
sudo firewall-cmd --zone=management --add-service=cockpit --permanent
sudo firewall-cmd --reloadÖzel Servis Tanımı
TCP 9200’de dinleyen özel bir uygulama için servis dosyası oluşturun (örn. Elasticsearch):
sudo nano /etc/firewalld/services/elasticsearch.xml<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Elasticsearch</short>
<description>Elasticsearch HTTP API and transport port</description>
<port protocol="tcp" port="9200"/>
<port protocol="tcp" port="9300"/>
</service>sudo firewall-cmd --reload
sudo firewall-cmd --zone=internal --add-service=elasticsearch --permanent
sudo firewall-cmd --reloadFirewalld ve Alternatifler: Doğru Aracı Seçmek
| Özellik | Firewalld | UFW | iptables (doğrudan) | nftables (doğrudan) |
|---|---|---|---|---|
| — | — | — | — | — |
| Dinamik kural güncellemeleri | Evet | Hayır (yeniden yükleme gerektirir) | Hayır | Hayır |
| Bölge tabanlı model | Evet | Hayır | Hayır | Hayır |
| D-Bus / API entegrasyonu | Evet | Hayır | Hayır | Hayır |
| Zengin kural / koşullu mantık | Evet | Sınırlı | Evet | Evet |
| RHEL ailesinde varsayılan | Evet | Hayır | Eski | Evet (arka uç) |
| Ubuntu’da varsayılan | Hayır | Evet | Eski | Evet (arka uç) |
| Öğrenme eğrisi | Orta | Düşük | Yüksek | Yüksek |
| Betikleme için uygun | Evet | Evet | Evet | Evet |
| GUI yönetim aracı | Evet (firewall-config) | Hayır | Hayır | Hayır |
Ölçekte Dedicated Servers yöneten ekipler için Firewalld’ın D-Bus API’si, Ansible (ansible.posix.firewalld modülü) veya Puppet gibi yapılandırma yönetim araçlarından programatik kural yönetimini mümkün kılar; bu, ham iptables betiklerini sürdürmeye kıyasla önemli bir operasyonel avantajdır.
Pratik Güvenlik Sıkılaştırma Kalıpları
Bir Web Sunucusunu Kilitleme
Bir yönetim IP’siyle kısıtlanmış SSH ile HTTPS çalıştıran bir sunucu için tipik yapılandırma:
# Set the default zone
sudo firewall-cmd --set-default-zone=public --permanent
# Allow HTTPS globally
sudo firewall-cmd --zone=public --add-service=https --permanent
# Allow HTTP only to redirect to HTTPS (optional)
sudo firewall-cmd --zone=public --add-service=http --permanent
# Restrict SSH to a specific management IP only
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
sudo firewall-cmd --zone=public --add-rich-rule='
rule family="ipv4"
service name="ssh"
source address="198.51.100.10/32"
accept' --permanent
sudo firewall-cmd --reloadBir SSL Certificates dağıtımıyla birlikte bir web sunucusu çalıştırıyorsanız, sertifika verilmeden önce port 443’ün doğru bölgede açık olduğundan emin olmak (özellikle ACME HTTP-01 veya TLS-ALPN-01 doğrulamaları için) sıklıkla gözden kaçırılan bir ön koşul adımıdır.
Bir Posta Sunucusunu Koruma
Email Hosting yığınları (Postfix, Dovecot) çalıştıran sunucular için gerekli servis seti şöyledir:
sudo firewall-cmd --zone=public --add-service=smtp --permanent
sudo firewall-cmd --zone=public --add-service=smtps --permanent
sudo firewall-cmd --zone=public --add-service=imap --permanent
sudo firewall-cmd --zone=public --add-service=imaps --permanent
sudo firewall-cmd --zone=public --add-service=pop3s --permanent
sudo firewall-cmd --reloadAdli Analiz için Düşürülen Paketleri Kaydetme
sudo firewall-cmd --zone=public --add-rich-rule='
rule family="ipv4"
log prefix="DROPPED_PUBLIC " level="warning" limit value="10/m"
drop' --permanent
sudo firewall-cmd --reloadGünlükler /var/log/messages veya systemd günlüğünde (journalctl -k -g DROPPED_PUBLIC) görünür. DDoS senaryosunda günlük taşmasını önlemek için günlük hızını sınırlayın (yukarıda gösterildiği gibi).
cPanel Yönetimli VPS’de Firewalld
VPS with cPanel kullanıyorsanız, cPanel’in kendi güvenlik duvarı katmanını (varsayılan olarak CSF/LFD) yüklediğini ve yönettiğini unutmayın. Firewalld’ı CSF ile açık koordinasyon olmadan birlikte çalıştırmak, çakışan netfilter kuralları üretecektir. Önerilen yaklaşım, sunucu başına tek bir güvenlik duvarı yönetim katmanı seçmek ve diğerini devre dışı bırakmak ya da cPanel’in gereksinimlerini entegre etmek için Firewalld’ın doğrudan kural geçiş arayüzünü kullanmaktır.
Yaygın Firewalld Sorunlarını Giderme
Sorun: --permanent ile eklenen kural geçerli değil.
Neden: Kalıcı kuralların çalışma zamanı durumuna girmesi için yeniden yükleme gerekir.
Çözüm:
sudo firewall-cmd --reloadSorun: Güvenlik duvarı değişikliğinden sonra SSH bağlantısı kesildi.
Neden: SSH servisi aktif bölgeden kaldırıldı veya accept kuralından önce bir drop zengin kuralı eklendi.
Çözüm: Sunucuya bant dışı konsol aracılığıyla erişin (hosting sağlayıcınızın VNC/KVM konsolu), ardından SSH servisini geri yükleyin:
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reloadSorun: firewall-cmd FirewallD is not running döndürüyor.
Neden: Daemon çöktü veya hiç başlatılmadı.
Çözüm:
sudo systemctl start firewalld
sudo journalctl -u firewalld -n 50Sorun: Kurallar doğru görünüyor ancak trafik hâlâ engelleniyor.
Neden: Firewalld’ın yönetilen tabloları dışında çakışan bir iptables veya nft kuralı mevcut ya da SELinux/AppArmor uygulama katmanında bağlantıyı engelliyor.
Çözüm: Manuel kuralları ve SELinux redlerini kontrol edin:
sudo iptables -L -n -v
sudo ausearch -m avc -ts recentSorun: Yeniden başlatma sonrasında arayüz beklenen bölgeye atanmıyor.
Neden: NetworkManager bağlantı profili Firewalld’ın arayüz atamasını geçersiz kılıyor.
Çözüm: Yukarıdaki arayüz atama bölümünde açıklandığı gibi bölgeyi NetworkManager profilinde ayarlayın.
Karar Matrisi ve Teknik Kontrol Listesi
Bir üretim sunucusuna Firewalld dağıtmadan önce bu kontrol listesini kullanın:
- Aktif güvenlik duvarı arka ucunu (
FirewallBackendiçindeki/etc/firewalld/firewalld.conf) çekirdeğinizin nftables/iptables desteğiyle eşleştiğini doğrulayın. - Aynı arayüzlerde çakışan güvenlik duvarı araçlarının (UFW, CSF, doğrudan
iptablesbetikleri) aktif olmadığını doğrulayın. - Her ağ arayüzünü açıkça bir bölgeye atayın — çok ağlı sunucular için yalnızca varsayılan bölgeye güvenmeyin.
- Tüm değişiklikleri önce çalışma zamanında uygulayın, bağlantıyı doğrulayın, ardından
--permanentve--reloadile kaydedin. - SSH erişimini, SSH servisini public bölgesinden kaldırmadan önce zengin kurallar aracılığıyla belirli kaynak IP’leriyle kısıtlayın.
- Herkese açık tüm kimlik doğrulama servisleri (SSH, SMTP, HTTPS giriş uç noktaları) için hız sınırlama zengin kuralları ekleyin.
- Depolama alanını doldurmadan tehdit istihbaratı yakalamak için hız sınırıyla
dropbölgesi için günlüğü etkinleştirin. - VPS Control Panels aracılığıyla yönetilen sunucular için, kısıtlayıcı bir varsayılan politika uygulamadan önce kontrol panelinin gerekli portlarının izin listesinde olduğunu doğrulayın.
firewall-cmd --reloadçalıştırarak ve tüm kritik servislerin erişilebilir kaldığını hemen doğrulayarak kalıcı yapılandırmayı test edin.- Her özel bölgeyi, zengin kuralı ve servis tanımını altyapı-kod olarak sürüm kontrolünde belgeleyin.
SSS
--reload ile sudo systemctl restart firewalld arasındaki fark nedir?
--reload, kalıcı yapılandırma değişikliklerini kurulu bağlantıları kesmeden çalışan daemon’a uygular. systemctl restart ise daemon sürecini tamamen yeniden başlatır; bu, tüm netfilter kurallarını temizler ve aktif bağlantıları kısa süreliğine kesintiye uğratır. Üretim sistemlerinde her zaman --reload tercih edin.
Firewalld ve iptables aynı sunucuda bir arada bulunabilir mi?
Aynı arayüzde güvenli bir şekilde değil. Firewalld kendi netfilter zincirlerini yönetir; aynı zincirleri değiştiren doğrudan iptables komutları, bir sonraki Firewalld yeniden yüklemesinde üzerine yazılacaktır. Özel kurallar eklemeniz gerekiyorsa, bunun yerine Firewalld’ın --direct arayüzünü veya zengin kuralları kullanın.
Çalışma zamanı kuralını yeniden yazmadan kalıcı hale nasıl getirebilirim?
Tüm çalışma zamanı kurallarını tek adımda kalıcıya yükseltmek için yerleşik bir komut yoktur. Doğru iş akışı, her kuralı iki kez uygulamaktır — test için --permanent olmadan, ardından kalıcılık için --permanent ile — bunu --reload takip eder. Alternatif olarak, mevcut çalışma zamanı durumunu diske anlık görüntülemek için firewall-cmd --runtime-to-permanent kullanın (Firewalld 0.9+’da mevcuttur).
NetworkManager yeniden bağlanmasından sonra bölge atamam neden sıfırlanıyor?
NetworkManager, bölge atamalarını kendi bağlantı profillerinde saklar. Bir firewall-cmd --change-interface ataması, NetworkManager’ın üzerine yazabileceği bir çalışma zamanı geçersiz kılmasıdır. Atamayı nmcli connection modify <profile-name> connection.zone <zone> ile kalıcı hale getirin.
Firewalld IPv6’yı destekliyor mu?
Evet. Firewalld, IPv4 ve IPv6 netfilter kurallarını aynı anda yönetir. Zengin kurallar, özellikle IPv6 trafiğini hedeflemek için family="ipv6" özniteliğini gerektirir. Bölge ve servis kuralları, servis tanımı veya zengin kural kapsamı kısıtlamadığı sürece varsayılan olarak her iki adres ailesine de uygulanır.
