Firewall grafico

Salve,
dovrei fare un port forwarding da una scheda di rete ad un indirizzo ip, ma con firewall grafico non riesco a capire come fare.
Qualcuno sa come fare?
Grazie
Sergio

Non so che firewall grafico tu stia usando; se vuoi usare un firewall testuale, prova a guardare firewalld, che dovrebbe essere incluso in fedora.

Questo ad es. e’ per aprire una porta:

port="1234/tcp"
if ! firewall-cmd -q --query-port "$port"; then
  # configure new rule
  firewall-cmd --permanent --add-port "$port"
  # activate rule if firewalld is running
  if firewall-cmd -q --state; then
    firewall-cmd --reload
  fi
fi

Non ho capito cosa tu voglia fare pero’…

Ciao Bebo,
Ho usato questo per forwardare le porte


Non so se ho fatto bene il forwarding.
Una cosa,
Ho tre schede di rete. In questo caso si applica alla scheda enps31f6, giusto?
Sergio

In pratica devo far entrare una macchina da una scheda di rete tramite le porte 9022, 9161 e 9080 e connetterle alle porte 22, 161 e 80 di una macchina interna. Questo per non disturbare eventuali servizi nelle porte ssh, http e 161 del server

Questo pero’ presuppone che la rete dove hai la scheda enp0s31f6 (attenzione allo 0) sia NAT-tata rispetto alla rete da cui vuoi accedere alle porte 9022. (Immagino di si, vedendo che e’ una rete 192.168.1.0/16)

Adesso ti funziona?
Riesci a visualizzare il webserver parlando con la porta 9080 del router/server? Hai aperto la porta 80 nel firewall della macchina 192.168.1.164?
Se vuoi solo testare che funzioni, puoi tirare su un “finto webserver” ad es vai sulla 192.168.1.164 e digiti in un terminale:

PORT=80; while true ; do nc -l -p $PORT -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"'; done

Questo crea un “servizio” che risponde con la data attuale a qualunque richiesta http venga fatta sulla porta $PORT.
Se riesci a vedere la data vuol dire che il firewall e’ aperto correttamente.

Ora che mi ci fai pensare credo che sia un problema di scheda.
Ti faccio un riassunto delle tre schede.

enp0s31f6:

Indirizzo IP 192.168.0.2
MASK: 255.255.255.0
gateway IP 192.168.1.2

enp1s0:

indirizzo IP 192.168.1.2
MASK 255.255.255.0
gateway IP 141.250.121.168

enp2s0:

Indirizzo IP 141.250.121.168
mask 255.255.255.0
gateway 141.250.121.3

devo collegare un computer esterno ad una macchina interna che è 192.168.1.161 (si, ho corretto il firewall) ma non posso farla passare per la connessione 141.250.121.168
Ho un altro accesso che sfrutto un po meno che è quello della scheda enp0s31f6 che è collegata con un router tim. Sul router ho provveduto a forwardare le porte tanto in ingresso come in uscita direttamente verso il computer 192.168.0.2 (enp0s31f6) il quale, quando arrivano a lui, le deve indirizzare al computer 192.168.1.161

Stando all’interno della rete chiaramente la macchina mi risponde perchè non ho un firewall all’interno, solo alla macchina che guarda verso l’esterno e quindi ci arrivo non tramite la porta 9022 ma tramite la porta 22.
L’alzamento delle porte ha un duplice scopo:

  1. se sniffano sulle porte canoniche non vedono il servizio
  2. se invece c’è un servizio, questo probabilmente ha degli usi prestabiliti, alzandolo invece, so che andranno solo alle macchine che voglio io.

Ho provato a schematizzare il tuo problema, vedi qua:


Confermi?

Se quella e’ la tua situazione, ci sono delle domande: come e’ esposta la rete 192.168.1.0/24? Viene “nattata” dietro l’IP 192.168.0.2? Oppure quella rotta e’ esposta anche al router tim?
Se la .1. e’ NAT-tata, devi fare giochi di apertura porte come stai gia’ facendo.
Se invece la .1. e’ esposta anche sulla rete .0., significa che qualunque device su quella rete puo’ parlare con un device sulla .1.; questo significa che nel router tim devi semplicemente dire di fare il redirect della 9022 esterna verso 192.168.1.164, e il tuo server in mezzo fara’ il routing come gia’ ruota altri pacchetti.

Fammi sapere

si, la situazione è questa. Devo entrare dalla scheda 0.2 e forwardare al computer 1.164

Non hai risposto alla mia domanda, senza la quale non si va avanti.

Scusa bebo
no, la 192.168.1.0/24 viene nattata dietro IP 141.250.121.168.
La 192.168.0.0/24 l’ho fatta per poter far entrare senza passare da 141.250.121.168.

Ok, allora “teoricamente” dovrebbe bastare un redirect come hai fatto te.
Qual e’ il problema? non ti funzionano?
Debugga pezzo per pezzo casomai: dal router/modem TIM o da un altro device sulla 192.168.0.0/24 se parli con la 9022 ti risponde il server sulla 192.168.1.161:22?
Altrimenti testa che il router/modem TIM sia configurato correttamente cercando di parlare con un servizio sul tuo server all’indirizzo 192.168.0.2:12345 (ad es il netcat di sopra con PORT=12345, o un semplice python3 -m http.server 12345).

Casomai posta anche:

# firewall-cmd --get-active-zones
# firewall-cmd --get-default-zone

