CentOS 7'de güvenlik duvarı bağlantı noktasını aç


339

CentOS 7 kullanıyorum ve 2888 ve 3888 bağlantı noktalarının açık olduğundan emin olmalıyım.

Bu makaleyi okudum ama bu işe yaramadı çünkü CentOS 7 işletim sisteminde iptables savekomut yok .

Birisi yukarıda URL CentOS 7 için geçerli değildir ve ben izleyin gerektiğini söyledi bu . Ama bu makale tam olarak hangi komutu yürütmem gerektiği konusunda net değil.

Bende buldum

firewall-cmd --zone=public --add-port=2888/tcp 

ancak bu yeniden başlatılamaz.

Peki limanları nasıl açabilirim ve yeniden başlatmayı nasıl başlatabilirim?


Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı gibi görünüyor çünkü programlama veya geliştirme ile ilgili değil. Yardım Merkezi'nde hangi konular hakkında soru sorabilirim konusuna bakın . Belki Süper Kullanıcı veya Unix & Linux Stack Exchange sormak için daha iyi bir yer olurdu.
jww

Yanıtlar:


653

Etkin bölgelerinizi bulmak için bu komutu kullanın:

firewall-cmd --get-active-zones

Kamuoyu, dmz veya başka bir şey söyleyecektir. Yalnızca gerekli bölgelere başvurmalısınız.

Kamuoyu denemesi durumunda:

firewall-cmd --zone=public --add-port=2888/tcp --permanent

Ardından değişikliklerin etkili olması için güvenlik duvarını yeniden yüklemeyi unutmayın.

firewall-cmd --reload

Aksi takdirde, örneğin bölgeniz dmz ise, bölgeniz için herkese açık olarak değiştirin:

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent

29
Ben bu komutu kullanılır ama benim için işe yaramadı, ne yaptığını, değişen oldu --zone=dmziçin--zone=public
Tom Hall

2
Evet, kamuoyunu kullanmak da yararlıdır. Düzeltme için lütfen Sotsir'in aşağıdaki komutunu da kontrol edin.
ganeshragav

23
Buradaki ilk iki cevaptan hiçbiri aslında ne yaptığını açıklamıyor --permanent, sadece bunu söylemek istiyorlar. Cevabın nasıl çalıştığı açıklanırsa her ikisi de daha eksiksiz ve yararlı cevaplar olacaktır. OP'nin kaynaklarından birinden: "Kurallar - kalıcı seçenek [...] eklenerek kalıcı hale getirilebilir. Kurallar kalıcı değilse, başlatma, yeniden başlatma veya yeniden yükleme iletisini aldıktan sonra her seferinde uygulanması gerekir. D-BUS kullanarak firewalld. "
dKen

9
Doğru bölgeye ulaşana kadar tüm bölgelerdeki portları körü körüne etkinleştirmeyin, lütfen. firewall-cmd --get-active-zonesSisteminizde hangi bölgenin kullanıldığını bulmak için kullanın . Ayrıca, adam güvenlik duvarı-cmd.
basic6

1
Fedora belgelerini okurken bunu belirtir The --permanent option needs to be the first option for all permanent calls. Yukarıdakileri kullanarak herhangi bir hata alamadım, ancak bunun başka birine sorun yaratabileceğinden emin değilim.
Marc

113

Ganeshragav'ın cevabı doğrudur, ancak kullanabileceğinizi bilmek de yararlıdır:

firewall-cmd --permanent --zone=public --add-port=2888/tcp 

ancak bilinen bir hizmetse şunları kullanabilirsiniz:

firewall-cmd --permanent --zone=public --add-service=http 

ve sonra güvenlik duvarını yeniden yükleyin

firewall-cmd --reload

