Korzystam z CentOS 7 i muszę się upewnić, że porty 2888 i 3888 są otwarte.
Przeczytałem ten artykuł, ale to nie zadziałało, ponieważ w systemie operacyjnym CentOS 7 nie ma iptables save
polecenia.
Ktoś powiedział mi, że powyższy adres URL nie jest prawidłowy dla CentOS 7. I powinienem to zrobić . Ale ten artykuł nie wyjaśnia mi dokładnie, jakie polecenie muszę wykonać.
Też znalazłem
firewall-cmd --zone=public --add-port=2888/tcp
ale to nie przetrwa restartów.
Jak mogę otworzyć porty i sprawić, by przetrwały restarty?
Odpowiedzi:
Użyj tego polecenia, aby znaleźć aktywne strefy:
Powie „public”, dmz lub coś innego. Powinieneś ubiegać się tylko o wymagane strefy.
W przypadku publicznego spróbuj:
Następnie pamiętaj, aby ponownie załadować zaporę, aby zmiany zaczęły obowiązywać.
W przeciwnym razie zastąp publiczną strefę, na przykład jeśli twoja strefa to dmz:
źródło
--zone=dmz
na--zone=public
--permanent
robi, po prostu mówią, aby to zrobić. Oba byłyby bardziej kompletnymi i przydatnymi odpowiedziami, gdyby wyjaśniono, jak działa odpowiedź. Z jednego z zasobów PO: „Reguły można ustawić na stałe, dodając opcję --permanent [...]. Jeśli reguły nie są trwałe, należy je stosować za każdym razem po otrzymaniu komunikatu start, restart lub przeładowanie z zapory ogniowej za pomocą D-BUS. ”firewall-cmd --get-active-zones
aby dowiedzieć się, która strefa jest używana w twoim systemie. Ponadto, man firewall-cmd.The --permanent option needs to be the first option for all permanent calls
. Nie otrzymałem żadnego błędu przy użyciu powyższego, ale nie jestem pewien, czy może to powodować problemy dla kogoś innego.Odpowiedź ganeshragav jest prawidłowa, ale warto również wiedzieć, że możesz użyć:
ale jeśli jest to znana usługa, możesz użyć:
a następnie ponownie załaduj zaporę
[Odpowiedź zmodyfikowana w celu odzwierciedlenia komentarza Martina Petera, oryginalna odpowiedź miała
--permanent
na końcu wiersza poleceń]źródło
--permanent
opcji na końcu instrukcji. Dokumentacja wyraźnie wskazuje, że powinna to być pierwsza opcja.man firewall-cmd
nie podaje takich informacji na moim komputerze (Fedora 21).The --permanent option needs to be the first option for all permanent calls.
CentOS (RHEL) 7 zmienił zaporę ogniową,
firewall-cmd
która ma pojęcie stref przypominające wersję Windows publicznych, domowych i prywatnych sieci. Powinieneś zajrzeć tutaj, aby dowiedzieć się, którego z nich powinieneś użyć. EL7 używapublic
domyślnie, więc tego używają moje poniższe przykłady.Możesz sprawdzić, z której strefy korzystasz
firewall-cmd --list-all
i zmienić jąfirewall-cmd --set-default-zone=<zone>
.Będziesz wtedy wiedział, w której strefie zezwalać na usługę (lub port):
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Możesz sprawdzić, czy port rzeczywiście został otwarty, uruchamiając:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
Zgodnie z dokumentacją ,
Można przeładować ustawienia zapory z:
firewall-cmd --reload
.źródło
Fedora, zrobiła to za pośrednictwem
iptables
Wydaje się działać
źródło
Aby wyświetlić otwarte porty, użyj następującego polecenia.
Korzystamy z poniższych, aby zobaczyć usługi, których porty są otwarte.
Korzystamy z poniższych, aby zobaczyć usługi, których porty są otwarte i zobaczyć porty otwarte
Aby dodać usługę do zapory, używamy następującego polecenia, w którym to przypadku usługa użyje dowolnego portu do otwarcia w zaporze.
Aby ta usługa była trwale otwarta, używamy następującego polecenia.
Aby dodać port, użyj następującego polecenia
Aby uruchomić zaporę ogniową, należy ją ponownie załadować za pomocą następującego polecenia.
Ya Ali
źródło
Chociaż ganeshragav i Sotsir zapewniają prawidłowe i bezpośrednio stosowane podejścia, warto zauważyć, że możesz dodawać własne usługi
/etc/firewalld/services
. Aby uzyskać inspirację, zobacz/usr/lib/firewalld/services/
, gdzie znajdują się predefiniowane usługi firewalld.Zaletą tego podejścia jest to, że później dowiesz się, dlaczego te porty są otwarte, jak opisano to w pliku usługi. Możesz także zastosować go do dowolnej strefy bez ryzyka literówek. Ponadto zmiany w usłudze nie będą musiały być stosowane do wszystkich stref osobno, ale tylko do pliku usługi.
Na przykład możesz utworzyć
/etc/firewalld/services/foobar.xml
:(Aby uzyskać informacje o składni, wykonaj
man firewalld.service
.)Po utworzeniu tego pliku możesz
firewall-cmd --reload
go udostępnić, a następnie na stałe dodać do jakiejś strefy za pomocąa następnie,
firewall-cmd --reload
aby od razu było aktywne.źródło
Aby wyświetlić otwarte porty, użyj następującego polecenia:
Korzystamy z następujących usług, aby zobaczyć usługi, których porty są otwarte:
Używamy następujących danych, aby zobaczyć usługi, których porty są otwarte i zobaczyć porty otwarte:
Aby dodać usługę do zapory, używamy następującego polecenia, w którym to przypadku usługa użyje dowolnego portu do otwarcia w zaporze:
Aby ta usługa była trwale otwarta, używamy następującego polecenia:
Aby dodać port, użyj następującego polecenia:
źródło
Najlepsze odpowiedzi tutaj działają, ale znalazłem coś bardziej eleganckiego w odpowiedzi Michaela Hamptona na powiązane pytanie. Opcja „nowa” (firewalld-0.3.9-11 +)
--runtime-to-permanent
, którafirewall-cmd
pozwala tworzyć reguły wykonawcze i testować je, zanim zostaną trwałe:Lub, aby cofnąć zmiany tylko w środowisku wykonawczym:
Zobacz także komentarz Antony'ego Nguyena . Najwyraźniej firewall-cmd --reload może nie działać poprawnie w niektórych przypadkach, gdy reguły zostały usunięte. W takim przypadku sugeruje ponowne uruchomienie usługi zapory ogniowej:
źródło
Jeśli masz wiele portów, na które zezwalasz w Centos 7 FIrewalld, możemy użyć następującego polecenia.
źródło
Jeśli znasz serwis iptables, taki jak w Centos 6 lub wcześniejszym, nadal możesz korzystać z serwisu iptables, instalując ręcznie:
krok 1 => zainstaluj repozytorium epel
krok 2 => zainstaluj usługę iptables
krok 3 => zatrzymaj usługę zapory ogniowej
krok 4 => wyłącz zaporę ogniową podczas uruchamiania
krok 5 => uruchom usługę iptables
krok 6 => włącz iptables podczas uruchamiania
w końcu możesz teraz edytować konfigurację iptables na / etc / sysconfig / iptables.
Więc -> edytuj regułę -> przeładuj / uruchom ponownie.
lubię starsze centos z taką samą funkcją jak firewalld.
źródło
Firewalld jest nieco nieintuicyjny dla weterana iptables. Dla tych, którzy wolą zaporę napędzaną przez iptables o składni podobnej do iptables w łatwym do konfigurowania drzewie, spróbuj zamienić firewalld na fwtree: https://www.linuxglobal.com/fwtree-f Flexible-linux-tree-based-firewall/, a następnie wykonaj następujące czynności:
źródło
Witaj w Centos 7 firewall-cmd. Tak, poprawne, jeśli używasz firewall-cmd --zone = public --add-port = 2888 / tcp, ale jeśli przeładujesz firewall firewall-cmd --reload
Twoja konfiguracja nie zostanie zapisana
musisz dodać klucz
firewall-cmd --permanent --zone = public --add-port = 2888 / tcp
źródło