Zainstalowałem CentOS 7 z minimalną konfiguracją (narzędzia os + dev). Próbuję otworzyć port 80 dla httpd
usługi, ale coś jest nie tak z moją usługą iptables ... co jest z nią nie tak? Co ja robię źle?
# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory
# /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.
# sudo service iptables status
Redirecting to /bin/systemctl status iptables.service
iptables.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
# /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.
# sudo service iptables start
Redirecting to /bin/systemctl start iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.
networking
centos
iptables
systemd
Meiblorn
źródło
źródło
Odpowiedzi:
Wraz z RHEL 7 / CentOS 7 wprowadzono firewalld do zarządzania iptables. IMHO, firewalld jest bardziej odpowiedni dla stacji roboczych niż dla środowisk serwerowych.
Można wrócić do bardziej klasycznej konfiguracji iptables. Najpierw zatrzymaj i zamaskuj usługę zapory:
Następnie zainstaluj pakiet iptables-services:
Włącz usługę podczas rozruchu:
Zarządzanie usługą
Zapisywanie reguł zapory sieciowej można wykonać w następujący sposób:
lub
źródło
RHEL i CentOS 7 używają firewall-cmd zamiast iptables . Powinieneś użyć tego rodzaju polecenia:
Następnie możesz przeładować reguły, aby upewnić się, że wszystko jest w porządku
Jest to lepsze niż używanie iptable-save, zwłaszcza jeśli planujesz używać kontenerów lxc lub docker. Uruchomienie usług Dockera spowoduje dodanie reguł, o które podpowie polecenie iptable-save. Jeśli zapiszesz wynik, będziesz mieć wiele reguł, których NIE należy zapisywać. Ponieważ kontenery Dockera mogą zmienić ich adresy IP przy następnym uruchomieniu.
Do tego lepiej nadaje się firewall-cmd z opcją trwałą.
Zaznacz „man firewall-cmd” lub w oficjalnej dokumentacji firewalld, aby zobaczyć opcje. Jest wiele opcji do sprawdzenia stref, konfiguracji, jak to działa ... strona man jest naprawdę kompletna.
Zdecydowanie odradzam używanie usługi iptables od czasu Centos 7
źródło
Miałem problem z ponownym uruchomieniem iptables.
To naprawiło:
źródło
# systemctl start iptables
dajeFailed to start iptables.service: Unit not found.
i# systemctl start ip6tables
dajeFailed to start ip6tables.service: Unit not found.
Wypróbuj następujące polecenie
iptables-save
.źródło
iptables-save > /etc/sysconfig/iptables
Zmodyfikowałem
/etc/sysconfig/ip6tables-config
plik zmieniający się:Do:
I to:
Do:
Wydawało się, że zapisuje zmiany, które wprowadziłem za pomocą poleceń iptables podczas ponownego uruchamiania.
źródło
Umieść konfigurację IPtables w tradycyjnym pliku, a zostanie ona załadowana po uruchomieniu:
/ etc / sysconfig / iptables
źródło
W zeszłym miesiącu próbowałem skonfigurować iptables na kontenerze LXC VM, ale za każdym razem po ponownym uruchomieniu konfiguracja iptables nie była ładowana automatycznie.
Jedynym sposobem, aby to działało, było uruchomienie następującego polecenia:
źródło
Aby dodać, powinieneś być w stanie zrobić to samo dla ip6tables po uruchomieniu
systemctl mask firewalld
polecenia:źródło
Jeśli to zrobisz i używasz fail2ban, musisz włączyć odpowiednie filtry / akcje:
Umieść następujące wiersze
/etc/fail2ban/jail.d/sshd.local
Włącz i uruchom fail2ban:
Źródła: http://blog.iopsl.com/fail2ban-on-centos-7-to-protect-ssh-part-ii/
źródło