[Cevap Martin Peter'ın yorumunu yansıtacak şekilde değiştirildi, orijinal cevap --permanentkomut satırının sonunda vardı ]


8
İfadenin --permanentsonundaki seçeneği kullanmaya güvenmem . Belgeler açıkça birinci seçenek olması gerektiğine dikkat çekiyor.
Martin Peter

1
@MartinPeter makinemde man firewall-cmdböyle bir belirti vermiyor (Fedora 21).
Jonathon Reinhart

@JonathonReinhart Fedora'nın Güvenlik DuvarıD Wiki'den bahsediyorum : The --permanent option needs to be the first option for all permanent calls.
Martin Peter

Bana çalışmayan güvenlik duvarı veriyor
Rahul Tathod

50

CentOS (RHEL) 7, Güvenlik Duvarını firewall-cmd, Genel, Ev ve Özel ağların Windows sürümü gibi bir bölge kavramına sahip olacak şekilde değiştirdi . Hangisini kullanmanız gerektiğini düşündüğünüzü bulmak için buraya bakmalısınız. EL7 publicvarsayılan olarak kullanır , bu nedenle aşağıdaki örneklerim bunu kullanır.

Hangi bölgeyi kullandığınızı kontrol edebilir firewall-cmd --list-allve değiştirebilirsiniz firewall-cmd --set-default-zone=<zone>.

Daha sonra, bir hizmete (veya bağlantı noktasına) hangi bölgenin izin verileceğini bileceksiniz:

firewall-cmd --permanent --zone=<zone> --add-service=http

firewall-cmd --permanent --zone=<zone> --add-port=80/tcp

Bağlantı noktasının gerçekten açılıp açılmadığını aşağıdakileri çalıştırarak kontrol edebilirsiniz:

firewall-cmd --zone=<zone> --query-port=80/tcp

firewall-cmd --zone=<zone> --query-service=http

Belgelere göre ,

Kalıcı modda güvenlik duvarı ayarlarında değişiklik yaparken seçiminiz yalnızca güvenlik duvarını yeniden yüklediğinizde veya sistem yeniden başlatıldığında geçerli olur.

Sen ile güvenlik duvarı ayarlarını yeniden yükleyebilirsiniz: firewall-cmd --reload.


26

Fedora, aracılığıyla yaptı iptables

sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
sudo service iptables save

Çalışıyor gibi görünüyor


23

Açık bağlantı noktalarını görüntülemek için aşağıdaki komutu kullanın.

firewall-cmd --list-ports

Bağlantı noktaları açık olan hizmetleri görmek için aşağıdakileri kullanırız.

firewall-cmd --list-services

Bağlantı noktaları açık olan hizmetleri ve açık bağlantı noktalarını görmek için aşağıdakileri kullanırız

firewall-cmd --list-all

Güvenlik duvarına bir hizmet eklemek için aşağıdaki komutu kullanırız; bu durumda servis, güvenlik duvarında açmak için herhangi bir bağlantı noktasını kullanır.

firewall-cmd --add-services=ntp 

Bu hizmetin kalıcı olarak açılması için aşağıdaki komutu kullanıyoruz.

firewall-cmd —add-service=ntp --permanent 

Bağlantı noktası eklemek için aşağıdaki komutu kullanın

firewall-cmd --add-port=132/tcp  --permanent

Güvenlik duvarını çalıştırmak için aşağıdaki komut kullanılarak yeniden yüklenmelidir.

firewall-cmd --reload

Ya Ali


"Güvenlik duvarı-cmd -add-service = ntp - kalıcı" değerinin üstünde "güvenlik duvarı-cmd --add-service = ntp - kalıcı" olarak değiştirilmelidir
Maduranga Siriwardena 24:18

14

İken ganeshragav ve Sotsir doğru ve doğrudan uygulanır yaklaşımlar sağlamak, bu kendi hizmetlerini ekleyebileceğiniz nota yararlıdır /etc/firewalld/services. İlham almak için /usr/lib/firewalld/services/firewalld'in önceden tanımlanmış hizmetlerinin bulunduğu yere bakın.

Bu yaklaşımın avantajı, daha sonra hizmet dosyasında açıkladığınız gibi, bu bağlantı noktalarının neden açık olduğunu bilmenizdir. Ayrıca, artık yazım hatası riski olmadan herhangi bir bölgeye uygulayabilirsiniz. Ayrıca, hizmetteki değişikliklerin tüm bölgelere ayrı ayrı uygulanması gerekmez, yalnızca hizmet dosyasına uygulanır.

Örneğin, aşağıdakileri oluşturabilirsiniz /etc/firewalld/services/foobar.xml:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>FooBar</short>
  <description>
    This option allows you to create FooBar connections between
    your computer and mobile device. You need to have FooBar
    installed on both sides for this option to be useful.
  </description>
  <port protocol="tcp" port="2888"/>
  <port protocol="tcp" port="3888"/>
</service>

(Sözdizimi hakkında bilgi için bunu yapın man firewalld.service.)

Bu dosya oluşturulduktan sonra, dosyanın kullanılabilir olmasını sağlayabilir firewall-cmd --reloadve ardından kalıcı olarak bir bölgeye kalıcı olarak ekleyebilirsiniz.

firewall-cmd --permanent --zone=<zone> --add-service=foobar

ve firewall-cmd --reloadhemen aktif hale getirmek için.


6

Açık bağlantı noktalarını görüntülemek için aşağıdaki komutu kullanın:

firewall-cmd --list-ports

Bağlantı noktaları açık olan hizmetleri görmek için aşağıdakileri kullanırız:

firewall-cmd --list-services

Bağlantı noktaları açık olan hizmetleri ve açık bağlantı noktalarını görmek için aşağıdakileri kullanırız:

firewall-cmd --list-all

Güvenlik duvarına bir hizmet eklemek için aşağıdaki komutu kullanırız; bu durumda hizmet, güvenlik duvarında açmak için herhangi bir bağlantı noktasını kullanır:

firewall-cmd --add-services=ntp 

Bu hizmetin kalıcı olarak açılması için aşağıdaki komutu kullanırız:

firewall-cmd -add-service=ntp --permanent 

Bağlantı noktası eklemek için aşağıdaki komutu kullanın:

firewall-cmd --add-port=132/tcp  --permanent

4

Buradaki en iyi cevaplar işe yarıyor, ancak Michael Hampton'un ilgili bir soruya verdiği cevapta daha zarif bir şey buldum . Çalışma zamanı kuralları oluşturmanıza ve bunları kalıcı hale getirmeden önce test etmenize olanak tanıyan "yeni" (firewalld-0.3.9-11 +) --runtime-to-permanentseçeneği firewall-cmd:

$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent

Veya yalnızca çalışma zamanı değişikliklerini geri almak için:

$ firewall-cmd --reload

Ayrıca Antony Nguyen'ın yorumuna bakın . Görünüşe göre firewall-cmd --reload, kuralların kaldırıldığı bazı durumlarda düzgün çalışmayabilir. Bu durumda, firewalld hizmetinin yeniden başlatılmasını önerir:

$ systemctl restart firewalld

1

Centos 7 FIrewalld içinde izin verilecek birden fazla bağlantı noktanız varsa, aşağıdaki komutu kullanabiliriz.

#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent

#firewall-cmd --reload


And check the Port opened or not after reloading the firewall.


#firewall-cmd --list-port


For other configuration [Linuxwindo.com][1]

0

Centos 6 veya önceki sürümlerde olduğu gibi iptables servisini biliyorsanız, manuel kurulum ile iptables servisini kullanabilirsiniz:

adım 1 => epel deposunu yükle

yum install epel-release

adım 2 => iptables servisini yükle

yum yüklemek iptables-services

Adım 3 => Firewalld hizmetini durdur

systemctl stop firewalld

Adım 4 => Başlangıçta Firewalld hizmetini devre dışı bırak

systemctl ateşlemeyi devre dışı bırak

adım 5 => iptables servisini başlat

systemctl başlangıç ​​iptables

adım 6 => başlangıçta iptables özelliğini etkinleştir

systemctl iptables etkinleştir

nihayet iptables yapılandırmanızı / etc / sysconfig / iptables adresinden düzenleyebilirsiniz.

Yani -> kuralı düzenle -> yeniden yükle / yeniden başlat.

firewalld gibi aynı işleve sahip eski centos gibi.


0

Firewalld iptables gazisi için biraz sezgisel değil. Kolay yapılandırılabilir bir ağaçta iptables benzeri sözdizimine sahip iptables tabanlı bir güvenlik duvarını tercih edenler için, firewalld'i fwtree ile değiştirmeyi deneyin: https://www.linuxglobal.com/fwtree-f esnek-linux-tree-based-firewall/ ve sonra aşağıdakileri yapın:

 echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
 systemctl reload fwtree 

0

Merhaba Centos 7 güvenlik duvarı-cmd. Firewall-cmd --zone = public --add-port = 2888 / tcp kullanıyorsanız, ancak firewal firewall-cmd --reload öğesini yeniden yüklerseniz evet düzeltin

yapılandırmanız kaydedilmeyecek

anahtar eklemelisin

güvenlik duvarı-cmd - kalıcı - bölge = genel - add-port = 2888 / tcp

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.