Soru RHEL7'de sadece güvenlik duvarı ile çalışmanın bir yolu var mı?


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

Gerçekleştirmenin bir yolu var mı /sbin/service iptables save güvenlik duvarında 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.

Dokümantasyondan bulabildiğim en yakın paralel --reload:

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

Ancak, tasarruf edip etmediği açıkça söylenmez.


8
2018-03-12 10:13


Menşei




Cevaplar:


RHEL 7.0'daki firewalld sürümünün "kaydetme" betiği yoktur ve çalışan güvenlik duvarı yapılandırmasını kalıcı yapılandırmaya kopyalamanın bir yolu yoktur. Firewall ekleyerek güvenlik duvarı değişikliği kaydedersiniz --permanent Değişiklik yapmak için komut satırına. Bu olmadan, yaptığınız herhangi bir değişiklik 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

Daha sonra (post-RHEL 7) firewalld sürümleri, çalışan konfigürasyonu kaydetmenin bir yolunu içerir ve bu, şimdi Fedora'da mevcuttur ve RHEL 7.1’de. Bu durumda komut basitçe:

firewall-cmd --runtime-to-permanent

15
2018-03-12 11:00



Michael Hampton'ın yorumuna devam etmek için, güvenlik duvarı kurallarının doğru bir şekilde kaydedilebilmesi için "firewall-cmd - runtime-to-permanent" komutunu çalıştırdıktan sonra güvenlik duvarı hizmetini ("systemctl firewalld'yi yeniden başlat") yeniden başlatmam gerektiğini öğrendim. iptables yoluyla bazı kuralları manuel olarak kaldırdıktan sonra. Görünüşe göre firewalld bazı kuralları önbelleğe alır, böylece bir "firewall-cmd --reload", "--runtime-to-permanent" komutuyla kaldırılması gereken güvenlik duvarı kurallarını yeniden kurabilir. - Antony Nguyen
-Runtime-to-permanent komutunun sekme tamamlandığını göstermediğini unutmayın, ancak aslında orada (CentOS 7.5 sisteminde test edilmiştir). - dodexahedron


SIP servisi ve bazı IP'leri eklemem gerekiyordu.

/ usr / lib / firewalld / services dizininde ekledim sip.xml diğer xml hizmet dosyalarına dayanmaktadır.

<?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 güvenlik duvarına yudum servisi ekledim

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

Daha sonra /etc/firewalld/zones/public.xml adresinde hizmete IP 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üğe kaydetme düzeyini eklerseniz, LOG 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, yürütme

# firewall-cmd --reload

iptables'lerinizi kontrol edin - tüm sette olmalısınız.


0
2017-08-22 01:41