Credo il problema sia del mascheramento.
Come puoi vedere ho anche una scheda virtuale con indirizzo ip 192.168.3.1 con la quale posso comunicare verso gli indirizzi 192.168.1.X.
Per farfe una prova, ho attaccato un computer al router tim che mi ha dato un indirizzo ip della stessa classe della scheda 192.168.0.X (avevo il 192.168.0.220) ma non c’è stato verso di andare a vedere computer della classe 192.168.1.X. E’ vero anche che le richieste però venivano fatte al 192.168.0.1 (router tim) non verso il 192.168.0.2. In effetti quando entro con la vpn le richieste vendono fatte verso la scheda 192.168.3.1 che ha il mascheramento… Boh. tanto, per l’urgenza che avevo ho fatto con teamviewer, ma mi piacerebbe scoprire come si fa…

bash-4.3$ firewall-cmd --get-active-zones
trusted
  interfaces: tun0
FedoraWorkstation
  interfaces: enp2s0 enp1s0 enp0s31f6

La rete 192.168.1.X è nattata dietro questo computer. Però in pratica non ci sono altri computer, solo il router tim e il computer con indirizzo 192.168.0.2. Il router ha tutte le porte che mi servono, dirottate verso 192.168.0.2 (il gateway)

Questo perche’ il router TIM quando ti da l’IP dinamico tramite DHCP (nel tuo caso il .0.220), non e’ istruito per fornire ai device anche la rotta per la .1.0/24.
Se guardi con route -n sul device connesso vedrai solamente due rotte: una per parlare con le macchine della .0.0/24 e una per parlare con il resto del mondo (il famoso default gateway) impostato al router TIM sull’IP .0.1.
Se da questo computer sulla .0.0/24 setti una rotta per .1.0/24 o cambi il default gateway a mano/da Network Manager grafico impostandolo all’IP .0.2, e il server centrale e’ configurato anche per fare da router e “ruotare” pacchetti da una rete all’altra, allora dovresti riuscire a parlare con le macchine sulla .1.0/24 senza magheggi di porte forwardate; la cosa migliore sarebbe spiegare al router TIM di aggiungere alle rotte che invia ai client che si connettono anche la rotta .1.0/24, facendo passare pacchetti tramite l’IP .0.2, ma dubito che si possa fare con il firmware di base fornito.
(Se hai mai usato una VPN ben configurata e dai un route -n vedrai come aggiunge rotte dove ci sia bisogno)

Tornando al problema: dal computer .0.220 giustamente non puoi “navigare” la rete .1.0/24 liberamente, pero’ se il server centrale e’ ben configurato dovresti poter contattare il servizio ssh parlando con 192.168.0.2 alla porta 9022, e similmente anche il servizio http.
Confermi?

Se questo funziona, c’e’ un problema sul router TIM.

Si, al primo punto è giusto, in effetti dovevo inserire come gateway non 0.1 ma 0.2
Il problema secondo me sta nella configurazione non del router tim il quale forwarda le porte verso il computer 192.168.0.2
immagine
ma da questo poi non c’è forwarding e il cambiamento delle porte al computer destinatario.

Quando scrivevo questo post, mi è balenata l’idea di cambiare il gateway della scheda del computer da 0.1 a 1.2, cioè la scheda di rete nella quale sono le macchine che dovrei raggiungere.
Fatto ciò sono andato tramite un’altra uscita a chiamare il router tim per vedere se instrada giusto, ma, nonostante il ping funziona, la richiesta http alla porta 9080 non mi risponde, anzi, mi diceva che il sito non è raggiungibile. Ma le porte sul router tim, si aprono se sono utilizzate o non è possibile fare nulla?

Non sto capendo piu’ niente…

Risolviamo un pezzo alla volta:

Confermi?

Aspetta che imposto il tutto

ci sono
Ho fatto un collegamento con un portatile tra il computer gateway e il router tim, in pratica 192.168.0.200 che ha però come gateway il 192.168.0.2 (il gateway che smista) che per quella scheda ha come gate il 192.168.1.2 (l’altra scheda montata). Dal portatile ho chiesto ssh al 192.168.1.161 sia da porta 22 (per vedere se c’era collegamento) che da porta 9022. Tutte e due mi ha risposto, significa che il port forwarding dal computer gateway funziona. Il problema allora credo sia da attribuire al router tim. Ma quando faccio il port forwarding, apre le porte che gli dico?

Attenzione… se setti il default gw facendolo puntare al server in mezzo, significa che tutti i pacchetti delle reti diverse dalla .0.0/24 vengono inviati al server centrale, compresi i .1.0/24.
Quindi in questo modo puoi contattare direttamente il server 192.168.1.168:22 (e va bene come test), ma non stai testando il NAT, che non rispecchia lo stato dei pacchetti che arrivano dal router TIM (perche’ il router TIM non avra’ di sicuro modo di poter aggiungere una nuova rotta .1.0/24 usando il firmware di default, ma potrei sbagliarmi).

Quindi il test che serve a noi e’ contattare 192.168.0.2:9022 ma senza aggiungere rotte speciali o cambiare il def gw, per “emulare” il router TIM.
Confermi che attaccando un computer/device sulla .0.0/24, SENZA modificare le rotte, riesci a parlare con il server ssh con:

$ ssh 192.168.0.2:9022

?

Se questo funziona, allora il problema e’ del router TIM e di qualche casino di port forwarding. Ho gia’ visto firmware di default fatti a c**o, non mi stupirebbe se anche questo fosse uno di quelli.