Come posso consentire il traffico da un indirizzo IP specifico nella mia rete privata o consentire il traffico da una rete privata specifica attraverso firewalld, a una porta o un servizio specifico su un file Red Hat Enterprise Linux (RHEL) o CentOS server?

In questo breve articolo imparerai come aprire una porta per uno specifico indirizzo IP o intervallo di rete nel tuo server RHEL o CentOS che esegue un firewalld firewall.

Il modo più appropriato per risolvere questo problema è utilizzare un file firewalld zona. Quindi, è necessario creare una nuova zona che conterrà le nuove configurazioni (oppure è possibile utilizzare una qualsiasi delle zone sicure predefinite disponibili).

Porta aperta per indirizzo IP specifico in Firewalld

Per prima cosa crea un nome di zona appropriato (nel nostro caso, abbiamo usato mariadb-access per consentire l’accesso al server di database MySQL).

# firewall-cmd --new-zone=mariadb_access --permanent

Quindi, ricarica il file firewalld impostazioni per applicare la nuova modifica. Se salti questo passaggio, potresti ricevere un errore quando provi a utilizzare il nuovo nome della zona. Questa volta, la nuova zona dovrebbe apparire nell’elenco delle zone come evidenziato nello screenshot seguente.

# firewall-cmd --reload
# firewall-cmd --get-zones
Seleziona Firewalld Zone
Seleziona Firewalld Zone

 

Successivamente, aggiungi l’indirizzo IP di origine (10.24.96.5/20) e il porto (3306) che desideri aprire sul server locale come mostrato. Quindi ricaricare le impostazioni di firewalld per applicare le nuove modifiche.

# firewall-cmd --zone=mariadb-access --add-source=10.24.96.5/20 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp  --permanent
# firewall-cmd --reload
Porta aperta per IP specifico in Firewalld
Porta aperta per IP specifico in Firewalld

In alternativa, puoi consentire il traffico dall’intera rete (10.24.96.0/20) a un servizio o porto.

# firewall-cmd --zone=mariadb-access --add-source=10.24.96.0/20 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
# firewall-cmd --reload

Per confermare che la nuova zona ha le impostazioni richieste come aggiunte sopra, verificarne i dettagli con il seguente comando.

# firewall-cmd --zone=mariadb-access --list-all 
Visualizza i dettagli della zona di Firewalld
Visualizza i dettagli della zona di Firewalld

Rimuovi porta e zona da Firewalld

È possibile rimuovere l’indirizzo IP di origine o la rete come mostrato.

# firewall-cmd --zone=mariadb-access --remove-source=10.24.96.5/20 --permanent
# firewall-cmd --reload

Per rimuovere la porta dalla zona, eseguire il seguente comando e ricaricare le impostazioni di firewalld:

# firewall-cmd --zone=mariadb-access --remove-port=3306/tcp --permanent
# firewall-cmd --reload

Per rimuovere la zona, eseguire il comando seguente e ricaricare le impostazioni di firewalld:

# firewall-cmd --permanent --delete-zone=mariadb_access
# firewall-cmd --reload

Ultimo ma non elenco, puoi anche utilizzare regole avanzate di firewalld. Ecco un esempio:

# firewall-cmd --permanent –zone=mariadb-access --add-rich-rule="rule family="ipv4" source address="10.24.96.5/20" port protocol="tcp" port="3306" accept"

Riferimento: Utilizzo e configurazione di firewalld nella documentazione di RHEL 8.

Questo è tutto! Ci auguriamo che le soluzioni di cui sopra abbiano funzionato per te. Se sì, faccelo sapere tramite il modulo di feedback qui sotto. Puoi anche fare domande o condividere commenti generali su questo argomento.

Esegui l'accesso per Commentare