RHEL7'de ateş etmek için koşmanın bir yolu var mı?


11

RHEL7'yi kullanmaya başlıyorum ve systemd ile gelen değişiklikler hakkında biraz öğreniyorum.

/sbin/service iptables saveFirewalld'de performans göstermenin bir yolu var mı ?

$ /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

Belgelerden bulabildiğim en yakın paralel --reload:

Reload the firewall without loosing state information:
$ firewall-cmd --reload

Ancak tasarruf edip etmediğini açıkça söylemiyor.

Yanıtlar:


21

RHEL 7.0'daki firewalld sürümünde "save" komut dosyası ve çalışan güvenlik duvarı yapılandırmasını kalıcı yapılandırmaya kopyalamanın bir yolu yoktur. Değişikliği --permanentyapan komut satırına ekleyerek firewalld ile bir güvenlik duvarı değişikliğini kaydedersiniz. Bu olmadan, yaptığınız değişiklikler geçicidir ve sistem yeniden başlatıldığında kaybolacaktır.

Örneğin:

firewall-cmd --add-service=http                 # Running config
firewall-cmd --add-service=http --permanent     # Startup config

Firewalld'in sonraki (RHEL 7 sonrası) sürümleri, çalışan yapılandırmayı kaydetmenin bir yolunu içerir ve bu artık Fedora ve RHEL 7.1'de mevcuttur . Bu durumda komut basitçe:

firewall-cmd --runtime-to-permanent

2
Michael Hampton'un yorumuna devam etmek için, "güvenlik duvarı-cmd - çalışma zamanı-kalıcı" komutunu çalıştırdıktan sonra firewalld hizmetini ("systemctl restart firewalld") yeniden başlatmam gerektiğini, özellikle de iptables üzerinden bazı kuralları elle kaldırmak zorunda kaldıktan sonra. Firewalld bazı kuralları önbelleğe alır gibi görünür, bu nedenle "firewall-cmd --reload" firewalld'den "--runtime-permanent" komutu ile kaldırılması gereken kuralları yeniden başlatabilir.
Antony Nguyen

2
--Runtime-permanent komutunun sekme tamamlandığında görünmediğini, ancak aslında orada olduğunu (CentOS 7.5 sisteminde test edildiğini) unutmayın.
dodexahedron

@AntonyNguyen, firewalld kuralları yönetirken iptables komutlarını kullanmamalısınız. FIrewalld'in değişikliği bilmesinin bir yolu yoktur (periyodik olarak yoklaması gerekir ve btw. Nftables tarafından sabitlenen tasarımı nedeniyle güvenlik duvarının performansını öldürür) 'güvenlik duvarı-cmd --direct --passthrough ipv4 -A İLERİ ... -j DAMLA '
AdamKalisz

0

SIP hizmeti ve bazı IP'ler eklemem gerekiyordu

/ usr / lib / firewalld / services / dizinine diğer xml hizmet dosyalarını temel alarak sip.xml ekledim .

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SIP</short>
  <description>This is SIP, Yo! </description>
  <port protocol="udp" port="5060"/>
</service>

Sonra bir firewalld için yudum servisi ekledim

# firewall-cmd --add-service=sip --permanent 

Sonra /etc/firewalld/zones/public.xml içinde hizmete IP'ler ekledim

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description></description>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>

  <rule family="ipv4">
    <source address="x.x.x.x/32"/>
    <service name="sip"/>
    <accept/>
  </rule>

</zone>

günlük düzeyi eklerseniz LOG'u da ekleyebilirsiniz

  <rule family="ipv4">
    <source address="x.x.x.x/32"/>
    <service name="sip" 
    <log prefix="sip" level="info"/>
    <accept/>
  </rule>

bölgenize kurallar ekledikten sonra,

# firewall-cmd --reload

iptables kontrol - hepiniz ayarlanmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.