Puncte:0

Scriptul CentOS firewall-cmd pentru a permite accesul numai de la IP-urile enumerate în surse

drapel id

Folosesc acest script pentru a-mi configura firewall. Mă așteptam să am acces ssh de la un singur IP, dar nu este cazul după testare. Ce lipseste?

#!/bin/bash
#
# Resetați la instalarea inițială a firewalld
#
rm -f /etc/firewalld/zones/*
firewall-cmd --complete-reload
firewall-cmd --runtime-to-permanent
firewall-cmd --reîncărcare
#
# Creați / Configurați o zonă personalizată
#
firewall-cmd --new-zone calzone --permanent
firewall-cmd --reîncărcare
firewall-cmd --zone=calzone --add-service={ssh,dhcpv6-client}
firewall-cmd --zone=calzone --add-source=10.0.0.177
firewall-cmd --change-interface enp1s0 --zone calzone --permanent
firewall-cmd --runtime-to-permanent
firewall-cmd --reîncărcare

Când rulez: firewall-cmd --get-active-zones primesc următoarele

calzone
  interfețe: enp1s0
  surse: 10.0.0.177

Am înțeles că setarea interfeței va direcționa mai întâi tot traficul de la acea interfață către acea zonă și, deoarece există intrări în surse, traficul ar fi limitat la acele IP-uri. Multumesc anticipat.

Ca răspuns la comentariul lui Nasir, această comandă firewall-cmd --list-all-zones | sed -n '/calzone/,/rich/p' produce:

calzone (activ)
  target: implicit
  icmp-block-inversion: nu
  interfețe: enp1s0
  surse: 10.0.0.177
  servicii: dhcpv6-client ssh
  porturi:
  protocoale:
  înainte: nu
  mascarada: nu
  porturi înainte:
  porturi sursă:
  icmp-blocks:
  reguli bogate:

De asemenea, am repornit firewall-ul deamon și am putut ssh de la 10.0.0.188 Mă așteptam la acces doar de la 10.0.0.177

drapel cn
Aceasta este ieșirea corectă. Vă așteptați să listeze porturile, serviciile etc.? Nu asta se întâmplă. Dacă doriți să faceți totul în zona activă, atunci utilizați următoarea comandă: `firewall-cmd --list-all-zones | sed -n '/calzone/,/rich/p'`
Puncte:0
drapel id

După multe ore în care am citit documentația RedHat firewalld și am fost persistent în scrierea unui script, am reușit să obțin comportamentul pe care mi-l doream. Cu toate acestea, nu sunt 100% încrezător, deoarece încă nu sunt clar de ce nu a funcționat setarea interfeței. Cu toate acestea, acest script pare să funcționeze. Am folosit zona de lucru existentă care pare să devină activă atunci când i-am adăugat o sursă.

#!/bin/bash
#
# Resetați la instalarea inițială a firewalld
#
rm -f /etc/firewalld/zones/*
firewall-cmd --complete-reload
firewall-cmd --runtime-to-permanent
firewall-cmd --reîncărcare
systemctl reporniți firewalld
starea systemctl firewalld
#
# Eliminați serviciile din toate zonele
#  
# iterează prin zonele implicite
pentru zona în drop block public extern dmz work home intern de încredere
do
# iterați prin serviciile implicite
    pentru srv în $(firewall-cmd --list-services --zone=$zonă)
    do
      echo „Se elimină serviciul $srv din $zonă”
      firewall-cmd --zone=$zonă --remove-service=$srv
      firewall-cmd --zone=$zonă --remove-service=$srv --permanent
    Terminat
Terminat
#
# Renunțați la tot traficul public?
# Permiteți zonei de lucru să vadă ssh de la gazdă
#
firewall-cmd --zone=public --set-target=DROP --permanent
firewall-cmd --zone=work --add-source=10.0.0.177 --permanent
firewall-cmd --zone=work --add-service=ssh --permanent
firewall-cmd --runtime-to-permanent
firewall-cmd --reîncărcare
systemctl reporniți firewalld
starea systemctl firewalld

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.