Come aprire la porta per un indirizzo IP specifico in Firewalld

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 server Red Hat Enterprise Linux (RHEL) o CentOS?

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

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

Apri la porta per un indirizzo IP specifico in Firewalld

Prima 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, ricaricare le impostazioni firewalld per applicare la nuova modifica. Se si salta questo passaggio, è possibile che venga visualizzato un errore quando si tenta di utilizzare il nuovo nome della zona. Questa volta, la nuova zona dovrebbe apparire nell’elenco delle zone come evidenziato nella schermata seguente.

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

Quindi, aggiungere l’indirizzo IP di origine (10.24.96.5/20) e la porta (3306) che si desidera aprire sul server locale come mostrato. Quindi ricaricare le impostazioni 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, è possibile consentire il traffico dall’intera rete (10.24.96.0/20) a un servizio o una porta.

# 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 aggiunto sopra, controllare i suoi dettagli con il seguente comando.

# firewall-cmd --zone=mariadb-access --list-all 
Visualizza Dettagli Zona Firewalld
Visualizza dettagli Zona Firewalld

Rimuovi porta e zona da Firewalld

È possibile rimuovere l’indirizzo IP o la rete di origine 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 firewalld:

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

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

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

Ultimo ma non elenco, puoi anche usare le regole ricche 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'